:root {
  --color-deep-navy: #0a2240;
  --color-harbor-blue: #305e80;
  --color-electric-blue: #00a9e0;
  --color-blue-horizon: #6fb1c8;
  --color-accent-blue: #9cb9c9;
  --color-fog: #c7ccd2;
  --color-mist: #e3e7ec;
  --color-ink: #181616;
  --color-stone: #9d9d9d;
  --color-paper: #f1f1f1;
  --color-ash: #dbdbdb;
  --color-wellwater: #71c5e8;
  --color-steel-mist: #5b6670;
  --color-cool-gray: #d9d9d6;
  --color-white: #ffffff;
  --color-slate-dark: #4a4d52;
  --color-slate-mid: #939b9d;
  --color-slate-cool: #8a929e;
  --color-surface: #f5f6f8;
  --color-dusk-blue: #5e86a0;
  --color-slate-blue: #6b7a8f;
  --color-linen: #e8e8e6;
  --color-whisper: #f0f0f0;
  --color-marine-blue: #144977;
  --font-family: 'Manrope', system-ui, sans-serif;
  --font-size-body: 1.6rem;
  --font-size-small: 1.4rem;
  --line-height-body: 1.25;
  --line-height-heading: 1.02;
  --spacing: 8rem;

  --page-padding: clamp(1.6rem, 4vw, 4.8rem);
}

html {
  box-sizing: border-box;
  font-size: 62.5%;
}

*,
*::before,
*::after {
  box-sizing: inherit;
}

body {
  margin: 0;

  display: flex;
  flex-direction: column;

  min-height: 100dvh;

  font-family: var(--font-family);
  font-size: var(--font-size-body);
  line-height: var(--line-height-body);

  color: var(--color-deep-navy);
  background-color: var(--color-white);

  text-align: left;
}

main {
  flex: 1;
}

h1,
h2,
h3,
h4,
p,
figure,
blockquote {
  margin: 0;
}

h1,
h2,
h3,
h4 {
  line-height: var(--line-height-heading);
}

img,
picture,
video {
  display: block;

  max-width: 100%;

  height: auto;
}

input,
button,
textarea,
select {
  font: inherit;
  color: inherit;
}

a {
  color: inherit;
  text-decoration: none;
}

.container-full {
  width: 100%;
}

.container-fluid {
  width: 100%;

  padding-inline: var(--page-padding);
}

.container {
  width: 100%;

  max-width: 124rem;
  margin-inline: auto;
  padding-inline: var(--page-padding);
}

.measure {
  max-width: 84rem;
}

.overlay::after {
  content: '';
  position: absolute;
  inset: 0;
}

.overlay-left::after {
  background: linear-gradient(
    to right,
    rgb(10 34 64 / 0.88) 0%,
    rgb(10 34 64 / 0.55) 50%,
    rgb(10 34 64 / 0.2) 100%
  );
}

.overlay-right::after {
  background: linear-gradient(
    to left,
    rgb(10 34 64 / 0.88) 0%,
    rgb(10 34 64 / 0.55) 50%,
    rgb(10 34 64 / 0.2) 100%
  );
}

.overlay-top::after {
  background: linear-gradient(
    to bottom,
    rgb(10 34 64 / 0.75) 0%,
    rgb(10 34 64 / 0) 70%
  );
}

.overlay-bottom::after {
  background: linear-gradient(
    to top,
    rgb(10 34 64 / 0.75) 0%,
    rgb(10 34 64 / 0) 70%
  );
}

.overlay-center::after {
  background: linear-gradient(
    to bottom,
    rgb(10 34 64 / 0) 0%,
    rgb(10 34 64 / 0.65) 35%,
    rgb(10 34 64 / 0.65) 65%,
    rgb(10 34 64 / 0) 100%
  );
}

.overlay-full::after {
  background-color: rgb(10 34 64 / 0.45);
}
.overlay-edge::after {
  background: linear-gradient(
    to right,
    rgb(10 34 64 / 0.91) 0%,
    rgb(10 34 64 / 0.9) 8%,
    rgb(10 34 64 / 0.5) 16%,
    rgb(10 34 64 / 0.2) 24%,
    rgb(10 34 64 / 0) 29%
  );
}

.overlay-edge-wide::after {
  background: linear-gradient(
    to right,
    rgb(10 34 64 / 1) 0%,
    rgb(10 34 64 / 0.95) 8%,
    rgb(10 34 64 / 0.74) 14%,
    rgb(10 34 64 / 0.48) 21%,
    rgb(10 34 64 / 0.18) 29%,
    rgb(10 34 64 / 0) 36%
  );
}

.overlay-edge-long::after {
  background: linear-gradient(
    to right,
    rgb(10 34 64 / 1) 0%,
    rgb(10 34 64 / 0.94) 10%,
    rgb(10 34 64 / 0.86) 23%,
    rgb(10 34 64 / 0.78) 31%,
    rgb(10 34 64 / 0.62) 40%,
    rgb(10 34 64 / 0.33) 52%,
    rgb(10 34 64 / 0) 68%
  );
}

.overlay-center-white::before {
  content: '';

  position: absolute;
  z-index: 1;
  inset: 0;

  background: linear-gradient(
    to right,
    rgb(255 255 255 / 0) 26%,
    rgb(255 255 255 / 0.17) 55%,
    rgb(255 255 255 / 0.15) 68%,
    rgb(255 255 255 / 0) 86%
  );
}

.align-top {
  justify-content: flex-start;
}

.align-middle {
  justify-content: center;
}

.align-bottom {
  justify-content: flex-end;
}

.align-left {
  align-items: flex-start;
  text-align: left;
}

.align-center {
  align-items: center;
  text-align: center;
}

.align-right {
  align-items: flex-end;
  text-align: right;
}

.navbar__header {
  position: relative;

  display: flex;

  flex-direction: row;

  align-items: stretch;

  gap: 2.4rem;

  padding-inline: var(--page-padding);

  background-color: var(--color-deep-navy);
  color: var(--color-white);
}

.navbar__logo {
  flex-shrink: 0;

  display: flex;
  flex-direction: row;
  align-items: center;

  padding-block: 0.8rem;
}

.navbar__logo-image {
  display: block;

  width: auto;
  height: 4.8rem;
}

.navbar__nav {
  flex-direction: row;
  align-items: stretch;

  display: flex;
}

.navbar__link {
  display: flex;
  flex-direction: row;
  align-items: center;
  font-size: var(--font-size-small);
  white-space: nowrap;

  padding-inline: 2rem;
}

.navbar__link:lang(es) {
  padding-inline: 1.2rem;
}

.navbar__link:hover {
  background-color: rgb(255 255 255 / 0.08);
}

.navbar__link-active {
  background-color: var(--color-slate-mid);
}

.navbar__link-active:hover {
  background-color: var(--color-slate-mid);
}

.navbar__item {
  display: flex;
  flex-direction: row;
  align-items: stretch;
}

.navbar__caret {
  margin-inline-start: 0.8rem;
  transition: transform 0.2s ease;
}

.navbar__item:hover .navbar__caret,
.navbar__item:focus-within .navbar__caret {
  transform: rotate(180deg);
}

.navbar__panel {
  position: absolute;
  z-index: 20;
  top: 100%;
  left: 0;
  right: 0;

  display: grid;

  grid-template-columns: repeat(4, 1fr);

  gap: 4rem;
  align-items: start;

  padding: 2.4rem var(--page-padding) 3.2rem;

  visibility: hidden;
  opacity: 0;
  transition: opacity 0.15s ease 0.25s, visibility 0s linear 0.4s;

  background-color: var(--color-white);
  box-shadow: 0 1.2rem 2.4rem rgb(10 34 64 / 0.12);
}

.navbar__item:hover .navbar__panel,
.navbar__item:focus-within .navbar__panel {
  visibility: visible;
  opacity: 1;
  transition: opacity 0.15s ease, visibility 0s;
}

.navbar__panel-intro {
  grid-column: 1 / -1;

  display: flex;
  flex-direction: row;
  align-items: center;

  gap: 3.2rem;

  padding-block-end: 2.4rem;

  border-block-end: 1px solid var(--color-cool-gray);
}

.navbar__panel-kicker {
  margin: 0;

  white-space: nowrap;

  font-size: var(--font-size-small);
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--color-electric-blue);
}

.navbar__panel-title {
  margin: 0;

  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.25;
  color: var(--color-deep-navy);
}

.navbar__panel-list {
  display: flex;
  flex-direction: column;

  gap: 1.2rem;

  margin: 0;
  padding: 0;

  list-style: none;
}

.navbar__panel-link {
  font-size: var(--font-size-body);
  color: var(--color-steel-mist);
  white-space: nowrap;
}

.navbar__panel-link:hover {
  color: var(--color-deep-navy);
}

.navbar__panel-group-title {
  margin: 0 0 1.2rem;

  font-size: var(--font-size-small);
  font-weight: 700;
  color: var(--color-deep-navy);
}

.navbar__panel-action {
  display: flex;
  flex-direction: row;
  align-items: center;

  margin-inline-start: auto;

  gap: 1.2rem;

  white-space: nowrap;

  font-size: var(--font-size-body);
  font-weight: 700;
  color: var(--color-deep-navy);
}

.navbar__search {
  flex-direction: row;
  align-items: center;
  margin-inline-start: auto;
  min-width: 0;

  display: flex;
}

.navbar__search-field {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 0.8rem;
  padding: 0.8rem 1.6rem;

  border-radius: 999px;
  min-width: 0;

  background-color: var(--color-white);
  color: var(--color-deep-navy);
}

.navbar__search-input {
  border: none;
  background: none;
  outline: none;
  font-size: var(--font-size-small);

  flex: 1 1 18rem;
  width: 18rem;
  min-width: 0;
}

.navbar__search-field svg {
  flex-shrink: 0;
}

.i18n-loading body {
  visibility: hidden;
}

.language-switch__nav {
  display: flex;
  flex-direction: row;
  align-items: center;
}

.navbar__header .language-switch__nav {
  margin-inline: -0.8rem -1.6rem;
}

.menu__panel .language-switch__nav {
  margin-block: -1.6rem 2.4rem;
  margin-inline-start: -0.8rem;
}

.language-switch__option {
  padding: 0.4rem 0.8rem;

  font-size: var(--font-size-small);
  font-weight: 500;
  color: var(--color-accent-blue);
}

.language-switch__option + .language-switch__option {
  border-inline-start: 1px solid var(--color-harbor-blue);
}

.language-switch__option:hover {
  color: var(--color-white);
}

.language-switch__option:focus-visible {
  outline: 2px solid var(--color-electric-blue);
  outline-offset: 0.2rem;
}

.language-switch__option-active {
  font-weight: 800;
  color: var(--color-white);
}

.navbar__menu-button {
  display: flex;
  flex-direction: row;
  align-items: center;
  padding-inline: 0.8rem;
  border: none;
  background: none;
  cursor: pointer;

  margin-inline-start: 0;
}

.menu__dialog {
  width: 100%;
  max-width: none;
  height: 100dvh;
  max-height: none;

  margin: 0;
  padding: 0;

  border: none;
  background: transparent;

  overflow: clip;
}

.menu__dialog::backdrop {
  background-color: rgb(4 14 26 / 0.7);
}

.menu__panel {
  margin-inline-start: auto;

  display: flex;
  flex-direction: column;

  width: 40rem;
  height: 100%;

  overflow-y: auto;

  padding: 2.4rem;

  background-color: var(--color-deep-navy);
  color: var(--color-white);

  transform: translateX(100%);
  transition: transform 0.3s ease;
}

.menu__dialog-open .menu__panel {
  transform: translateX(0);
}

.menu__header {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;

  gap: 2.4rem;

  margin-block-end: 3.2rem;
}

.menu__logo-image {
  display: block;

  width: auto;
  height: 4rem;
}

.menu__close {
  display: flex;
  flex-direction: row;
  align-items: center;

  padding: 0.8rem;

  border: none;
  background: none;
  color: inherit;

  cursor: pointer;
}

.menu__close:focus-visible,
.menu__summary:focus-visible,
.menu__link:focus-visible,
.menu__sublink:focus-visible,
.menu__logo:focus-visible {
  outline: 2px solid var(--color-electric-blue);
  outline-offset: 0.4rem;
}

.menu__search {
  margin-block-end: 3.2rem;
}

.menu__search-field {
  display: flex;
  flex-direction: row;
  align-items: center;

  gap: 0.8rem;

  padding: 0.8rem 1.6rem;

  border-radius: 999px;

  background-color: var(--color-white);
  color: var(--color-deep-navy);
}

.menu__search-input {
  flex: 1;

  min-width: 0;

  border: none;
  background: none;

  outline: none;

  font-size: var(--font-size-body);
}

.menu__nav {
  display: flex;
  flex-direction: column;
}

.menu__link {
  display: block;

  margin-inline: -2.4rem;
  padding-block: 1.6rem;
  padding-inline: 2.4rem;

  border-block-end: 1px solid rgb(255 255 255 / 0.15);

  font-size: var(--font-size-body);
  font-weight: 600;
}

.menu__link:hover {
  background-color: rgb(255 255 255 / 0.08);
}

.menu__section {
  margin-inline: -2.4rem;
  padding-inline: 2.4rem;

  border-block-end: 1px solid rgb(255 255 255 / 0.15);
}

.menu__summary:hover {
  background-color: rgb(255 255 255 / 0.08);
}

.menu__summary {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;

  gap: 1.6rem;

  margin-inline: -2.4rem;
  padding-block: 1.6rem;
  padding-inline: 2.4rem;

  list-style: none;
  cursor: pointer;

  font-size: var(--font-size-body);
  font-weight: 600;
}

.menu__summary::-webkit-details-marker {
  display: none;
}

.menu__chevron {
  flex-shrink: 0;
  transition: transform 0.2s ease;
}

.menu__section[open] > .menu__summary .menu__chevron {
  transform: rotate(180deg);
}

.menu__subsections {
  display: flex;
  flex-direction: column;

  margin-block-end: 1.6rem;
}

.menu__subsummary {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;

  gap: 1.6rem;

  margin-inline: -2.4rem;
  padding-block: 1.2rem;
  padding-inline: 4rem 2.4rem;

  list-style: none;
  cursor: pointer;

  font-size: var(--font-size-small);
  font-weight: 600;
}

.menu__subsummary::-webkit-details-marker {
  display: none;
}

.menu__subsummary:hover {
  background-color: rgb(255 255 255 / 0.08);
}

.menu__subsection[open] > .menu__subsummary .menu__chevron {
  transform: rotate(180deg);
}

.menu__sublist {
  display: flex;
  flex-direction: column;

  margin: 0 0 1.6rem;
  padding: 0;

  list-style: none;
}

.menu__sublink {
  display: block;

  margin-inline: -2.4rem;
  padding: 0.8rem 2.4rem 0.8rem 5.6rem;

  font-size: var(--font-size-small);
  color: rgb(255 255 255 / 0.75);
}

.menu__sublink:hover {
  background-color: rgb(255 255 255 / 0.08);
  color: var(--color-white);
}

.hero__gradient {
  background: linear-gradient(120deg, var(--color-deep-navy) 0%, var(--color-deep-navy) 45%, var(--color-slate-mid) 100%);
}

.text-image__kicker {
  margin: 0 0 1.2rem;

  font-size: var(--font-size-small);
  font-weight: 500;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--color-slate-mid);
}

.text-section__section.text-section__lead {
  padding-block-start: 6.4rem;
}

.text-section__section.text-section__on-surface {
  padding-block: 6.4rem 7.2rem;

  background-color: var(--color-surface);
}

.text-section__section.text-section__centered .text-section__body {
  margin-inline: auto;
}

.text-section__strong {
  font-weight: 700;
  color: var(--color-deep-navy);
}

.attribute-bar__section {
  position: relative;
  z-index: 1;
  padding-inline: var(--page-padding);
  padding-block-end: 3.2rem;

  margin-block-start: -5.1rem;
}

.attribute-bar__list {
  flex-direction: column;
  margin: 0;
  padding: 0 3.2rem;
  list-style: none;
  border-radius: 0.6rem;
  background-color: var(--color-white);
  box-shadow: 0 0.8rem 3.2rem rgb(10 34 64 / 0.18);

  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: 1fr;
}

.attribute-bar__item {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 1.2rem;
  font-size: var(--font-size-body);
  font-weight: 700;
  color: var(--color-deep-navy);

  justify-content: flex-start;
  padding-block: 2.4rem;
  padding-inline: 3.2rem;
}

.attribute-bar__body {
  align-self: center;
}

.attribute-bar__item + .attribute-bar__item {
  border-inline-start: 1px solid var(--color-cool-gray);
}

.attribute-bar__dot {
  flex-shrink: 0;

  width: 1.2rem;
  height: 1.2rem;

  border-radius: 999px;

  background-color: var(--color-accent-blue);
}

.solution-grid__section {
  padding-block: 6.4rem;
  padding-inline: var(--page-padding);
}

.solution-grid__title {
  margin: 0 0 3.2rem;
  font-weight: 800;
  line-height: 1.15;
  color: var(--color-deep-navy);

  font-size: 4rem;
}

.solution-grid__list {
  display: grid;
  gap: 2.4rem;
  margin: 0;
  padding: 0;
  list-style: none;

  grid-template-columns: repeat(4, 1fr);
}

.solution-grid__card {
  display: flex;
  flex-direction: column;

  height: 100%;

  border-radius: 0.6rem;

  overflow: hidden;

  box-shadow: 0 0.8rem 2.4rem rgb(10 34 64 / 0.12);
}

.solution-grid__image-box {
  display: block;

  position: relative;

  aspect-ratio: 487 / 310;

  overflow: hidden;
}

.solution-grid__image {
  position: absolute;
  inset: 0;

  width: 100%;
  height: 100%;

  object-fit: cover;
}

.solution-grid__accent .solution-grid__panel {
  border-block-start: 3px solid var(--color-accent-blue);
}

.solution-grid__panel {
  display: flex;
  flex-direction: column;

  flex: 1;

  gap: 0.8rem;

  padding: 2rem;

  background-color: var(--color-deep-navy);
}

.solution-grid__name {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.25;
  color: var(--color-white);
}

.solution-grid__text {
  font-size: var(--font-size-small);
  font-weight: 700;
  line-height: 1.5;
  color: var(--color-cool-gray);
}

.split-panel__section {
  padding-block: 4rem;
}

.split-panel__inner {
  display: grid;
  box-shadow: 0 0.8rem 2.4rem rgb(10 34 64 / 0.12);

  grid-template-columns: 1fr 1fr;
}

.split-panel__panel {
  display: flex;
  flex-direction: column;
  justify-content: center;
  background-color: var(--color-slate-dark);

  padding: 6.4rem 4.8rem;
}

.split-panel__kicker {
  margin: 0 0 1.2rem;

  font-size: var(--font-size-small);
  font-weight: 500;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--color-slate-mid);
}

.split-panel__title {
  margin: 0 0 1.6rem;

  font-size: 2.8rem;
  font-weight: 800;
  line-height: 1.25;
  color: var(--color-white);
}

.split-panel__text {
  margin: 0 0 1.2rem;

  font-size: var(--font-size-body);
  font-weight: 400;
  line-height: 1.6;
  color: var(--color-cool-gray);
}

.split-panel__image-box {
  position: relative;
  overflow: hidden;

  min-height: 0;
  aspect-ratio: 762 / 801;
}

.split-panel__image {
  position: absolute;
  inset: 0;

  width: 100%;
  height: 100%;

  object-fit: cover;
}

.wide-panel__section {
  padding-block: 4rem;
}

.wide-panel__inner {
  display: grid;
  background-color: var(--color-deep-navy);
  box-shadow: 0 0.8rem 2.4rem rgb(10 34 64 / 0.12);

  grid-template-columns: 1fr 1fr;
  gap: 4.8rem;
  padding: 4.8rem;
}

.wide-panel__kicker {
  margin: 0 0 1.2rem;

  font-size: var(--font-size-small);
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--color-slate-mid);
}

.wide-panel__title {
  margin: 0;

  font-size: 2.8rem;
  font-weight: 800;
  line-height: 1.25;
  color: var(--color-white);
}

.wide-panel__text {
  margin: 0;

  font-size: var(--font-size-body);
  font-weight: 600;
  line-height: 1.6;
  color: var(--color-white);
}

.photo-card__section {
  padding-block: 4rem;
  padding-inline: var(--page-padding);
}

.photo-card__inner {
  position: relative;

  display: flex;
  flex-direction: column;

  box-shadow: 0 0.8rem 2.4rem rgb(10 34 64 / 0.12);
}

.photo-card__image {
  display: block;
  width: 100%;
  object-fit: cover;

  height: auto;
  aspect-ratio: 1521 / 601;
}

.photo-card__medium .photo-card__image {
  aspect-ratio: 1521 / 784;
}

.photo-card__tall .photo-card__image {
  aspect-ratio: 1521 / 879;
}

.photo-card__card {
  position: absolute;
  inset-block-start: 0;
  inset-inline-start: 0;
  max-width: 52rem;
  padding: 4rem;
  background-color: rgb(10 34 64 / 0.88);
}

.photo-card__card-end .photo-card__card {
  inset-block-start: auto;
  inset-block-end: 0;
  inset-inline-start: auto;
  inset-inline-end: 0;
}

.photo-card__kicker {
  margin: 0 0 1.2rem;

  font-size: var(--font-size-small);
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--color-blue-horizon);
}

.photo-card__title {
  margin: 0 0 1.6rem;

  font-size: 2.8rem;
  font-weight: 800;
  line-height: 1.25;
  color: var(--color-white);
}

.photo-card__text {
  margin: 0;

  font-size: var(--font-size-body);
  font-weight: 600;
  line-height: 1.6;
  color: var(--color-cool-gray);
}

.spec-card-grid__section {
  padding-block: 4rem;
  padding-inline: var(--page-padding);
}

.spec-card-grid__title {
  margin: 0 0 1.6rem;

  font-size: 2.8rem;
  font-weight: 800;
  line-height: 1.25;
  color: var(--color-deep-navy);
}

.spec-card-grid__intro {
  margin: 0 0 3.2rem;

  max-width: 76rem;

  font-size: var(--font-size-body);
  font-weight: 700;
  line-height: 1.6;
  color: var(--color-slate-dark);
}

.spec-card-grid__list {
  display: grid;
  gap: 4rem;
  margin: 0;
  padding: 0;
  list-style: none;

  grid-template-columns: repeat(auto-fit, minmax(28rem, 1fr));
}

.spec-card-grid__card {
  display: flex;

  flex-direction: column;

  justify-content: center;

  padding: 3.2rem;

  border-radius: 0.4rem;

  background-color: var(--color-deep-navy);
  box-shadow: 0 1.2rem 3.2rem rgb(0 0 0 / 0.22);
}

.spec-card-grid__kicker {
  margin: 0 0 1.2rem;

  font-size: var(--font-size-small);
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--color-fog);
}

.spec-card-grid__name {
  margin: 0 0 1.2rem;

  font-size: 2rem;
  font-weight: 800;
  line-height: 1.25;
  color: var(--color-white);
}

.spec-card-grid__figure {
  margin: 0 0 1.6rem;

  font-size: 4rem;
  font-weight: 800;
  line-height: 1;
  color: var(--color-white);
}

.spec-card-grid__text {
  margin: 0;

  font-size: var(--font-size-small);
  font-weight: 700;
  line-height: 1.5;
  color: var(--color-slate-mid);
}

.spec-card-grid__bright .spec-card-grid__text {
  color: var(--color-white);
}

.mode-list__section {
  padding-block: 4rem;
  padding-inline: var(--page-padding);
}

.mode-list__title {
  margin: 0 0 2.4rem;

  font-size: 2.8rem;
  font-weight: 800;
  line-height: 1.25;
  color: var(--color-deep-navy);
}

.mode-list__list {
  display: grid;
  margin: 0;
  padding: 0;
  list-style: none;
  border-block-start: 1px solid var(--color-cool-gray);
  border-block-end: 1px solid var(--color-cool-gray);

  grid-template-columns: repeat(2, 1fr);
  gap: 4.8rem;
}

.mode-list__item {
  padding-block: 2.4rem;
}

.mode-list__name {
  position: relative;

  margin: 0 0 0.8rem;
  padding-inline-start: 1.6rem;

  font-size: 1.8rem;
  font-weight: 800;
  line-height: 1.3;
  color: var(--color-deep-navy);
}

.mode-list__name::before {
  content: '';

  position: absolute;
  inset-block: 0;
  inset-inline-start: 0;

  width: 3px;

  background-color: var(--color-accent-blue);
}

.mode-list__text {
  margin: 0;
  padding-inline-start: 1.6rem;

  font-size: var(--font-size-body);
  font-weight: 300;
  line-height: 1.6;
  color: var(--color-deep-navy);
}

.quote-band__section {
  padding-inline: var(--page-padding);
  background-color: var(--color-fog);

  padding-block: 8.8rem 8.4rem;
}

.quote-band__text {
  margin-inline: auto;
  max-width: 72rem;
  padding-inline-start: 3.2rem;
  border-inline-start: 4px solid var(--color-slate-mid);
  font-weight: 300;
  line-height: 1.6;
  color: var(--color-deep-navy);

  font-size: 2rem;
}

.section-heading__heading {
  display: grid;

  grid-template-columns: 1fr;

  gap: 1.6rem;

  margin-block-end: 3.2rem;
}

.section-heading__divided {
  margin-block-end: 8.3rem;
  padding-block-end: 9.8rem;

  border-block-end: 1px solid var(--color-cool-gray);
}

.section-heading__heading {
  grid-template-columns: 1fr 1fr;

  gap: 9.6rem;
  align-items: end;
}

.section-heading__rule {
  width: 5rem;
  height: 3px;

  margin: 0 0 1.6rem;

  border: none;

  background-color: var(--color-deep-navy);
}

.section-heading__title {
  margin: 0;

  font-size: 4rem;
  font-weight: 800;
  line-height: 1.15;
  color: var(--color-deep-navy);
}

.section-heading__text {
  margin: 0;

  max-width: 56rem;

  font-size: var(--font-size-body);
  font-weight: 500;
  line-height: 1.6;
  color: var(--color-deep-navy);
}

.section-heading__on-dark .section-heading__rule {
  background-color: var(--color-blue-horizon);
}

.section-heading__on-dark .section-heading__title,
.section-heading__on-dark .section-heading__text {
  color: var(--color-white);
}

.chip-list__list {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;

  gap: 0.8rem;

  margin: 2.8rem 0 0;
  padding: 0;

  list-style: none;
}

.chip-list__chip {
  display: inline-block;

  padding: 0.8rem 1.4rem;

  border: 1px solid var(--color-cool-gray);

  font-size: 1.3rem;
  font-weight: 500;
  color: var(--color-deep-navy);
}

.chip-list__solid {
  padding: 0.8rem 1.6rem;

  border-color: transparent;

  background-color: var(--color-fog);

  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.chip-list__measure {
  border-color: transparent;

  background-color: var(--color-accent-blue);

  font-weight: 800;
  color: var(--color-deep-navy);
}

.hero__hero.hero__split {
  display: grid;
  min-height: auto;
  padding: 0;
  background-color: var(--color-deep-navy);

  grid-template-columns: 1fr 42%;
}

.hero__hero.hero__split .hero__content {
  position: static;
  padding: 4.8rem var(--page-padding);

  padding-block: 8rem;
}

.hero__hero.hero__split .hero__aside {
  position: relative;

  order: 0;
  min-height: 100%;
}

.hero__aside-image {
  position: absolute;
  inset: 0;

  width: 100%;
  height: 100%;

  object-fit: cover;
}

.attribute-bar__detailed .attribute-bar__item {
  align-items: start;
}

.attribute-bar__body {
  display: flex;
  flex-direction: column;

  gap: 0.4rem;
}

.attribute-bar__name {
  display: flex;

  align-items: center;

  gap: 1.2rem;

  font-size: var(--font-size-body);
  font-weight: 700;
  color: var(--color-deep-navy);
}

.attribute-bar__text {
  font-size: var(--font-size-small);
  font-weight: 500;
  line-height: 1.5;
  color: var(--color-slate-mid);

  padding-inline-start: 2.4rem;
}

.attribute-bar__detailed .attribute-bar__dot {
  margin-block-start: 0.6rem;
}

.stage-timeline__section {
  padding-block: 6.4rem;
  padding-inline: var(--page-padding);
}

.stage-timeline__list {
  position: relative;
  display: grid;
  margin: 0;
  padding: 0;
  list-style: none;

  grid-template-columns: repeat(6, 1fr);
  gap: 0;
}

.stage-timeline__item {
  display: flex;
  flex-direction: column;

  gap: 0.8rem;

  position: relative;

  padding-block-start: 4.8rem;
}

.stage-timeline__list::before {
  content: '';

  position: absolute;
  inset-block-start: 1.05rem;
  inset-inline: 0;

  height: 1px;

  background-color: var(--color-mist);
}

.stage-timeline__dot {
  position: absolute;
  inset-block-start: 0;
  inset-inline-start: 0;

  width: 2.1rem;
  height: 2.1rem;

  border: 1px solid var(--color-deep-navy);
  border-radius: 999px;

  background-color: var(--color-white);
}

.stage-timeline__dot::after {
  content: '';

  position: absolute;
  inset-block-start: 50%;
  inset-inline-start: 50%;

  width: 0.8rem;
  height: 0.8rem;
  margin: -0.4rem 0 0 -0.4rem;

  border-radius: 999px;

  background-color: var(--color-deep-navy);
}

.stage-timeline__number {
  font-size: var(--font-size-small);
  font-weight: 600;
  color: var(--color-deep-navy);
}

.stage-timeline__label {
  max-width: 16rem;

  font-size: 1.8rem;
  font-weight: 600;
  line-height: 1.3;
  color: var(--color-deep-navy);
}

.solution-grid__three {
  grid-template-columns: repeat(3, 1fr);
}

.solution-grid__number {
  font-size: var(--font-size-small);
  font-weight: 600;
  color: var(--color-cool-gray);
}

.solution-grid__action {
  display: flex;
  flex-direction: row;
  align-items: center;

  gap: 0.8rem;

  margin-block-start: 1.2rem;

  font-size: var(--font-size-small);
  font-weight: 700;
  color: var(--color-white);
}

.critical-panel__section {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-block: 6.4rem;
  padding-inline: var(--page-padding);
  overflow: hidden;
  background-color: var(--color-deep-navy);

  min-height: max(48.5vw, 69.8rem);
}

.critical-panel__image {
  position: absolute;
  inset: 0;

  width: 100%;
  height: 100%;

  object-fit: cover;
}

.critical-panel__section::after {
  content: '';

  position: absolute;
  inset: 0;

  background:
    linear-gradient(
      to right,
      rgb(113 197 232 / 0) 55%,
      rgb(113 197 232 / 0.11) 75%,
      rgb(113 197 232 / 0.11) 100%
    ),
    linear-gradient(
      to right,
      rgb(10 34 64 / 0.98) 0%,
      rgb(10 34 64 / 0.97) 42%,
      rgb(10 34 64 / 0.88) 52%,
      rgb(10 34 64 / 0.72) 62%,
      rgb(10 34 64 / 0.3) 74%,
      rgb(10 34 64 / 0) 86%
    );
}

.critical-panel__inner {
  position: relative;
  z-index: 1;
}

.critical-panel__content {
  max-width: 72rem;
}

.critical-panel__kicker {
  margin: 0 0 1.6rem;

  font-size: var(--font-size-small);
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--color-slate-mid);
}

.critical-panel__title {
  margin: 0 0 2.4rem;
  font-weight: 800;
  line-height: 1.15;
  color: var(--color-white);

  font-size: 4rem;
}

.critical-panel__text {
  margin: 0;

  max-width: 60rem;

  font-size: var(--font-size-body);
  font-weight: 700;
  line-height: 1.6;
  color: var(--color-cool-gray);
}

.critical-panel__content .chip-list__chip {
  border-color: var(--color-white);
  color: var(--color-white);
}

.stat-row__list {
  display: grid;
  margin: 3.2rem 0 0;
  padding: 0;
  list-style: none;
  border-block-start: 1px solid var(--color-cool-gray);

  grid-template-columns: repeat(3, 1fr);
}

.stat-row__item {
  min-width: 0;
  padding-block: 3.2rem 2.4rem;
  padding-inline-end: 2.4rem;
}

.stat-row__item + .stat-row__item {
  padding-inline-start: 3.2rem;

  border-inline-start: 1px solid var(--color-cool-gray);
}

.stat-row__figure {
  margin: 0 0 1.2rem;

  font-size: 4rem;
  font-weight: 800;
  line-height: 1;
  color: var(--color-deep-navy);
}

.stat-row__pair {
  grid-template-columns: repeat(2, 1fr);
}

.stat-row__unit {
  font-size: 0.5em;
}

.stat-row__label {
  margin: 0;

  font-size: var(--font-size-small);
  font-weight: 500;
  line-height: 1.5;
  color: var(--color-slate-cool);
}

.stat-row__on-dark {
  border-block-start-color: rgb(255 255 255 / 0.5);
}

.stat-row__on-dark .stat-row__item + .stat-row__item {
  border-inline-start-color: rgb(255 255 255 / 0.5);
}

.stat-row__on-dark .stat-row__figure {
  color: var(--color-white);
}

.stat-row__on-dark .stat-row__label {
  color: var(--color-cool-gray);
}

.sensor-block__section {
  padding-block: 6.4rem;
  padding-inline: var(--page-padding);
}

.sensor-block__on-dark {
  background-color: var(--color-deep-navy);
}

.sensor-block__head {
  display: grid;

  grid-template-columns: minmax(24rem, 1fr) 2fr;
  gap: 4.8rem;
}

.sensor-block__label-box {
  display: flex;
  flex-direction: column;
  align-items: start;

  gap: 1.2rem;
}

.sensor-block__title {
  margin: 0;

  font-size: 2.8rem;
  font-weight: 800;
  line-height: 1.25;
  color: var(--color-deep-navy);
}

.sensor-block__body {
  display: flex;
  flex-direction: column;

  gap: 1.6rem;

  min-width: 0;
}

.sensor-block__text {
  margin: 0;

  font-size: var(--font-size-body);
  font-weight: 500;
  line-height: 1.6;
  color: var(--color-deep-navy);
}

.sensor-block__on-dark .sensor-block__title {
  color: var(--color-white);
}

.sensor-block__on-dark .sensor-block__text {
  color: var(--color-cool-gray);
}

.sensor-block__on-dark .chip-list__chip {
  border-color: rgb(255 255 255 / 0.35);
  color: var(--color-white);
}

.figure-block__section {
  padding-block: 6.4rem;
  padding-inline: var(--page-padding);
}

.figure-block__inner {
  display: grid;
  align-items: center;

  grid-template-columns: auto 1fr;
  gap: 4.8rem;
}

.figure-block__figure {
  margin: 0;

  font-size: 16rem;
  font-weight: 800;
  line-height: 0.8;
  letter-spacing: -0.04em;
  color: var(--color-deep-navy);
}

.figure-block__plus {
  color: var(--color-blue-horizon);
}

.figure-block__kicker {
  margin: 0 0 0.8rem;

  font-size: var(--font-size-small);
  font-weight: 500;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--color-slate-mid);
}

.figure-block__title {
  margin: 0 0 1.2rem;

  font-size: 2.4rem;
  font-weight: 800;
  line-height: 1.25;
  color: var(--color-deep-navy);
}

.figure-block__text {
  margin: 0;

  max-width: 64rem;

  font-size: var(--font-size-body);
  font-weight: 500;
  line-height: 1.6;
  color: var(--color-deep-navy);
}

.numbered-row__list {
  display: grid;
  margin: 4.8rem 0 0;
  padding: 0;
  list-style: none;
  border-block-start: 1px solid rgb(255 255 255 / 0.3);

  grid-template-columns: repeat(3, 1fr);
}

.numbered-row__item {
  padding-block: 4rem 0.8rem;
  padding-inline-end: 3.2rem;
}

.numbered-row__item + .numbered-row__item {
  padding-inline-start: 4rem;

  border-inline-start: 1px solid rgb(255 255 255 / 0.3);
}

.numbered-row__number {
  display: block;

  margin-block-end: 1.6rem;

  font-size: 1.3rem;
  font-weight: 800;
  letter-spacing: 0.16em;
  color: var(--color-fog);
}

.numbered-row__name {
  margin: 0;

  font-size: 1.8rem;
  font-weight: 800;
  line-height: 1.3;
  color: var(--color-white);
}

.numbered-row__text {
  margin: 1.2rem 0 0;

  font-size: var(--font-size-small);
  font-weight: 500;
  line-height: 1.5;
  color: var(--color-fog);
}

.image-pair__list {
  display: grid;
  gap: 2rem;
  margin: 4.8rem 0 0;
  padding: 0;
  list-style: none;

  grid-template-columns: 934fr 560fr;
}

.image-pair__reversed {
  grid-template-columns: 560fr 934fr;
}

.image-pair__even {
  grid-template-columns: 1fr 1fr;
}

.image-pair__image {
  display: block;
  width: 100%;
  border-radius: 0.6rem;
  object-fit: cover;

  height: 44rem;
}

.image-pair__even .image-pair__image {
  height: 47.8rem;
}

.dark-section__section {
  padding-inline: var(--page-padding);
  background-color: var(--color-deep-navy);

  padding-block: 13.6rem;
}

.dark-section__head {
  display: grid;

  grid-template-columns: 1fr 1fr;
  gap: 4.8rem;
}

.dark-section__kicker {
  margin: 0 0 1.2rem;

  font-size: var(--font-size-small);
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--color-cool-gray);
}

.dark-section__title {
  margin: 0;

  font-size: 4rem;
  font-weight: 800;
  line-height: 1.15;
  color: var(--color-white);
}

.dark-section__body {
  display: flex;
  flex-direction: column;

  gap: 1.6rem;
}

.dark-section__text {
  margin: 0;

  font-size: var(--font-size-body);
  font-weight: 600;
  line-height: 1.6;
  color: var(--color-cool-gray);
}

.dark-section__note {
  margin-block-start: 2.4rem;

  padding: 2.4rem 2.4rem 2.4rem 2rem;

  border-inline-start: 4px solid var(--color-accent-blue);

  background-color: rgb(255 255 255 / 0.05);
}

.dark-section__note-name {
  margin: 0 0 0.8rem;

  font-size: 1.8rem;
  font-weight: 600;
  color: var(--color-white);
}

.dark-section__note-text {
  margin: 0;

  font-size: var(--font-size-small);
  font-weight: 500;
  line-height: 1.6;
  color: var(--color-cool-gray);
}

.dark-section__image {
  display: block;
  width: 100%;
  border-radius: 0.6rem;
  object-fit: cover;

  height: auto;
  aspect-ratio: 1521 / 686;
}

.dark-section__closing {
  margin: 3.2rem 0 0;

  max-width: 76rem;

  font-size: var(--font-size-body);
  font-weight: 600;
  line-height: 1.6;
  color: var(--color-white);
}

.dark-section__section .section-heading__rule {
  background-color: var(--color-blue-horizon);
}

.numbered-list__section {
  padding-block: 6.4rem;
  padding-inline: var(--page-padding);
}

.numbered-list__inner {
  display: grid;

  grid-template-columns: 1.2fr 1fr;
  gap: 6.4rem;
}

.numbered-list__list {
  margin: 0;
  padding: 0;

  list-style: none;
}

.numbered-list__item {
  display: grid;

  grid-template-columns: 6.8rem 1fr auto;

  gap: 1.6rem;
  align-items: center;

  padding-block: 2.4rem;

  border-block-end: 1px solid var(--color-cool-gray);
}

.numbered-list__item:first-child {
  border-block-start: 1px solid var(--color-cool-gray);
}

.numbered-list__number {
  font-size: 1.3rem;
  font-weight: 700;
  color: var(--color-slate-cool);
}

.numbered-list__name {
  margin: 0;

  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.3;
  color: var(--color-deep-navy);
}

.numbered-list__item .chip-list__chip {
  background-color: var(--color-surface);
}

.numbered-list__card {
  padding: 3.2rem;

  background-color: var(--color-deep-navy);
}

.numbered-list__card .section-heading__rule {
  background-color: var(--color-blue-horizon);
}

.numbered-list__card-name {
  margin: 0 0 1.2rem;

  font-size: 2rem;
  font-weight: 700;
  line-height: 1.25;
  color: var(--color-white);
}

.numbered-list__card-text {
  margin: 0;

  font-size: var(--font-size-small);
  font-weight: 700;
  line-height: 1.5;
  color: var(--color-cool-gray);
}

.numbered-list__image {
  display: block;

  width: 100%;
  height: 32rem;

  object-fit: cover;
}

.feature-row__section {
  padding-block: 6.4rem;
}

.feature-row__inner {
  display: grid;
  align-items: center;

  grid-template-columns: 1fr 1fr;
  gap: 6.4rem;
}

.feature-row__image-box {
  aspect-ratio: 700 / 401;

  overflow: hidden;

  border-radius: 0.8rem;
  box-shadow: 0 0.8rem 2.4rem rgb(10 34 64 / 0.16);
}

.feature-row__image {
  display: block;

  width: 100%;
  height: 100%;

  object-fit: cover;
}

.feature-row__portrait .feature-row__image-box {
  aspect-ratio: 705 / 804;
}

.feature-row__image-right .feature-row__image-box {
  order: 2;
}

.feature-row__kicker {
  margin: 0 0 1.2rem;

  font-size: var(--font-size-small);
  font-weight: 500;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--color-slate-mid);
}

.feature-row__title {
  margin: 0 0 1.6rem;

  font-size: 2.8rem;
  font-weight: 800;
  line-height: 1.25;
  color: var(--color-deep-navy);
}

.feature-row__text {
  margin: 0 0 1.2rem;

  font-size: var(--font-size-body);
  font-weight: 700;
  line-height: 1.6;
  color: var(--color-deep-navy);
}

.feature-row__text:last-child {
  margin-block-end: 0;
}

.feature-row__quiet .feature-row__text {
  font-weight: 600;
  color: var(--color-slate-dark);
}

.feature-row__divider {
  margin-block: 3.2rem;

  border: none;
  border-block-start: 1px solid var(--color-cool-gray);
}

.photo-band__section {
  padding-block: 4rem;
}

.photo-band__inner {
  position: relative;

  overflow: hidden;

  border-radius: 0.4rem;
}

.photo-band__image {
  display: block;

  width: 100%;
  height: 28rem;

  object-fit: cover;
}

.photo-band__content {
  display: grid;

  grid-template-columns: 1fr;

  gap: 1.6rem;

  padding: 3.2rem;

  background-color: var(--color-deep-navy);
}

.photo-band__image {
  height: auto;

  aspect-ratio: 1521 / 579;
}

.photo-band__inner::after {
  content: '';

  position: absolute;
  inset: 0;

  background: linear-gradient(
    to top,
    rgb(10 34 64 / 0.85) 0%,
    rgb(10 34 64 / 0.6) 25%,
    rgb(10 34 64 / 0) 42%
  );
}

.photo-band__content {
  position: absolute;
  z-index: 1;
  inset-inline: 0;
  inset-block-end: 0;

  grid-template-columns: 1fr 1fr;

  gap: 6.4rem;
  align-items: end;

  padding: 4.8rem 7rem;

  background-color: transparent;
}

.photo-band__top .photo-band__image {
  aspect-ratio: 1521 / 649;
}

.photo-band__top .photo-band__inner::after {
  background: linear-gradient(
    to bottom,
    rgb(10 34 64 / 0.79) 0%,
    rgb(10 34 64 / 0.78) 8%,
    rgb(10 34 64 / 0.48) 22%,
    rgb(10 34 64 / 0) 32%
  );
}

.photo-band__top .photo-band__content {
  inset-block-start: 0;
  inset-block-end: auto;

  align-items: start;
}

.photo-band__stacked .photo-band__inner {
  border-radius: 0.8rem;

  box-shadow: 0 1.2rem 3.2rem rgb(10 34 64 / 0.16);
}

.photo-band__stacked .photo-band__kicker {
  color: var(--color-fog);
}

.photo-band__stacked .photo-band__text {
  font-weight: 700;
  color: var(--color-white);
}

.photo-band__stacked .photo-band__image {
  aspect-ratio: 1521 / 601;
}

.photo-band__tall .photo-band__image {
  aspect-ratio: 1521 / 784;
}

.photo-band__tall .photo-band__inner::after {
  background: linear-gradient(
    to top,
    rgb(10 34 64 / 0.95) 0%,
    rgb(10 34 64 / 0.75) 8%,
    rgb(10 34 64 / 0.5) 25%,
    rgb(10 34 64 / 0.38) 37%,
    rgb(10 34 64 / 0.2) 44%,
    rgb(10 34 64 / 0) 53%
  );
}

.photo-band__stacked .photo-band__inner::after {
  background: linear-gradient(
    to top,
    rgb(10 34 64 / 0.91) 0%,
    rgb(10 34 64 / 0.9) 24%,
    rgb(10 34 64 / 0.86) 28%,
    rgb(10 34 64 / 0.48) 36%,
    rgb(10 34 64 / 0.2) 50%,
    rgb(10 34 64 / 0) 70%
  );
}

.photo-band__stacked .photo-band__content {
  grid-template-columns: minmax(0, 52%);

  gap: 2rem;

  padding-block-end: 6.4rem;
}

.photo-band__kicker {
  margin: 0 0 1.2rem;

  font-size: var(--font-size-small);
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--color-accent-blue);
}

.photo-band__title {
  margin: 0;

  font-size: 2.8rem;
  font-weight: 800;
  line-height: 1.25;
  color: var(--color-white);
}

.photo-band__text {
  margin: 0;

  font-size: var(--font-size-body);
  font-weight: 600;
  line-height: 1.6;
  color: var(--color-cool-gray);
}

.footer__footer {
  display: grid;
  gap: 4.8rem;
  padding: 6.4rem var(--page-padding);
  background-color: var(--color-slate-dark);
  color: var(--color-white);

  grid-template-columns: 1.6fr 1fr 1fr 1fr;
}

.footer__brand {
  display: flex;

  flex-direction: column;

  align-items: center;
  gap: 2.4rem;
  text-align: center;
}

.footer__logo {
  display: block;
}

.footer__logo-image {
  display: block;

  width: auto;
  height: 10.4rem;
}

.footer__tagline {
  max-width: 28rem;

  line-height: 1.5;
}

.footer__column {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2.4rem;

  margin: 0;
  padding: 0;
  list-style: none;
}

.footer__column a:hover {
  text-decoration: underline;
}

.footer__social:hover {
  text-decoration: none;
}

.footer__social-list {
  display: flex;
  flex-direction: row;
  gap: 0.8rem;

  margin: 0;
  padding: 0;
  list-style: none;
}

.footer__social {
  display: inline-flex;
  flex-direction: row;

  padding: 0.6rem;
  border-radius: 0.4rem;
  background-color: var(--color-white);
  color: var(--color-slate-dark);
}

.footer__legal {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.2rem;

  padding-block-start: 3.2rem;
  border-block-start: 1px solid var(--color-slate-mid);

  font-size: 1.4rem;
  line-height: 1.6;
  text-align: center;
  color: var(--color-fog);

  grid-column: 1 / -1;
}

.footer__legal-copyright {
  margin: 0;

  font-weight: 600;
  color: var(--color-white);
}

.footer__legal-text {
  max-width: 96rem;
  margin: 0;
}

.button-link__button {
  display: inline-flex;
  flex-direction: row;
  align-items: center;

  padding: 1.8rem 3.6rem;

  border-radius: 0.8rem;

  font-size: 1.8rem;
}

.button-link__primary {
  background-color: var(--color-deep-navy);
  color: var(--color-white);
}

.button-link__primary:hover {
  background-color: var(--color-harbor-blue);
}

.button-link__inverse {
  background-color: var(--color-white);
  color: var(--color-deep-navy);
}

.button-link__inverse:hover {
  background-color: var(--color-cool-gray);
}

.button-link__pill {
  justify-content: center;

  min-width: 20.8rem;
  padding: 1.3rem 3.2rem;

  border-radius: 999px;

  font-size: var(--font-size-body);
  font-weight: 400;
}

.button-link__muted {
  background-color: var(--color-slate-mid);
  color: var(--color-white);
}

.button-link__muted:hover {
  background-color: var(--color-steel-mist);
}

.page-index__index {
  padding: var(--page-padding);
  padding-block: 6.4rem;
}

.page-index__group {
  margin-block-end: 5.6rem;
}

.page-index__group-title {
  margin-block-end: 2.4rem;
  font-size: 1.4rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--color-steel-mist);
}

.page-index__buttons {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 2.4rem;
}

.page-index__item {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
}

.page-index__meta {
  font-size: 1.2rem;
  color: var(--color-steel-mist);
}

.hero__hero {
  position: relative;
  display: flex;
  flex-direction: column;
  padding: var(--page-padding);
  overflow: hidden;
  color: var(--color-white);

  min-height: 78rem;
  padding-block-end: 8rem;
}

.hero__image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;

  object-fit: cover;

  object-position: center bottom;
}

.hero__content {
  position: relative;
  z-index: 1;
}

.hero__with-text-shadow {
  text-shadow:
    0 0.1rem 0.5rem rgb(10 34 64 / 0.8),
    0 0.2rem 2rem rgb(10 34 64 / 0.65);
}

.hero__kicker {
  margin-block-end: 1.2rem;
  font-size: var(--font-size-small);
  font-weight: 600;
  letter-spacing: 0.02em;
}

.hero__title {
  font-weight: 800;
  max-width: 76rem;
  text-wrap: balance;

  font-size: 6.4rem;
}

.hero__rule {
  margin-inline-start: calc(-1 * var(--page-padding));
  border: none;
  background-color: var(--color-white);

  width: 49rem;
  height: 0.8rem;
  margin-block: 3.2rem;
}

.hero__text {
  line-height: 1.5;

  max-width: 64rem;
  font-size: 2.4rem;
}

.hero__hero:not(.hero__aligned-left) .hero__rule {
  margin-inline-start: 0;
}

.hero__paragraphs {
  display: flex;
  flex-direction: column;
  gap: 2.4rem;

  margin-block-start: 2.4rem;
}

.hero__text-regular {
  line-height: 1.8;

  max-width: 68rem;
  font-size: 1.7rem;
}

.secondary-hero__section {
  position: relative;
  display: flex;
  flex-direction: column;
  padding: 6.4rem var(--page-padding);
  overflow: hidden;
  text-align: center;
  color: var(--color-white);

  min-height: 69rem;
}

.secondary-hero__image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.secondary-hero__content {
  position: relative;
  z-index: 1;

  display: flex;
  flex-direction: column;

  align-items: inherit;
}

.secondary-hero__with-text-shadow {
  text-shadow:
    0 0.1rem 0.5rem rgb(10 34 64 / 0.8),
    0 0.2rem 2rem rgb(10 34 64 / 0.65);
}

.secondary-hero__title {
  font-weight: 500;

  font-size: 5.6rem;
}

.secondary-hero__text {
  margin-block-start: 1.6rem;
  line-height: 1.5;

  max-width: 86rem;
  font-size: 3rem;
}

.secondary-hero__action-link {
  margin-block-start: 3.2rem;
  text-shadow: none;
}

.light-hero__section {
  background-color: var(--color-surface);
  color: var(--color-deep-navy);

  padding-block: 6.4rem;
}

.light-hero__breadcrumb {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 0.8rem;

  margin: 0 0 1.6rem;
  padding: 0;
  list-style: none;

  font-size: 1.3rem;
  color: var(--color-steel-mist);
}

.light-hero__breadcrumb a:hover {
  text-decoration: underline;
}

.light-hero__breadcrumb li + li::before {
  content: '/';
  margin-inline-end: 0.8rem;
}

.light-hero__title {
  font-weight: 500;

  font-size: 5.6rem;
}

.light-hero__text {
  margin-block-start: 1.6rem;
  font-weight: 300;
  line-height: 1.6;

  font-size: 1.8rem;
}

.text-image__section {
  display: grid;
  background-color: var(--color-cool-gray);

  grid-template-columns: 1fr 1fr;
  min-height: 78rem;
}

.text-image__image-box {
  position: relative;
  overflow: hidden;

  height: auto;
}

.text-image__image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;

  object-fit: cover;
}

.text-image__content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  background-image: url('../images/texture-diagonal.jpg');
  background-size: cover;
  background-position: center;
  color: var(--color-deep-navy);

  padding: 8rem 6.4rem;
}

.text-image__image-right .text-image__image-box {
  grid-column: 2;
  grid-row: 1;
}

.text-image__image-right .text-image__content {
  grid-column: 1;
  grid-row: 1;

  text-align: right;
  align-items: flex-end;
}

.text-image__title {
  margin-block-end: 2.4rem;
  font-weight: 500;

  font-size: 5.6rem;
}

.text-image__text {
  line-height: 1.5;

  max-width: none;
  font-size: 3.2rem;
}

.text-image__action-link {
  align-self: flex-start;
  margin-block-start: 3.2rem;
}

.text-image__image-right .text-image__action-link {
  align-self: flex-end;
}

.photo-panel__section {
  position: relative;
  display: grid;
  overflow: hidden;

  grid-template-columns: 3fr 4fr;
  min-height: 82rem;
  padding: 6.4rem;
}

.photo-panel__image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.photo-panel__content {
  position: relative;
  z-index: 1;

  display: flex;
  flex-direction: column;
  align-items: flex-end;
}

.photo-panel__panel-right .photo-panel__content {
  grid-column: 2;
}

.photo-panel__panel-left .photo-panel__content {
  grid-column: 1;
}

.photo-panel__panel-left {
  grid-template-columns: 4fr 3fr;
}

.photo-panel__panel-left .photo-panel__content {
  align-items: flex-start;
}

.photo-panel__panel {
  border-radius: 1.6rem;
  background-color: var(--color-deep-navy);
  color: var(--color-white);
  font-weight: 300;
  line-height: 1.5;

  padding: 4.8rem;
  font-size: 2.4rem;
}

.photo-panel__action-link {
  margin-block-start: 2.4rem;
}

.photo-story__section {
  --story-ratio: 1920 / 3400;
  --story-bands: 3;
  position: relative;
  display: grid;
  overflow: hidden;

  aspect-ratio: var(--story-ratio);
  grid-template-rows: repeat(var(--story-bands), 1fr);
}

.photo-story__image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.photo-story__band {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;

  padding: 6.4rem;
}

.photo-story__title {
  font-weight: 500;
  color: var(--color-white);

  font-size: 5.6rem;
}

.photo-story__text {
  max-width: 56rem;
  font-weight: 300;
  line-height: 1.5;
  color: var(--color-white);

  font-size: 2.4rem;
}

.photo-story__panel {
  border-radius: 1.6rem;
  background-color: var(--color-deep-navy);

  max-width: 72rem;
  padding: 4rem;
}

.photo-story__with-text-shadow {
  text-shadow:
    0 0.1rem 0.5rem rgb(10 34 64 / 0.8),
    0 0.2rem 2rem rgb(10 34 64 / 0.65);
}

.photo-story__action-link {
  margin-block-start: 2.4rem;
}

.banner__section {
  overflow: hidden;
}

.banner__contained {
  padding-block: 2.4rem;
  overflow: visible;
}

.banner__image {
  display: block;
  width: 100%;

  height: 52rem;
  object-fit: cover;
}

.banner__contained .banner__image {
  height: 44rem;
  border-radius: 1.2rem;
}

.text-section__section {
  padding-block: 3.2rem;
  background-color: var(--color-white);
  color: var(--color-deep-navy);
}

.text-section__title {
  margin-block-end: 1.2rem;
  font-weight: 600;

  font-size: 2rem;
}

.text-section__paragraphs {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
  font-weight: 300;
  line-height: 1.7;

  font-size: 1.6rem;
}

.spec-grid__section {
  padding-block: 2.4rem 4rem;
  background-color: var(--color-white);
}

.spec-grid__list {
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;

  grid-template-columns: repeat(2, 1fr);
  column-gap: 6.4rem;
}

.spec-grid__item {
  padding-block: 2rem;
  border-block-start: 1px solid var(--color-cool-gray);
}

.spec-grid__item:first-child {
  border-block-start: none;
}

.spec-grid__item:nth-child(2) {
  border-block-start: none;
}

.spec-grid__name {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 1.2rem;

  margin-block-end: 0.8rem;
  font-size: 1.5rem;
  font-weight: 600;
  color: var(--color-deep-navy);
}

.spec-grid__name::before {
  content: '';
  flex-shrink: 0;
  width: 0.3rem;
  height: 1.6rem;
  background-color: var(--color-blue-horizon);
}

.spec-grid__description {
  font-weight: 300;
  line-height: 1.6;
  color: var(--color-slate-dark);

  font-size: 1.5rem;
}

.card-grid__section {
  padding: 6.4rem var(--page-padding);
  background-color: var(--color-cool-gray);
  background-image: url('../images/texture-diagonal.jpg');
  background-size: cover;
  background-position: center;

  padding-block: 9.6rem;
}

.card-grid__title {
  text-align: center;
  color: var(--color-deep-navy);

  margin-block-end: 5.6rem;
  font-size: 4rem;
  font-weight: 300;
}

.card-grid__list {
  display: grid;
  margin: 0;
  padding: 0;
  list-style: none;

  grid-template-columns: repeat(2, 1fr);
  gap: 3.2rem;
}

.card-grid__card {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 3.2rem 4rem;
  border-radius: 1.6rem;
  text-align: center;
  color: var(--color-white);
  font-weight: 300;

  min-height: 27rem;
  padding-inline: 9rem;
  font-size: 4rem;
}

.card-grid__card:nth-child(4n + 1),
.card-grid__card:nth-child(4n + 4) {
  background-color: var(--color-slate-dark);
}

.card-grid__card:nth-child(4n + 2),
.card-grid__card:nth-child(4n + 3) {
  background-color: var(--color-slate-mid);
}

.icon-card-grid__section {
  background-color: var(--color-white);

  padding-block: 8rem;
}

.icon-card-grid__title {
  margin-block-end: 3.2rem;
  font-weight: 600;
  color: var(--color-deep-navy);

  font-size: 3.2rem;
}

.icon-card-grid__list {
  display: grid;
  gap: 2.4rem;
  margin: 0;
  padding: 0;
  list-style: none;

  grid-template-columns: repeat(3, 1fr);
}

.icon-card-grid__card {
  display: flex;
  flex-direction: column;
  gap: 2.4rem;

  height: 100%;
  padding: 2.8rem;
  border-radius: 1.2rem;

  background-color: var(--color-deep-navy);
  color: var(--color-white);

  box-shadow: 0 0.4rem 1.6rem rgb(10 34 64 / 0.15);
}

.icon-card-grid__card:hover {
  background-color: var(--color-harbor-blue);
}

.icon-card-grid__label {
  margin-block-start: auto;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.4;
}

.link-card-grid__section {
  padding: 6.4rem 0;
  background-color: var(--color-white);
  text-align: center;

  padding-block: 8rem;
}

.link-card-grid__title {
  padding-inline: var(--page-padding);
  font-weight: 500;
  text-align: center;
  color: var(--color-deep-navy);

  margin-block-end: 5.6rem;
  font-size: 4rem;
}

.link-card-grid__list {
  display: grid;
  margin: 0;
  list-style: none;

  grid-template-columns: repeat(5, 1fr);
  gap: 0.8rem;
  padding-inline: 2.4rem;
}

.link-card-grid__card {
  display: flex;
  flex-direction: column;

  height: 100%;

  border-radius: 1.6rem;
  overflow: hidden;
}

.link-card-grid__label {
  display: flex;
  flex-direction: column;
  justify-content: center;
  color: var(--color-white);
  font-weight: 400;
  line-height: 1.3;

  min-height: 16rem;
  padding: 2.4rem 3.2rem;
  font-size: 2rem;
}

.link-card-grid__list > li:nth-child(odd) .link-card-grid__label {
  background-color: var(--color-deep-navy);
}

.link-card-grid__list > li:nth-child(even) .link-card-grid__label {
  background-color: var(--color-slate-mid);
}

.link-card-grid__image-box {
  position: relative;
  overflow: hidden;

  aspect-ratio: auto;
  flex: 1;
  min-height: 48rem;
}

.link-card-grid__image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
}

.link-card-grid__card:hover .link-card-grid__image {
  transform: scale(1.04);
}

.bullet-panel__section {
  display: grid;
  background-color: var(--color-white);

  grid-template-columns: 1fr 1fr;
  min-height: 83rem;
}

.bullet-panel__image-box {
  position: relative;
  overflow: hidden;

  height: auto;
}

.bullet-panel__image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.bullet-panel__panel-wrapper {
  display: flex;
  flex-direction: column;
  justify-content: center;

  padding: 6.4rem;
}

.bullet-panel__panel {
  padding: 4.8rem;
  border-radius: 1.6rem;
  background-color: var(--color-deep-navy);
  color: var(--color-white);
}

.bullet-panel__title {
  font-weight: 400;
  text-align: center;

  margin-block-end: 5.6rem;
  font-size: 4rem;
}

.bullet-panel__items {
  display: flex;
  flex-direction: column;
  gap: 3.2rem;

  margin: 0;
  padding: 0;
  list-style: none;
}

.bullet-panel__item {
  position: relative;
  padding-inline-start: 3.6rem;
  font-size: 1.6rem;

  font-weight: 300;

  line-height: 1.5;
}

.bullet-panel__item::before {
  content: '';
  position: absolute;
  inset-inline-start: 0;
  inset-block-start: 0.7em;

  width: 0.8rem;
  height: 0.8rem;
  border-radius: 50%;
  background-color: var(--color-white);
}

.bullet-panel__item {
  font-size: 2.8rem;
}

.pill-bar__section {
  position: relative;
  z-index: 1;

  margin-block-start: -4rem;
}

.pill-bar__bar {
  margin-block: 0;
  padding-inline-start: 0;
  list-style: none;
  display: flex;
  max-width: 82rem;
  margin-inline: auto;
  padding: 2.4rem 3.2rem;
  border-radius: 1.2rem;
  background-color: var(--color-white);
  box-shadow: 0 0.4rem 2.4rem rgb(10 34 64 / 0.12);

  flex-direction: row;
  justify-content: space-around;
  align-items: center;
  gap: 0;
}

.pill-bar__item {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 1.2rem;
  font-size: 1.4rem;
  font-weight: 600;
  color: var(--color-deep-navy);

  flex: 1;
  justify-content: center;
  padding-inline: 2.4rem;
}

.pill-bar__item + .pill-bar__item {
  border-inline-start: 1px solid var(--color-cool-gray);
}

.pill-bar__dot {
  flex-shrink: 0;
  width: 0.8rem;
  height: 0.8rem;
  border-radius: 50%;
  background-color: var(--color-blue-horizon);
}

.call-to-action-bar__section {
  padding-block: 6.4rem;
  background-color: var(--color-surface);
  color: var(--color-deep-navy);
}

.call-to-action-bar__inner {
  display: flex;
  gap: 2.4rem;

  flex-direction: row;
  align-items: center;
  justify-content: space-between;
}

.call-to-action-bar__text {
  max-width: 44rem;
  font-weight: 500;

  font-size: 2.2rem;
}

.download-list__section {
  padding-inline: var(--page-padding);
  background-color: var(--color-surface);

  padding-block: 8rem;
}

.download-list__inner {
  width: 100%;

  max-width: 76rem;
  margin-inline: auto;
}

.download-list__title {
  margin: 0 0 3.2rem;

  font-size: 2.8rem;
  font-weight: 800;
  line-height: 1.25;
  color: var(--color-deep-navy);
}

.download-list__list {
  display: grid;

  gap: 1.6rem;

  margin: 0;
  padding: 0;

  list-style: none;
}

.download-list__item {
  display: grid;

  grid-template-columns: 1fr auto;

  align-items: stretch;

  min-height: 9.6rem;

  border: 1px solid var(--color-cool-gray);
  border-radius: 0.4rem;

  background-color: var(--color-white);
}

.download-list__name {
  align-self: center;
  margin: 0;
  font-size: var(--font-size-small);
  font-weight: 700;
  line-height: 1.5;
  color: var(--color-deep-navy);

  padding: 2.4rem 3.2rem;
}

.download-list__action {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--color-surface);
  color: var(--color-deep-navy);

  width: 9.6rem;
}

.download-list__action:hover,
.download-list__action:focus-visible {
  background-color: var(--color-deep-navy);
  color: var(--color-white);
}

.home-hero__section {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-block: 6.4rem;
  overflow: hidden;

  min-height: max(52.8vw, 76rem);
}

.home-hero__video {
  position: absolute;
  inset: 0;

  width: 100%;
  height: 100%;

  object-fit: cover;
}

.home-hero__section::after {
  content: '';

  position: absolute;
  inset: 0;

  background-color: rgb(24 22 22 / 0.5);
}

.home-hero__inner {
  position: relative;
  z-index: 1;

  max-width: 108rem;
}

.home-hero__title {
  margin: 0 0 2.4rem;
  font-weight: 800;
  line-height: 1.1;
  color: var(--color-white);
  text-wrap: balance;

  max-width: 90rem;
  font-size: 6.4rem;
}

.home-hero__text {
  margin: 0 0 4rem;
  font-weight: 400;
  line-height: 1.5;
  color: var(--color-white);

  max-width: 64rem;
  font-size: 2.4rem;
}

.home-hero__actions {
  display: flex;

  flex-wrap: wrap;

  gap: 1.6rem;
}

.pillar-grid__section {
  position: relative;

  padding-block: 8rem 0;

  overflow: hidden;

  background-color: var(--color-white);
}

.pillar-grid__backdrop {
  position: absolute;
  inset: 0;

  width: 100%;
  height: 100%;

  object-fit: cover;
  object-position: 50% 0%;
}

.pillar-grid__inner {
  position: relative;
  z-index: 1;
}

.pillar-grid__heading {
  margin-block-end: 5.6rem;

  text-align: center;
}

.pillar-grid__kicker {
  margin: 0 0 0.2rem;

  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.25;
  color: var(--color-deep-navy);
}

.pillar-grid__title {
  margin: 0 0 0.4rem;

  font-size: 3.6rem;
  font-weight: 800;
  line-height: 1.05;
  color: var(--color-deep-navy);
}

.pillar-grid__text {
  margin: 0;

  font-size: 2rem;
  font-weight: 400;
  line-height: 1.6;
  color: var(--color-deep-navy);
}

.pillar-grid__kicker {
  font-size: 3.2rem;
}

.pillar-grid__title {
  font-size: 7.2rem;
}

.pillar-grid__text {
  font-size: 2.4rem;
}

.pillar-grid__list {
  display: grid;
  margin: 0;
  padding: 0;
  list-style: none;

  grid-template-columns: repeat(4, 1fr);
  gap: 1.6rem;
}

.pillar-grid__card {
  display: flex;

  flex-direction: column;

  border-radius: 1.9rem 1.9rem 0 0;

  overflow: hidden;

  background-color: var(--color-deep-navy);
}

.pillar-grid__card:nth-child(even) {
  background-color: var(--color-slate-mid);
}

.pillar-grid__card-head {
  padding: 2.4rem 2rem 2rem;

  text-align: center;
}

.pillar-grid__card-title {
  margin: 0 0 1.6rem;

  font-size: 2rem;
  font-weight: 600;
  line-height: 1.25;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--color-white);
}

.pillar-grid__card-rule {
  height: 1px;

  margin: 0 -2rem 1.6rem;

  border: none;

  background-color: var(--color-white);
}

.pillar-grid__card-text {
  margin: 0;

  font-size: var(--font-size-small);
  font-weight: 400;
  line-height: 1.5;
  color: var(--color-white);
}

.pillar-grid__card-image {
  display: block;

  flex: 1 1 auto;

  width: 100%;

  aspect-ratio: 438 / 468;

  object-fit: cover;
}

.stage-grid__section {
  position: relative;

  padding-block-start: 4rem;
  padding-block-end: 8rem;

  overflow: hidden;

  background-color: var(--color-deep-navy);
}

.stage-grid__texture {
  position: absolute;
  inset: 0;

  width: 100%;
  height: 100%;

  background-image: url('../images/fondo-rombos-mascara.png');
  background-repeat: no-repeat;
  background-position: top center;
  background-size: 100% auto;

  opacity: 0.035;
}

.stage-grid__inner {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 6.4rem 2.4rem;
  align-items: center;

  grid-template-columns: 0.69fr 1fr;
}

.stage-grid__title {
  margin: 0 0 2.4rem;

  font-size: 3.2rem;
  font-weight: 800;
  line-height: 1;
  color: var(--color-white);
}

.stage-grid__title-muted {
  color: var(--color-slate-mid);
}

.stage-grid__text {
  margin: 0;

  font-size: 1.8rem;
  font-weight: 400;
  line-height: 1.2;
  color: var(--color-white);
}

.stage-grid__title {
  font-size: 6rem;
}

.stage-grid__text {
  font-size: 2.6rem;
}

.stage-grid__list {
  display: grid;
  margin: 8.6rem 0 0;
  padding: 0;
  list-style: none;
  grid-template-columns: repeat(2, 1fr);

  gap: max(calc(6.1vw + 2.2rem), 11rem) 2.4rem;
}

.stage-grid__card {
  position: relative;

  display: flex;

  flex-direction: column;

  align-items: center;
  justify-content: space-evenly;

  padding: 15.4% 2.4rem 3.2rem;

  border-radius: 3.1rem;

  background-color: var(--color-slate-dark);

  text-align: center;
}

.stage-grid__card:nth-child(2),
.stage-grid__card:nth-child(3) {
  background-color: var(--color-stone);
}

.stage-grid__badge {
  position: absolute;
  inset-block-start: 0;
  inset-inline-start: 50%;

  display: flex;

  align-items: center;
  justify-content: center;

  width: 35.1%;
  aspect-ratio: 1;

  border-radius: 999px;

  background-color: var(--color-white);

  translate: -50% -63.9%;
}

.stage-grid__badge-inner {
  display: flex;

  align-items: center;
  justify-content: center;

  width: 80.9%;
  aspect-ratio: 1;

  border-radius: 999px;

  background-color: var(--color-deep-navy);
}

.stage-grid__card:nth-child(2) .stage-grid__badge-inner,
.stage-grid__card:nth-child(3) .stage-grid__badge-inner {
  background-color: var(--color-slate-mid);
}

.stage-grid__icon {
  display: block;

  width: 43.2%;
  aspect-ratio: 1;

  color: var(--color-deep-navy);
}

.stage-grid__card:nth-child(1) .stage-grid__icon,
.stage-grid__card:nth-child(4) .stage-grid__icon {
  color: var(--color-ash);
}

.stage-grid__card-title {
  margin: 0 0 1.6rem;

  font-size: 4rem;
  font-weight: 600;
  line-height: 1;
  color: var(--color-white);
}

.stage-grid__card-text {
  margin: 0 0 2.4rem;

  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1.5;
  color: var(--color-white);
}

.strength-panel__section {
  display: grid;
  background-color: var(--color-slate-cool);

  grid-template-columns: 1231fr 689fr;
}

.strength-panel__media {
  position: relative;
  display: flex;
  align-items: flex-end;
  min-height: 36rem;
  overflow: hidden;

  block-size: min(max(68.28vw, 98.3rem), 100vh);
  padding: 6.4rem;
}

.strength-panel__image {
  position: absolute;
  inset: 0;

  width: 100%;
  height: 100%;

  object-fit: cover;
  opacity: 0.8;
}

.strength-panel__media::after {
  content: '';

  position: absolute;
  inset: 0;

  background-color: rgb(24 22 22 / 0.5);
}

.strength-panel__title {
  position: relative;
  z-index: 1;

  margin: 0;

  max-width: 14ch;

  font-size: 8rem;
  font-weight: 900;
  line-height: 1;
  color: var(--color-white);
}

.strength-panel__content {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  overflow: hidden;

  padding: 6.4rem;
}

.strength-panel__texture {
  position: absolute;
  inset-block: 0;
  inset-inline-end: 0;
  height: 100%;
  object-fit: cover;
  opacity: 0.4;
  mix-blend-mode: multiply;

  width: 278.7%;
  max-width: none;
}

.strength-panel__body {
  position: relative;
  z-index: 1;

  display: flex;

  flex: 1;
  flex-direction: column;

  align-items: center;
  justify-content: space-evenly;
}

.strength-panel__text {
  margin: 0;

  font-size: 2.2rem;
  font-weight: 400;
  line-height: 1.6;
  color: var(--color-white);
}

.news-carousel__section {
  padding-block: 8rem;
}

.news-carousel__heading {
  display: grid;
  margin-block-end: 5.6rem;

  grid-template-columns: 1fr 1fr;
  gap: 9.6rem;
  align-items: start;
}

.news-carousel__title {
  margin: 0;

  font-size: 5rem;
  font-weight: 800;
  line-height: 1.15;
  color: var(--color-deep-navy);
}

.news-carousel__intro {
  margin: 0;

  font-size: 2.2rem;
  font-weight: 400;
  line-height: 1.6;
  color: var(--color-deep-navy);
}

.news-carousel__viewport {
  display: grid;

  grid-template-columns: auto 1fr auto;

  gap: 2.4rem;
  align-items: center;
}

.news-carousel__arrow {
  flex-shrink: 0;
  width: 5.7rem;
  height: 5.7rem;
  padding: 0;
  border: none;
  background: none;
  cursor: pointer;

  display: block;
}

.news-carousel__arrow img {
  display: block;

  width: 100%;
  height: 100%;
}

.news-carousel__list {
  display: grid;

  grid-auto-flow: column;
  grid-auto-columns: 85%;

  gap: 2.4rem;

  margin: 0;
  padding: 0;

  list-style: none;

  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
}

.news-carousel__list::-webkit-scrollbar {
  display: none;
}

.news-carousel__list {
  grid-auto-columns: calc((100% - 4.8rem) / 3);
}

.news-carousel__card {
  min-width: 0;

  scroll-snap-align: start;

  display: flex;

  flex-direction: column;
}

.news-carousel__image {
  display: block;

  width: 100%;

  aspect-ratio: 504 / 425;

  border-radius: 1.5rem 1.5rem 0 0;

  object-fit: cover;
}

.news-carousel__body {
  display: flex;

  flex-direction: column;

  flex: 1;

  align-items: center;

  padding: 2.4rem 2.4rem 3.2rem;

  border-radius: 0 0 3.1rem 3.1rem;

  background-color: var(--color-paper);

  text-align: center;
}

.news-carousel__card-title {
  margin: 0 0 1.6rem;

  font-size: 2rem;
  font-weight: 700;
  line-height: 1.25;
  color: var(--color-deep-navy);
}

.news-carousel__card-rule {
  width: 27.5rem;
  max-width: 100%;
  height: 2px;

  margin: 0 0 1.6rem;

  border: none;

  background-color: var(--color-deep-navy);
}

.news-carousel__card-text {
  margin: 0 0 2.4rem;

  font-size: 1.3rem;
  font-weight: 400;
  line-height: 1.2;
  color: var(--color-deep-navy);
}

.news-carousel__card-action {
  margin-block-start: auto;
}

.home-cta__section {
  display: grid;
  background-color: var(--color-deep-navy);

  grid-template-columns: 667fr 1253fr;
}

.home-cta__content {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  overflow: hidden;

  padding: 8rem 6.4rem;
}

.home-cta__texture {
  position: absolute;
  inset: 0;

  width: 100%;
  height: 100%;

  background-image: url('../images/fondo-rombos-mascara.png');
  background-repeat: no-repeat;
  background-position: top center;
  background-size: 100% auto;

  opacity: 0.035;
}

.home-cta__body {
  position: relative;
  z-index: 1;
}

.home-cta__title {
  margin: 0 0 2.4rem;

  font-size: 4.8rem;
  font-weight: 800;
  line-height: 1.15;
  color: var(--color-white);
}

.home-cta__text {
  margin: 0 0 4rem;

  font-size: 2.2rem;
  font-weight: 400;
  line-height: 1.6;
  color: var(--color-white);
}

.home-cta__actions {
  display: flex;

  flex-wrap: wrap;

  gap: 1.8rem;
}

.home-cta__actions .button-link__button {
  flex: 1 1 0;

  min-width: max-content;
  padding: 1.8rem 1.4rem;
}

.home-cta__image {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 32rem;
  object-fit: cover;

  aspect-ratio: 1253 / 1120;
}

.range-bar__track {
  display: block;

  margin-block-start: 2.4rem;

  height: 0.6rem;

  background-color: rgb(255 255 255 / 0.15);
}

.range-bar__fill {
  position: relative;

  display: block;

  height: 100%;

  background-color: var(--color-fog);
}

.range-bar__fill::after {
  content: '';

  position: absolute;
  inset-block-end: 100%;
  inset-inline-end: -0.5rem;

  width: 0;
  height: 0;

  border-inline: 0.5rem solid transparent;
  border-block-start: 0.6rem solid var(--color-fog);
}

.range-bar__at-75 {
  width: 75%;
}

.range-bar__at-80 {
  width: 80%;
}

.range-bar__at-100 {
  width: 100%;
}

.focus-y-0 {
  object-position: 50% 0%;
}

.focus-y-13 {
  object-position: 50% 13%;
}

.focus-y-15 {
  object-position: 50% 15%;
}

.focus-y-26 {
  object-position: 50% 26%;
}

.focus-y-66 {
  object-position: 50% 66%;
}

.focus-y-87 {
  object-position: 50% 87%;
}

.focus-y-27 {
  object-position: 50% 27%;
}

.focus-y-82 {
  object-position: 50% 82%;
}

.focus-y-91 {
  object-position: 50% 91%;
}

.focus-x-26 {
  object-position: 26% 50%;
}

.focus-y-19 {
  object-position: 50% 19%;
}

.focus-y-37 {
  object-position: 50% 37%;
}

.focus-y-40 {
  object-position: 50% 40%;
}

.focus-y-50 {
  object-position: 50% 50%;
}

.focus-y-45 {
  object-position: 50% 45%;
}

.focus-y-46 {
  object-position: 50% 46%;
}

.focus-y-59 {
  object-position: 50% 59%;
}

.focus-y-99 {
  object-position: 50% 99%;
}

.focus-56-100 {
  object-position: 56% 100%;
}

.focus-y-10 {
  object-position: 50% 10%;
}

.focus-y-25 {
  object-position: 50% 25%;
}

.focus-y-70 {
  object-position: 50% 70%;
}

.focus-y-30 {
  object-position: 50% 30%;
}

.focus-x-0 {
  object-position: 0% 50%;
}

.focus-x-55 {
  object-position: 55% 50%;
}

.focus-y-100 {
  object-position: 50% 100%;
}

.hero__hero.hero__contained {
  min-height: 74rem;
  padding: 9.6rem 0 8rem;
}

.hero__hero.hero__tall {
  min-height: 86rem;
}

.hero__hero.hero__above-bar {
  padding-block-end: 14.4rem;
}

.hero__contained .hero__content {
  align-self: stretch;

  width: 100%;
  max-width: 124rem;
  margin-inline: auto;
  padding-inline: var(--page-padding);
}

.hero__contained .hero__kicker {
  margin-block-end: 1.6rem;

  font-weight: 700;
  color: var(--color-slate-cool);
}

.hero__contained .hero__title {
  max-width: 78rem;

  line-height: 1.1;
  text-wrap: wrap;
}

.hero__title-ruled {
  margin-block-end: 7.6rem;
}

.hero__title-ruled::after {
  content: '';

  position: absolute;

  width: 100vw;
  height: 0.8rem;
  margin-block-start: calc(1.1em + 2.8rem);

  background-color: var(--color-white);

  transform: translateX(-100%);
}

.hero__contained .hero__paragraphs {
  gap: 2.4rem;

  margin-block-start: 0;
}

.hero__contained .hero__text {
  max-width: 56rem;

  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.6;
}

.hero__text-quiet {
  color: var(--color-fog);
}

.hero__hero.hero__split.hero__contained {
  min-height: 83rem;
  padding: 0;

  grid-template-columns: 1fr 42%;
}

.hero__hero.hero__split.hero__contained .hero__content {
  align-self: center;

  max-width: none;
  margin-inline: 0;
  padding-block: 9.6rem 14.4rem;
  padding-inline-start: max(var(--page-padding), calc((100vw - 124rem) / 2 + var(--page-padding)));
}

.hero__split.hero__contained .hero__kicker {
  letter-spacing: 0.2em;
  text-transform: uppercase;
}

.hero__split.hero__contained .hero__title {
  max-width: 66rem;
}

.stage-timeline__section .section-heading__heading {
  margin-block-end: 5.6rem;
}

.attribute-bar__section + .content-stack__stack {
  padding-block-start: 2.2rem;
}

.content-stack__stack {
  padding-block: 5.4rem;
}

.content-stack__stack > section {
  padding-block: 5.4rem;
}

.content-stack__tight {
  padding-block: 7.8rem;
}

.content-stack__tight > section {
  padding-block: 3rem;
}

.feature-row__tall .feature-row__image-box {
  aspect-ratio: 704 / 958;
}

.feature-row__top .feature-row__inner {
  align-items: start;
}

.feature-row__image-right .feature-row__image-stack {
  order: 2;
}

.feature-row__image-stack {
  display: flex;
  flex-direction: column;

  gap: 1.6rem;
}

.feature-row__image-stack .feature-row__image-box {
  aspect-ratio: 706 / 710;
}

.feature-row__image-stack .feature-row__image-box + .feature-row__image-box {
  aspect-ratio: 706 / 556;
}

.feature-row__title-muted {
  color: var(--color-slate-dark);
}

.feature-row__title-large {
  font-size: 4rem;
  line-height: 1.15;
}

.feature-row__quiet .feature-row__text,
.feature-row__regular .feature-row__text {
  margin-block-end: 2.4rem;
}

.feature-row__regular .feature-row__text {
  font-weight: 400;
  color: var(--color-slate-dark);
}

.feature-row__content .feature-row__text:last-child {
  margin-block-end: 0;
}

.feature-row__on-dark .feature-row__title,
.feature-row__on-dark .feature-row__text {
  color: var(--color-white);
}

.feature-row__on-dark .feature-row__image-box {
  box-shadow: none;
}

.feature-row__divider {
  margin-block: 4rem;
}

.bullet-list__list {
  margin: 2.4rem 0 0;
  padding: 0;

  list-style: none;

  border-block-start: 1px solid var(--color-cool-gray);
}

.bullet-list__item {
  position: relative;

  padding: 2.2rem 0 2.2rem 3.2rem;

  border-block-end: 1px solid var(--color-cool-gray);

  font-size: var(--font-size-body);
  line-height: 1.4;
  color: var(--color-deep-navy);
}

.bullet-list__item::before {
  content: '';

  position: absolute;
  inset-block-start: 2.9rem;
  inset-inline-start: 0.2rem;

  width: 0.9rem;
  height: 0.9rem;

  background-color: var(--color-fog);
}

.definition-list__list {
  margin: 2.4rem 0 0;

  border-block-start: 1px solid var(--color-cool-gray);
}

.definition-list__item {
  padding-block: 2.2rem;

  border-block-end: 1px solid var(--color-cool-gray);
}

.definition-list__name {
  margin: 0 0 0.6rem;

  font-size: 1.7rem;
  font-weight: 700;
  line-height: 1.3;
  color: var(--color-deep-navy);
}

.definition-list__text {
  margin: 0;

  font-size: var(--font-size-body);
  line-height: 1.45;
  color: var(--color-slate-dark);
}

.definition-list__on-dark,
.definition-list__on-dark .definition-list__item {
  border-color: rgb(255 255 255 / 0.3);
}

.definition-list__on-dark .definition-list__name,
.definition-list__on-dark .definition-list__text {
  color: var(--color-white);
}

.numbered-list__list.numbered-list__spaced {
  margin-block-start: 2.4rem;
}

.numbered-list__on-dark .numbered-list__item {
  border-color: rgb(255 255 255 / 0.2);
}

.numbered-list__on-dark .numbered-list__number {
  color: var(--color-fog);
}

.numbered-list__on-dark .numbered-list__name {
  color: var(--color-white);
}

.numbered-list__item .chip-list__chip {
  border-color: transparent;

  background-color: var(--color-mist);

  font-weight: 700;
}

.stat-row__single {
  grid-template-columns: 1fr;
}

.stat-row__lead-wide {
  grid-template-columns: 1.5fr 1fr 1fr;
}

.stat-row__stacked {
  margin-block-start: 4rem;

  grid-template-columns: 1fr;
}

.stat-row__stacked .stat-row__item {
  padding-block: 2.8rem 2.4rem;

  border-block-end: 1px solid var(--color-cool-gray);
}

.stat-row__stacked .stat-row__item + .stat-row__item {
  padding-inline-start: 0;

  border-inline-start: none;
}

.stat-row__on-dark {
  border-block-start-color: rgb(255 255 255 / 0.3);
}

.stat-row__on-dark .stat-row__item + .stat-row__item {
  border-inline-start-color: rgb(255 255 255 / 0.3);
}

.stat-row__on-dark .stat-row__label {
  color: var(--color-fog);
}

.column-pair__section {
  padding-block: 10.8rem;
}

.column-pair__section.column-pair__spacious {
  padding-block: 14.4rem;
}

.column-pair__inner {
  display: grid;
  align-items: start;

  grid-template-columns: 1fr 1fr;
  gap: 6.4rem;
}

.column-pair__centered {
  align-items: center;
}

.column-pair__column {
  min-width: 0;
}

.column-pair__text {
  margin: 0 0 2.4rem;

  font-size: var(--font-size-body);
  line-height: 1.6;
  color: var(--color-slate-dark);
}

.column-pair__image {
  display: block;

  width: 100%;
  margin-block-start: 4rem;

  border-radius: 0.6rem;

  aspect-ratio: 706 / 765;
  object-fit: cover;
}

.section-heading__wide-text {
  align-items: start;

  margin-block-end: 0;

  grid-template-columns: 1fr 1.8fr;
  gap: 4.8rem;
}

.section-heading__wide-text .section-heading__text {
  max-width: none;

  font-weight: 400;
  color: var(--color-slate-dark);
}

.section-heading__text + .section-heading__text {
  margin-block-start: 2.4rem;
}

.section-heading__heading.section-heading__divided {
  margin-block-end: 8rem;
  padding-block-end: 8rem;
}

.dark-section__section .section-heading__rule {
  background-color: var(--color-fog);
}

.dark-section__section .section-heading__title {
  color: var(--color-white);
}

.dark-section__text {
  font-weight: 500;
}

.dark-section__text-strong {
  color: var(--color-white);
}

.dark-section__lead {
  margin: 0;

  font-size: 2rem;
  font-weight: 400;
  line-height: 1.6;
  color: var(--color-mist);
}

.dark-section__lead + .dark-section__lead {
  margin-block-start: 0.8rem;
}

.dark-section__media {
  margin-block-start: 4.8rem;
}

.dark-section__image-short {
  aspect-ratio: 1521 / 564;
}

.dark-section__aside-row {
  display: grid;
  align-items: end;

  margin-block-start: 4.8rem;

  grid-template-columns: 858fr 595fr;
  gap: 5.2rem;
}

.dark-section__aside-row .dark-section__image {
  aspect-ratio: 858 / 676;
}

.dark-section__section .chip-list__chip {
  border-color: rgb(255 255 255 / 0.35);

  color: var(--color-white);
}

.dark-section__section .chip-list__filled {
  border-color: rgb(255 255 255 / 0.12);

  background-color: rgb(255 255 255 / 0.1);
}

.dark-section__section .chip-list__solid,
.dark-section__section .chip-list__measure {
  border-color: transparent;

  color: var(--color-deep-navy);
}

.chip-list__list.chip-list__flush {
  margin-block-start: 0;
}

.divided-columns__list {
  display: grid;
  margin: 0;
  padding: 0;
  list-style: none;

  grid-template-columns: repeat(3, 1fr);
}

.divided-columns__pair {
  grid-template-columns: 1fr 1fr;
}

.divided-columns__item {
  padding-block: 0.8rem 1.6rem;
  padding-inline-end: 3.2rem;
}

.divided-columns__item + .divided-columns__item {
  padding-inline-start: 3.2rem;

  border-inline-start: 1px solid rgb(255 255 255 / 0.3);
}

.divided-columns__pair .divided-columns__item {
  padding-block: 3.2rem 4.8rem;
  padding-inline-end: 6.4rem;
}

.divided-columns__pair .divided-columns__item + .divided-columns__item {
  padding-inline-start: 6.4rem;
}

.divided-columns__head {
  display: flex;
  flex-direction: row;
  align-items: end;

  gap: 1.2rem;

  min-height: 5rem;
  margin-block-end: 1.6rem;
}

.divided-columns__name {
  margin: 0;

  font-size: 2rem;
  font-weight: 800;
  line-height: 1.25;
  color: var(--color-white);
}

.divided-columns__pair .divided-columns__name {
  margin-block-end: 2.4rem;

  font-size: 2.8rem;
  font-weight: 700;
}

.divided-columns__text {
  margin: 0;

  font-size: var(--font-size-small);
  line-height: 1.6;
  color: var(--color-fog);
}

.divided-columns__pair .divided-columns__text {
  font-size: var(--font-size-body);
  color: var(--color-white);
}

.divided-columns__head .chip-list__chip {
  flex-shrink: 0;

  padding: 0.5rem 1rem;

  white-space: nowrap;
}

.sensor-block__section {
  padding-block: 8rem;
}

.sensor-block__section.sensor-block__flush-start {
  padding-block-start: 2rem;
}

.sensor-block__section.sensor-block__on-dark {
  padding-block: 12rem;
}

.sensor-block__on-dark .sensor-block__head {
  align-items: end;

  grid-template-columns: 1fr 1fr;
}

.sensor-block__on-dark .chip-list__solid {
  border-color: transparent;

  color: var(--color-deep-navy);
}

.sensor-block__body .stat-row__list {
  margin-block-start: 2.4rem;
}

.range-bar__list {
  display: grid;
  margin: 4.8rem 0 0;
  padding: 0;
  list-style: none;

  border-block-start: 1px solid rgb(255 255 255 / 0.3);

  grid-template-columns: repeat(3, 1fr);
}

.range-bar__item {
  padding: 3.2rem 2.8rem 2rem;
}

.range-bar__item + .range-bar__item {
  border-inline-start: 1px solid rgb(255 255 255 / 0.3);
}

.range-bar__name {
  margin: 0 0 1.2rem;

  font-size: 2rem;
  font-weight: 800;
  line-height: 1.25;
  color: var(--color-white);
}

.range-bar__text {
  margin: 0;

  font-size: var(--font-size-small);
  font-weight: 500;
  color: var(--color-fog);
}

.caption-card__section {
  padding-block: 0 8rem;
}

.caption-card__list {
  display: grid;
  margin: 0;
  padding: 0;
  list-style: none;

  grid-template-columns: 1fr 1fr;
  gap: 4.4rem;
}

.caption-card__card {
  display: flex;
  flex-direction: column;

  overflow: hidden;

  border-radius: 0.6rem;

  background-color: var(--color-deep-navy);
  box-shadow: 0 0.8rem 2.4rem rgb(10 34 64 / 0.16);
}

.caption-card__body {
  padding: 4rem 5.4rem 3.6rem;
}

.caption-card__body .section-heading__rule {
  margin-block-end: 2.8rem;

  background-color: var(--color-fog);
}

.caption-card__name {
  margin: 0 0 1.2rem;

  font-size: 2rem;
  font-weight: 800;
  line-height: 1.25;
  color: var(--color-white);
}

.caption-card__text {
  margin: 0;

  font-size: var(--font-size-body);
  font-weight: 500;
  line-height: 1.6;
  color: var(--color-fog);
}

.caption-card__image {
  display: block;

  width: 100%;

  aspect-ratio: 732 / 465;
  object-fit: cover;
}

.caption-card__compact .caption-card__body {
  padding: 4rem 4.6rem 3.6rem;
}

.caption-card__compact .caption-card__text {
  font-weight: 700;
  color: var(--color-white);
}

.caption-card__compact .caption-card__image {
  aspect-ratio: 706 / 650;
}

.figure-block__section.figure-block__flush {
  padding-block: 6.4rem 9.6rem;
}

.figure-block__flush .figure-block__title {
  font-size: 2.8rem;
}

.figure-block__flush .figure-block__text {
  font-size: 1.8rem;
  color: var(--color-slate-dark);
}

.figure-block__plus {
  font-size: 0.45em;
  vertical-align: top;
  color: var(--color-accent-blue);
}

.photo-band__wide .photo-band__image {
  aspect-ratio: 1520 / 680;
}

.photo-band__tall .photo-band__text,
.photo-band__wide .photo-band__text {
  font-weight: 400;
  color: var(--color-mist);
}

.call-to-action-bar__emphasis .call-to-action-bar__text {
  max-width: 56rem;

  font-size: 2.6rem;
  font-weight: 700;
  line-height: 1.2;
}

.button-link__with-arrow {
  gap: 1.6rem;

  padding: 1.8rem 3.2rem;

  border-radius: 0.4rem;

  font-size: var(--font-size-body);
  font-weight: 700;

  box-shadow: 0 1.2rem 2.4rem rgb(10 34 64 / 0.18);
}

.focus-y-39 {
  object-position: 50% 39%;
}

.focus-y-58 {
  object-position: 50% 58%;
}

.focus-y-9 {
  object-position: 50% 9%;
}

.focus-y-16 {
  object-position: 50% 16%;
}

.focus-y-15 {
  object-position: 50% 15%;
}

.focus-y-64 {
  object-position: 50% 64%;
}

.focus-y-43 {
  object-position: 50% 43%;
}

.focus-y-26 {
  object-position: 50% 26%;
}

.focus-y-23 {
  object-position: 50% 23%;
}

.focus-y-11 {
  object-position: 50% 11%;
}

.focus-y-72 {
  object-position: 50% 72%;
}

.focus-y-80 {
  object-position: 50% 80%;
}

.focus-x-44 {
  object-position: 44% 50%;
}

.focus-x-60 {
  object-position: 60% 50%;
}

.focus-x-100 {
  object-position: 100% 50%;
}

.focus-x-42 {
  object-position: 42% 50%;
}

.focus-x-53 {
  object-position: 53% 50%;
}

.focus-x-56 {
  object-position: 56% 50%;
}

.focus-x-33 {
  object-position: 33% 50%;
}

.focus-x-3 {
  object-position: 3% 50%;
}

.focus-x-86 {
  object-position: 86% 50%;
}

.focus-x-76 {
  object-position: 76% 50%;
}

.focus-25-50 {
  object-position: 25% 50%;
}

.focus-x-45 {
  object-position: 45% 50%;
}

.focus-x-37 {
  object-position: 37% 50%;
}

.focus-x-41 {
  object-position: 41% 50%;
}

.focus-47-23 {
  object-position: 47% 23%;
}

.solution-grid__section.solution-grid__spacious {
  padding-block: 12rem;
}

.solution-grid__spacious .section-heading__heading {
  margin-block-end: 4.8rem;
}

/* -------------------------------------------------------------------------- */
/* About Us                                                                   */
/* -------------------------------------------------------------------------- */

.navbar__panel-group-wide {
  grid-column: 1 / -1;
}

.navbar__panel-list-columns {
  display: grid;

  grid-template-rows: repeat(4, auto);
  grid-auto-flow: column;
  grid-auto-columns: max-content;

  gap: 1.2rem 6.4rem;
}

.cutout-hero__section {
  position: relative;

  overflow: hidden;

  background-color: var(--color-deep-navy);
  color: var(--color-white);
}

.cutout-hero__image,
.cutout-hero__cutout {
  position: absolute;
  inset: 0;

  width: 100%;
  height: 100%;

  object-fit: cover;
  object-position: 50% 50%;
}

.cutout-hero__cutout {
  z-index: 2;

  pointer-events: none;
}

.cutout-hero__shade {
  position: absolute;
  inset: 0;

  background-color: rgb(24 22 22 / 0.3);
}

.cutout-hero__shade-strong {
  background-color: rgb(24 22 22 / 0.6);
}

.cutout-hero__content {
  position: relative;
  z-index: 1;
}

.cutout-hero__title {
  font-size: 6.4rem;
  font-weight: 800;
  line-height: 1.1;
}

.cutout-hero__wide {
  aspect-ratio: 1920 / 990;
}

.cutout-hero__wide .cutout-hero__content {
  position: absolute;
  inset-inline: 0;
  top: 10.5%;

  text-align: center;
}

.cutout-hero__title-display {
  font-size: 11.8vw;
  line-height: 1;
  letter-spacing: -0.01em;
  white-space: nowrap;
}

.cutout-hero__tall {
  aspect-ratio: 1920 / 1514;
}

.cutout-hero__tall .cutout-hero__image,
.cutout-hero__tall .cutout-hero__cutout {
  object-position: 40% 50%;
}

.cutout-hero__tall .cutout-hero__content {
  z-index: 3;

  display: flex;
  flex-direction: column;
  align-items: center;

  gap: 1.6rem;

  padding: 4.8rem var(--page-padding) 0;

  text-align: center;
}

.cutout-hero__tall .cutout-hero__title {
  font-size: 7.2rem;
}

.cutout-hero__tall .cutout-hero__text {
  max-width: 124rem;

  font-size: 2.4rem;
}

.cutout-hero__text {
  max-width: 104rem;

  font-size: 2.2rem;
  line-height: 1.6;
  text-wrap: balance;
}

.experience__section {
  display: flex;
  flex-direction: row;
  align-items: stretch;

  padding-block-start: 5.6rem;

  background-color: var(--color-deep-navy);
}

.experience__panel {
  position: relative;
  z-index: 1;

  flex: 0 0 43.6%;

  display: flex;
  flex-direction: column;
  justify-content: center;

  gap: 3.2rem;

  margin-inline-start: 4.8vw;
  padding: 8.8rem 6.4rem;

  border-radius: 6.4rem;

  background-color: var(--color-slate-cool);
  color: var(--color-white);
}

.experience__text {
  font-size: 2rem;
  line-height: 1.5;
}

.experience__lead {
  font-size: 1.5em;
  font-weight: 700;
  line-height: 1;
}

.experience__image-box {
  position: relative;

  flex: 1;

  min-height: 60rem;
  margin-block: 2.4rem;
  margin-inline-start: -6.4rem;
}

.experience__image {
  position: absolute;
  inset: 0;

  width: 100%;
  height: 100%;

  object-fit: cover;
  object-position: 0% 50%;
}

.discover__section {
  background-color: var(--color-deep-navy);
}

.discover__title {
  padding: 4.8rem var(--page-padding) 4rem;

  font-size: 4.8rem;
  font-weight: 800;
  line-height: 1.15;
  text-align: center;
  color: var(--color-white);
}

.discover__list {
  display: grid;

  grid-template-columns: repeat(5, minmax(0, 1fr));

  gap: 1.4rem;

  margin: 0;
  padding: 3.6rem var(--page-padding);

  list-style: none;

  background-color: var(--color-white);
}

.discover__link {
  position: relative;

  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;

  min-height: 9rem;
  padding: 1.6rem 2.4rem;

  border-radius: 1.6rem;

  font-size: 2.4rem;
  font-weight: 800;
  line-height: 1;
  text-align: center;
  color: var(--color-white);

  transition: transform 0.2s ease;
}

.discover__link::before {
  content: '';

  position: absolute;
  top: 0;
  left: 50%;

  width: 2rem;
  height: 2rem;

  border-radius: 50%;

  background-color: var(--color-slate-dark);

  transform: translate(-50%, -50%);
}

.discover__item:nth-child(even) .discover__link::before {
  background-color: var(--color-slate-cool);
}

.discover__link:hover {
  transform: translateY(0.4rem);
}

.discover__link:focus-visible {
  outline: 2px solid var(--color-electric-blue);
  outline-offset: 0.4rem;
}

.discover__link-deep-navy {
  background-color: var(--color-deep-navy);
}

.discover__link-deep-blue {
  background-color: color-mix(in srgb, var(--color-deep-navy) 35%, var(--color-harbor-blue));
}

.discover__link-harbor-blue {
  background-color: color-mix(in srgb, var(--color-harbor-blue) 80%, var(--color-blue-horizon));
}

.discover__link-slate-dark {
  background-color: var(--color-slate-dark);
}

.discover__link-slate-cool {
  background-color: var(--color-slate-cool);
}

.standards__section {
  --standards-inset: max(var(--page-padding), 5.4vw);

  position: relative;

  display: grid;

  grid-template-columns: 50% minmax(0, 1fr);
  align-content: start;

  min-height: 83.2vw;
  padding-block-end: 9.6rem;

  background-color: var(--color-white);
  color: var(--color-deep-navy);
}

.standards__image {
  position: absolute;
  inset: 0;

  width: 100%;
  height: 100%;

  object-fit: cover;
  object-position: 50% 50%;
}

.standards__panel {
  position: relative;
  z-index: 3;

  grid-column: 1;

  margin-block-start: -30.4vw;
  padding: 6.4rem 4.8rem 7.2rem var(--standards-inset);

  border-radius: 0 6.4rem 6.4rem 0;

  background-color: var(--color-deep-navy);
  color: var(--color-white);
}

.standards__panel-title {
  max-width: 52rem;

  font-size: 4rem;
  font-weight: 800;
  line-height: 1.15;
  text-transform: uppercase;
}

.standards__list {
  display: flex;
  flex-direction: column;

  gap: 3.2rem;

  margin: 5.6rem 0 0;
  padding: 0.4rem 0 0.4rem 3.6rem;

  border-inline-start: 1px solid var(--color-white);

  list-style: none;
}

.standards__name {
  display: block;

  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1.25;
}

.standards__year {
  font-weight: 300;
}

.standards__description {
  display: block;

  font-size: 2rem;
  line-height: 1.5;
}

.standards__title {
  position: relative;

  grid-column: 2;
  align-self: start;

  max-width: 44rem;
  margin-block-start: 6.4vw;
  margin-inline-start: 20%;

  font-size: 4.8rem;
  font-weight: 800;
  line-height: 1.15;
}

.standards__text {
  position: relative;

  grid-column: 1;

  max-width: calc(42rem + var(--standards-inset));
  margin-block-start: 5.6rem;
  padding-inline-start: var(--standards-inset);

  font-size: 2rem;
  line-height: 1.6;
}

.presence__section {
  padding-block: 7.2rem 8rem;

  background-color: color-mix(in srgb, var(--color-deep-navy) 35%, var(--color-harbor-blue));
  color: var(--color-white);
}

.intro-heading__heading {
  display: grid;

  grid-template-columns: 38% minmax(0, 1fr);
  align-items: center;

  gap: 3.2rem;

  padding-inline: 7.4vw;
}

.intro-heading__title {
  font-size: 7.2rem;
  font-weight: 800;
  line-height: 1.02;
  text-align: center;
}

.intro-heading__text {
  max-width: 74rem;

  font-size: 2.2rem;
  line-height: 1.35;
}

.intro-heading__lead {
  font-size: 1.5em;
  font-weight: 700;
  line-height: 1;
}

.presence__image {
  width: calc(100% - 14.8vw);
  margin: 6.4rem auto 0;

  aspect-ratio: 1642 / 963;

  border-radius: 7.2rem;

  object-fit: cover;
  object-position: 62% 47%;
}

.presence__list {
  display: grid;

  grid-template-columns: repeat(3, minmax(0, 1fr));

  margin: 5.6rem 0 0;
  padding: 0 4.8vw;

  list-style: none;
}

.presence__item {
  display: flex;
  flex-direction: column;
  align-items: center;

  gap: 1.2rem;

  padding: 3.2rem 4rem;

  text-align: center;
}

.presence__item + .presence__item {
  border-inline-start: 1px solid rgb(255 255 255 / 0.55);
}

.presence__name {
  max-width: 28rem;

  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1.2;
}

.presence__place {
  max-width: 30rem;

  font-size: 2rem;
  line-height: 1.4;
}

.presence__photo {
  width: 100%;

  aspect-ratio: 1920 / 1302;

  object-fit: cover;
  object-position: 73% 50%;
}

.contact__section {
  position: relative;

  display: grid;

  grid-template-columns: minmax(0, 1fr) minmax(0, 61.8rem);
  align-items: center;

  gap: 6.4rem;

  min-height: 80vw;
  padding: 11.2rem 7.2vw 11.2rem var(--page-padding);

  overflow: hidden;

  background-color: var(--color-ink);
  color: var(--color-white);
}

.contact__image {
  position: absolute;
  inset: 0;

  width: 100%;
  height: 100%;

  object-fit: cover;
  object-position: 44% 50%;
}

.contact__shade {
  position: absolute;
  inset: 0;

  background-color: rgb(24 22 22 / 0.68);
}

.contact__content {
  position: relative;

  display: flex;
  flex-direction: column;

  gap: 3.2rem;

  max-width: 54rem;
  margin-block-start: 6.4rem;
}

.contact__title {
  font-size: 7.2rem;
  font-weight: 800;
  line-height: 1.02;
}

.contact__text {
  font-size: 2.2rem;
  line-height: 1.3;
}

.contact__prompt {
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1.1;
}

.contact-form__form {
  position: relative;

  display: flex;
  flex-direction: column;

  gap: 2.4rem;

  padding: 4.8rem 4rem 3.6rem;

  border-radius: 5.4rem;

  background-color: var(--color-white);
  color: var(--color-deep-navy);
}

.contact-form__field {
  display: flex;
  flex-direction: column;

  gap: 1.2rem;
}

.contact-form__label {
  font-size: 1.7rem;
  font-weight: 500;
}

.contact-form__input {
  width: 100%;
  height: 4.6rem;
  padding: 0 1.6rem;

  border: 2px solid transparent;
  border-radius: 1.4rem;

  outline: none;
  appearance: none;

  background-color: color-mix(in srgb, var(--color-slate-cool) 30%, var(--color-white));

  font-size: 1.7rem;

  transition: border-color 0.15s ease, background-color 0.15s ease;
}

.contact-form__input:hover {
  background-color: color-mix(in srgb, var(--color-slate-cool) 38%, var(--color-white));
}

.contact-form__input:focus-visible {
  border-color: var(--color-harbor-blue);

  background-color: var(--color-white);
}

.contact-form__message {
  height: 15.2rem;
  padding-block: 1.2rem;

  resize: vertical;
}

.contact-form__select-box {
  position: relative;
}

.contact-form__select-box::after {
  content: '';

  position: absolute;
  top: 50%;
  right: 2.4rem;

  border-inline: 1rem solid transparent;
  border-block-start: 1.2rem solid var(--color-fog);

  transform: translateY(-50%);

  pointer-events: none;
}

.contact-form__select {
  padding-inline-end: 5.6rem;

  cursor: pointer;
}

.contact-form__submit {
  align-self: flex-end;

  min-width: 15.8rem;
  height: 4.6rem;
  margin-block-start: 0.8rem;
  padding: 0 3.2rem;

  border: none;
  border-radius: 999px;

  background-color: color-mix(in srgb, var(--color-deep-navy) 35%, var(--color-harbor-blue));
  color: var(--color-white);

  font-size: 1.8rem;
  font-weight: 700;

  cursor: pointer;

  transition: background-color 0.15s ease;
}

.contact-form__submit:hover {
  background-color: var(--color-deep-navy);
}

.contact-form__submit:focus-visible {
  outline: 2px solid var(--color-electric-blue);
  outline-offset: 0.3rem;
}

.framed-photo__section {
  padding: 12rem 12vw;

  background-color: var(--color-white);
}

.framed-photo__image {
  width: 100%;

  aspect-ratio: 1442 / 942;

  border-radius: 8.8rem;

  background-color: var(--color-slate-cool);

  object-fit: cover;
  object-position: 0% 39%;
}

.windows__section {
  padding-block: 7.2rem 9.6rem;

  background-color: color-mix(in srgb, var(--color-deep-navy) 35%, var(--color-harbor-blue));
  color: var(--color-white);
}

.windows__frame {
  --windows-gap: 1.49cqw;
  --windows-width: calc((100cqw - 2 * var(--windows-gap)) / 3);

  container-type: inline-size;

  display: grid;

  grid-template-columns: repeat(3, minmax(0, 1fr));

  gap: 1.49%;

  width: 70vw;
  margin: 0 auto 5.6rem;

  aspect-ratio: 1343 / 992;
}

.windows__window {
  border-radius: 5cqw;

  background-image: url('../images/au-who-we-are-01-team.jpg');
  background-repeat: no-repeat;
  background-size: 155cqw auto;
  background-position: calc(-28.5cqw - var(--windows-index) * (var(--windows-width) + var(--windows-gap))) -5.5cqw;
}

.advantages__title {
  padding: 3.6rem var(--page-padding);

  font-size: 5.6rem;
  font-weight: 800;
  line-height: 1.15;
  letter-spacing: 0.04em;
  text-align: center;
  color: color-mix(in srgb, var(--color-deep-navy) 35%, var(--color-harbor-blue));
}

.advantages__section {
  display: flex;
  flex-direction: column;
  justify-content: center;

  aspect-ratio: 1915 / 1108;
}

.advantages__section .cutout-hero__image,
.advantages__section .cutout-hero__cutout {
  width: 118%;
  height: 118%;

  object-position: 0% 0%;
}

.cutout-hero__shade-heavy {
  background-color: rgb(24 22 22 / 0.7);
}

.advantages__list {
  position: relative;
  z-index: 3;

  display: grid;

  grid-template-columns: repeat(2, minmax(0, 1fr));

  gap: 8rem 0;

  width: 62%;
  margin: 0;
  padding: 0 0 0 5.6vw;

  list-style: none;
}

.advantages__item {
  display: flex;
  flex-direction: column;

  gap: 2rem;

  padding-inline-end: 4.8rem;
}

.advantages__item:nth-child(even) {
  padding-inline-start: 7.2rem;
}

.advantages__list::before {
  content: '';

  position: absolute;
  top: -3.2rem;
  bottom: -3.2rem;
  left: calc(50% + 2.8vw);

  width: 1px;

  background-color: var(--color-white);
}

.advantages__name {
  max-width: 24rem;

  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1.15;
}

.advantages__text {
  max-width: 29rem;

  font-size: 2rem;
  line-height: 1.25;
}

.mission__section {
  display: grid;

  grid-template-columns: 33% repeat(2, minmax(0, 1fr));
  grid-template-rows: auto 1fr;

  background-color: var(--color-white);
  color: var(--color-deep-navy);
}

.mission__image {
  grid-column: 1;
  grid-row: 1 / 3;

  width: 100%;
  height: 100%;
  min-height: 46.8rem;

  object-fit: cover;
  object-position: 100% 50%;
}

.mission__title {
  grid-row: 1;

  padding: 3.6rem 3.2rem 2.4rem;

  border-block-end: 1px solid var(--color-deep-navy);

  font-size: 3.6rem;
  font-weight: 700;
  line-height: 1.25;
}

.mission__body {
  grid-row: 2;

  display: flex;
  flex-direction: column;

  gap: 2.4rem;

  padding: 2.8rem 3.2rem 6.4rem;

  font-size: 2rem;
  line-height: 1.3;
}

.mission__first {
  grid-column: 2;
}

.mission__second {
  grid-column: 3;
}

.cutout-hero__split {
  display: flex;
  flex-direction: column;

  aspect-ratio: 1917 / 1293;
}

.cutout-hero__shade-medium {
  background-color: rgb(24 22 22 / 0.4);
}

.cutout-hero__split .cutout-hero__content {
  z-index: 3;

  flex: 1;

  display: flex;
  flex-direction: column;
  justify-content: space-between;

  gap: 4.8rem;

  padding: 6.4rem 3.6vw 3.2rem 5.8vw;
}

.cutout-hero__split .cutout-hero__title {
  max-width: 70rem;

  font-size: 8rem;
  line-height: 1.02;
}

.cutout-hero__statement {
  align-self: flex-end;

  width: 42%;
}

.cutout-hero__statement-title {
  font-size: 4rem;
  font-weight: 700;
  line-height: 1.1;
}

.cutout-hero__statement-text {
  font-size: 2.2rem;
  line-height: 1.25;
}

.statement-band__section {
  padding: 6.4rem var(--page-padding) 7.2rem;

  background-color: var(--color-slate-cool);
  color: var(--color-white);
}

.statement-band__title {
  max-width: 124rem;
  margin-inline: auto;

  font-size: 4.4rem;
  font-weight: 700;
  line-height: 1.1;
  text-align: center;
}

.statement-band__lead {
  font-size: 1.25em;
}

.environment__section {
  position: relative;

  display: flex;
  flex-direction: column;
  justify-content: space-between;

  gap: 6.4rem;

  aspect-ratio: 1920 / 1519;

  overflow: hidden;

  background-color: var(--color-deep-navy);
  color: var(--color-white);
}

.environment__image {
  position: absolute;
  inset: 0;

  width: 100%;
  height: 100%;

  object-fit: cover;
  object-position: 100% 50%;
}

.environment__section::after {
  content: '';

  position: absolute;
  inset: 0;

  background-color: rgb(10 34 64 / 0.35);
}

.environment__text {
  position: relative;
  z-index: 1;

  max-width: 104rem;
  margin-inline: auto;
  padding: 5.6rem var(--page-padding) 0;

  font-size: 2.2rem;
  line-height: 1.45;
  text-align: center;
  text-wrap: balance;
}

.environment__lead {
  font-size: 1.2em;
}

.environment__card {
  position: relative;
  z-index: 1;

  align-self: flex-end;

  width: 39.4%;
  padding: 7.2rem 4.8rem 4.8rem 7.2rem;

  border-start-start-radius: 4.8rem;

  background-color: var(--color-white);
  color: var(--color-deep-navy);

  font-size: 2.2rem;
  line-height: 1.25;
}

.environment__card-lead {
  font-size: 1.2em;
  line-height: 1;
}

.attribute-bar__raised {
  margin-block-start: -8.4rem;
}

.attribute-bar__figures {
  max-width: 85rem;
  margin-inline: auto;
}

.attribute-bar__figures .attribute-bar__item {
  padding-block: 4rem;
}

.attribute-bar__figures .attribute-bar__body {
  align-self: flex-start;
}

.attribute-bar__figures .attribute-bar__name {
  font-size: 3.6rem;
  font-weight: 800;
  line-height: 1;
}

.attribute-bar__figures .attribute-bar__dot {
  margin-block-start: 0;
}

.attribute-bar__figures .attribute-bar__text {
  margin-block-start: 0.8rem;

  font-size: var(--font-size-body);
  font-weight: 400;
  color: var(--color-steel-mist);
}

.capability-list__section {
  padding-block: 6.4rem;
}

.capability-list__inner {
  display: grid;

  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;

  gap: 8rem;
}

.capability-list__title {
  margin-block-end: 3.2rem;

  font-size: 2.8rem;
  font-weight: 700;
  line-height: 1.25;
}

.capability-list__list {
  margin: 0;
  padding: 0;

  border-block-end: 1px solid var(--color-fog);

  list-style: none;
}

.capability-list__item {
  padding-block: 2.4rem;

  border-block-start: 1px solid var(--color-fog);
}

.capability-list__name {
  margin-block-end: 0.8rem;

  font-size: 2rem;
  font-weight: 700;
  line-height: 1.3;
}

.capability-list__text {
  font-size: 1.7rem;
  line-height: 1.6;
  color: var(--color-slate-dark);
}

.capability-list__image {
  width: 100%;

  aspect-ratio: 706 / 1050;

  border-radius: 0.6rem;

  box-shadow: 0 2.4rem 3.2rem -1.6rem rgb(10 34 64 / 0.35);

  object-fit: cover;
}

.photo-band__statement .photo-band__image {
  aspect-ratio: 1520 / 680;
}

.photo-band__statement .photo-band__inner::after {
  background: linear-gradient(
    to top,
    rgb(10 34 64 / 0.92) 0%,
    rgb(10 34 64 / 0.7) 30%,
    rgb(10 34 64 / 0) 70%
  );
}

.photo-band__statement .photo-band__content {
  grid-template-columns: minmax(0, 1fr);
}

.photo-band__statement-text {
  max-width: 68rem;

  font-size: 2.6rem;
  font-weight: 600;
  line-height: 1.35;
  color: var(--color-white);
}

.capability-card__section {
  padding-block: 9.6rem 8rem;
}

.capability-card__list {
  display: grid;

  grid-template-columns: repeat(3, minmax(0, 1fr));

  gap: 3.6rem;

  margin: 4rem 0 0;
  padding: 0;

  list-style: none;
}

.capability-card__card {
  display: flex;
  flex-direction: column;

  height: 100%;

  overflow: hidden;

  border: 1px solid var(--color-fog);
  border-radius: 0.6rem;

  background-color: var(--color-white);
}

.capability-card__image {
  width: 100%;

  aspect-ratio: 474 / 334;

  object-fit: cover;
}

.capability-card__body {
  display: flex;
  flex-direction: column;

  gap: 1.2rem;

  padding: 2.4rem 2.4rem 3.6rem;
}

.capability-card__number {
  font-size: 1.4rem;
  font-weight: 600;
  color: var(--color-steel-mist);
}

.capability-card__name {
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1.25;
}

.capability-card__text {
  font-size: 1.6rem;
  line-height: 1.6;
  color: var(--color-slate-dark);
}

.statement-photo__section {
  padding-block: 9.6rem;

  background-color: var(--color-deep-navy);
  color: var(--color-white);
}

.statement-photo__inner {
  display: grid;

  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: center;

  gap: 8rem;
}

.statement-photo__section .section-heading__rule {
  background-color: var(--color-accent-blue);
}

.statement-photo__text {
  max-width: 52rem;

  font-size: 2.6rem;
  font-weight: 600;
  line-height: 1.3;
}

.statement-photo__image {
  width: 100%;

  aspect-ratio: 705 / 658;

  border-radius: 0.6rem;

  object-fit: cover;
  object-position: 25% 50%;
}

.statement-ring__section {
  position: relative;

  padding-block: 9.6rem 10.4rem;

  overflow: hidden;

  background-color: color-mix(in srgb, var(--color-deep-navy) 78%, var(--color-ink));
  color: var(--color-white);
}

.statement-ring__section::after {
  content: '';

  position: absolute;
  top: 0;
  left: 58%;

  width: 66rem;
  height: 66rem;

  border: 5.6rem solid rgb(199 204 210 / 0.1);
  border-radius: 50%;
}

.statement-ring__inner {
  position: relative;
  z-index: 1;
}

.statement-ring__section .section-heading__rule {
  background-color: var(--color-accent-blue);
}

.statement-ring__title {
  max-width: 96rem;

  font-size: 5.6rem;
  font-weight: 800;
  line-height: 1.15;
}

.statement-ring__accent {
  color: var(--color-accent-blue);
}

.capability-card__four {
  grid-template-columns: repeat(4, minmax(0, 1fr));

  gap: 2.2rem;
}

.capability-card__four .capability-card__image {
  aspect-ratio: 359 / 393;
}

.capability-card__four .capability-card__name {
  font-size: 2rem;
}

.photo-band__deep .photo-band__inner::after {
  background: linear-gradient(
    to top,
    rgb(10 34 64 / 0.92) 0%,
    rgb(10 34 64 / 0.75) 35%,
    rgb(10 34 64 / 0) 80%
  );
}

.dark-section__text + .numbered-list__list {
  margin-block-start: 2.4rem;
}

.hero__hero.hero__short {
  min-height: 56.6rem;
}

.stat-row__note {
  font-size: 0.5em;
  font-weight: 600;
  color: var(--color-slate-cool);
}

.column-pair__image-landscape {
  margin-block-start: 0;

  aspect-ratio: 705 / 588;
}

.photo-trio__section {
  padding-block: 9.6rem 8rem;
}

.photo-trio__texts {
  display: flex;
  flex-direction: column;

  gap: 1.6rem;
}

.photo-trio__list {
  display: grid;

  grid-template-columns: 430fr 430fr 601fr;

  gap: 3rem;

  margin: 4.8rem 0 0;
  padding: 0;

  list-style: none;
}

.photo-trio__image {
  width: 100%;
  height: 48.6rem;

  border-radius: 0.6rem;

  box-shadow: 0 2.4rem 3.2rem -1.6rem rgb(10 34 64 / 0.35);

  object-fit: cover;
}

/* -------------------------------------------------------------------------- */
/* Energy Resources                                                           */
/* -------------------------------------------------------------------------- */

.milestone__section {
  padding-block: 12rem;

  background-color: var(--color-white);
  color: var(--color-deep-navy);
}

.milestone__inner {
  display: grid;
  align-items: center;

  grid-template-columns: auto minmax(0, 1fr);
  gap: 6.4rem;
}

.milestone__figure-box {
  display: flex;
  flex-direction: column;

  gap: 0.8rem;

  margin: 0;
  padding-inline-end: 6.4rem;

  border-inline-end: 1px solid var(--color-fog);
}

.milestone__label {
  font-size: 1.4rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--color-slate-blue);
}

.milestone__figure {
  font-size: 15.6rem;
  font-weight: 800;
  line-height: 0.9;
  letter-spacing: -0.02em;
}

.milestone__text {
  max-width: 56rem;
  margin: 0;

  font-size: 2.6rem;
  font-weight: 600;
  line-height: 1.35;
}

.capability-band__section {
  padding-block: 10.4rem;

  background-color: var(--color-deep-navy);
  color: var(--color-white);
}

.capability-band__inner {
  display: grid;
  align-items: start;

  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6.4rem;
}

.capability-band__section .section-heading__rule {
  margin-block-end: 2.4rem;

  background-color: var(--color-fog);
}

.capability-band__statement {
  max-width: 50rem;
  margin: 0;

  font-size: 2.6rem;
  font-weight: 600;
  line-height: 1.35;
}

.capability-band__kicker {
  margin: 0;

  font-size: 1.2rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--color-fog);
}

.bullet-list__on-dark {
  border-block-start-color: rgb(255 255 255 / 0.18);
}

.bullet-list__on-dark .bullet-list__item {
  border-block-end-color: rgb(255 255 255 / 0.18);

  font-size: 1.8rem;
  font-weight: 600;
  color: var(--color-white);
}

.bullet-list__on-dark .bullet-list__item::before {
  inset-block-start: 3rem;

  background-color: var(--color-slate-cool);
}

.statement__section {
  padding-block: 12rem 0;

  background-color: var(--color-white);
}

.statement__title {
  max-width: 92rem;
  margin: 0;

  font-size: 4rem;
  font-weight: 700;
  line-height: 1.2;
  color: var(--color-deep-navy);
}

.statement__highlight {
  color: var(--color-dusk-blue);
}

.capability-mosaic__section {
  padding-block: 9.6rem 12rem;

  background-color: var(--color-white);
}

.capability-mosaic__title {
  margin: 0 0 4rem;

  font-size: 3.6rem;
  font-weight: 800;
  line-height: 1.15;
  color: var(--color-deep-navy);
}

.capability-mosaic__list {
  display: grid;

  grid-template-areas:
    'one two three three'
    'one four five six'
    'seven seven five eight';
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-auto-rows: 26.4rem;
  gap: 2rem;

  margin: 0;
  padding: 0;

  list-style: none;
}

.capability-mosaic__one {
  grid-area: one;
}

.capability-mosaic__two {
  grid-area: two;
}

.capability-mosaic__three {
  grid-area: three;
}

.capability-mosaic__four {
  grid-area: four;
}

.capability-mosaic__five {
  grid-area: five;
}

.capability-mosaic__six {
  grid-area: six;
}

.capability-mosaic__seven {
  grid-area: seven;
}

.capability-mosaic__eight {
  grid-area: eight;
}

.capability-mosaic__card {
  position: relative;
  isolation: isolate;

  display: flex;
  flex-direction: column;
  justify-content: space-between;

  height: 100%;
  padding: 2rem;
  overflow: hidden;

  border-radius: 0.6rem;

  text-decoration: none;
}

.capability-mosaic__navy {
  background-color: var(--color-deep-navy);
  color: var(--color-white);
}

.capability-mosaic__light {
  background-color: var(--color-fog);
  color: var(--color-deep-navy);
}

.capability-mosaic__photo {
  background-color: var(--color-deep-navy);
  color: var(--color-white);
}

.capability-mosaic__photo::after {
  content: '';

  position: absolute;
  z-index: -1;
  inset: 0;

  background: linear-gradient(
    to top,
    rgb(10 34 64 / 0.85) 0%,
    rgb(10 34 64 / 0.35) 45%,
    rgb(10 34 64 / 0.1) 100%
  );
}

.capability-mosaic__image {
  position: absolute;
  z-index: -2;
  inset: 0;

  width: 100%;
  height: 100%;

  object-fit: cover;

  transition: transform 0.4s ease;
}

.capability-mosaic__number {
  font-size: 1.3rem;
  font-weight: 700;
  color: var(--color-fog);
}

.capability-mosaic__light .capability-mosaic__number {
  color: var(--color-slate-cool);
}

.capability-mosaic__footer {
  display: flex;
  flex-direction: row;
  align-items: flex-end;
  justify-content: space-between;

  gap: 1.6rem;
}

.capability-mosaic__name {
  max-width: 22rem;

  font-size: 2rem;
  font-weight: 700;
  line-height: 1.2;
}

.capability-mosaic__tall .capability-mosaic__name {
  font-size: 2.6rem;
}

.capability-mosaic__arrow {
  flex: none;

  transition: transform 0.2s ease;
}

.capability-mosaic__card:hover .capability-mosaic__arrow,
.capability-mosaic__card:focus-visible .capability-mosaic__arrow {
  transform: translateX(0.4rem);
}

.capability-mosaic__card:hover .capability-mosaic__image,
.capability-mosaic__card:focus-visible .capability-mosaic__image {
  transform: scale(1.04);
}

.capability-mosaic__card:focus-visible {
  outline: 3px solid var(--color-electric-blue);
  outline-offset: 3px;
}

.lead-pair__section {
  padding-block: 10.4rem 0;

  background-color: var(--color-white);
}

.lead-pair__inner {
  display: grid;
  align-items: start;

  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6.4rem;
}

.lead-pair__lead {
  max-width: 44rem;
  margin: 0;

  font-size: 2.6rem;
  font-weight: 600;
  line-height: 1.35;
  color: var(--color-deep-navy);
}

.lead-pair__body {
  display: flex;
  flex-direction: column;

  gap: 2.4rem;
}

.lead-pair__text {
  max-width: 50rem;
  margin: 0;

  font-size: var(--font-size-body);
  line-height: 1.6;
  color: var(--color-slate-dark);
}

.capability-steps__section {
  padding-block: 11.2rem;

  background-color: var(--color-white);
}

.capability-steps__inner {
  display: grid;
  align-items: start;

  grid-template-areas:
    'kicker .'
    'list image';
  grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr);
  column-gap: 8rem;
}

.capability-steps__kicker {
  grid-area: kicker;

  margin: 0 0 2rem;

  font-size: 1.3rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--color-slate-cool);
}

.capability-steps__list {
  grid-area: list;

  margin: 0;
  padding: 0;

  border-block-start: 1px solid var(--color-fog);

  list-style: none;
}

.capability-steps__item {
  display: grid;

  grid-template-columns: 9.6rem minmax(0, 1fr);
  grid-template-rows: auto auto;
  column-gap: 0;

  padding-block: 3.6rem;

  border-block-end: 1px solid var(--color-fog);
}

.capability-steps__number {
  grid-row: 1 / span 2;

  font-size: 4rem;
  font-weight: 800;
  line-height: 1;
  color: var(--color-slate-cool);
}

.capability-steps__name {
  max-width: 44rem;
  margin: 0;

  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.2;
  color: var(--color-deep-navy);
}

.capability-steps__text {
  max-width: 44rem;
  margin: 1.2rem 0 0;

  font-size: var(--font-size-body);
  line-height: 1.5;
  color: var(--color-slate-dark);
}

.capability-steps__image {
  grid-area: image;

  display: block;

  width: 100%;

  border-radius: 0.6rem;
  box-shadow: 0 2.4rem 4.8rem -2.4rem rgb(10 34 64 / 0.45);

  aspect-ratio: 600 / 957;
  object-fit: cover;
}

.lead-pair__with-image .lead-pair__inner {
  align-items: center;

  grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
}

.lead-pair__with-image .lead-pair__lead {
  max-width: 48rem;
}

.lead-pair__with-image .lead-pair__body {
  gap: 3.2rem;
}

.lead-pair__image {
  display: block;

  width: 100%;

  border-radius: 0.6rem;
  box-shadow: 0 2.4rem 4.8rem -2.4rem rgb(10 34 64 / 0.45);

  aspect-ratio: 776 / 679;
  object-fit: cover;
}

.stage-timeline__detailed {
  margin-block-start: 10.4rem;
  padding-block: 11.2rem 12.8rem;
  padding-inline: 0;

  border-block-end: 1px solid var(--color-mist);

  background-color: var(--color-surface);
}

.stage-timeline__detailed .section-heading__title-box {
  margin-block-end: 5.6rem;
}

.stage-timeline__detailed .stage-timeline__list {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  column-gap: 3.2rem;
}

.stage-timeline__detailed .stage-timeline__list::before {
  background-color: var(--color-deep-navy);
}

.stage-timeline__detailed .stage-timeline__item {
  gap: 1.2rem;

  padding-block-start: 5.6rem;
}

.stage-timeline__detailed .stage-timeline__dot {
  border-width: 2px;
}

.stage-timeline__detailed .stage-timeline__number {
  font-size: 4rem;
  font-weight: 800;
  line-height: 1;
  color: var(--color-accent-blue);
}

.stage-timeline__detailed .stage-timeline__label {
  max-width: 22rem;
  margin: 0;

  font-size: 2rem;
  font-weight: 700;
  line-height: 1.25;
}

.stage-timeline__text {
  max-width: 22rem;
  margin: 0;

  font-size: 1.5rem;
  line-height: 1.5;
  color: var(--color-slate-dark);
}

.capability-board__section {
  padding-block: 11.2rem;

  background-color: var(--color-white);
}

.capability-board__kicker {
  margin: 0 0 2rem;

  font-size: 1.3rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--color-slate-cool);
}

.capability-board__list {
  display: grid;

  grid-template-areas:
    'one photo photo'
    'one two three'
    'four five .';
  grid-template-columns: minmax(0, 1.3fr) repeat(2, minmax(0, 1fr));
  grid-template-rows: 30.4rem 24.6rem 24.6rem;
  gap: 1.6rem;

  margin: 0;
  padding: 0;

  list-style: none;
}

.capability-board__one {
  grid-area: one;
}

.capability-board__two {
  grid-area: two;
}

.capability-board__three {
  grid-area: three;
}

.capability-board__four {
  grid-area: four;
}

.capability-board__five {
  grid-area: five;
}

.capability-board__photo {
  grid-area: photo;

  overflow: hidden;

  border-radius: 0.6rem;
}

.capability-board__image {
  display: block;

  width: 100%;
  height: 100%;

  object-fit: cover;
}

.capability-board__card {
  display: flex;
  flex-direction: column;
  justify-content: space-between;

  gap: 2.4rem;

  padding: 2.4rem;

  border: 1px solid transparent;
  border-radius: 0.6rem;

  color: var(--color-deep-navy);
}

.capability-board__navy {
  background-color: var(--color-deep-navy);
  color: var(--color-white);
}

.capability-board__light {
  background-color: var(--color-fog);
}

.capability-board__muted {
  background-color: var(--color-slate-cool);
}

.capability-board__outlined {
  border-color: var(--color-fog);

  background-color: var(--color-white);
}

.capability-board__number {
  font-size: 1.3rem;
  font-weight: 700;
  color: var(--color-slate-cool);
}

.capability-board__navy .capability-board__number {
  color: var(--color-fog);
}

.capability-board__muted .capability-board__number {
  color: var(--color-mist);
}

.capability-board__name {
  max-width: 28rem;
  margin: 0;

  font-size: 2rem;
  font-weight: 700;
  line-height: 1.25;
}

.capability-board__navy .capability-board__name {
  max-width: 34rem;

  font-size: 3.2rem;
  line-height: 1.15;
}

.capability-board__text {
  max-width: 32rem;
  margin: 1.2rem 0 0;

  font-size: 1.5rem;
  line-height: 1.5;
  color: var(--color-slate-dark);
}

.capability-board__navy .capability-board__text {
  font-size: var(--font-size-body);
  color: var(--color-fog);
}

.capability-board__muted .capability-board__text {
  color: var(--color-deep-navy);
}

.lead-pair__section.lead-pair__image-first {
  padding-block-end: 11.2rem;
}

.lead-pair__image-first .lead-pair__inner {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8rem;
}

.lead-pair__image-first .lead-pair__image {
  aspect-ratio: 1 / 1;
}

.dark-section__capabilities {
  padding-block: 12rem 12.8rem;
  padding-inline: 0;
}

.dark-section__capabilities .section-heading__rule {
  background-color: var(--color-white);
}

.numbered-row__grid {
  margin-block-start: 5.6rem;

  border-block-start-color: rgb(255 255 255 / 0.2);
}

.numbered-row__grid .numbered-row__item {
  padding-block: 4rem;
  padding-inline-end: 3.2rem;

  border-block-end: 1px solid rgb(255 255 255 / 0.2);
}

.numbered-row__grid .numbered-row__item + .numbered-row__item {
  padding-inline-start: 3.2rem;

  border-inline-start-color: rgb(255 255 255 / 0.2);
}

.numbered-row__grid .numbered-row__item:nth-child(3n + 1) {
  padding-inline-start: 0;

  border-inline-start: 0;
}

.numbered-row__grid .numbered-row__number {
  margin-block-end: 2.4rem;

  letter-spacing: 0.04em;
  color: var(--color-slate-cool);
}

.numbered-row__grid .numbered-row__name {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.2;
}

.numbered-row__grid .numbered-row__text {
  max-width: 32rem;

  font-size: 1.5rem;
  font-weight: 400;
  color: var(--color-fog);
}

.lead-pair__section.lead-pair__spaced {
  padding-block-end: 11.2rem;
}

.lead-pair__image-portrait {
  aspect-ratio: 775 / 835;
}

.hero__split.hero__contained.hero__breadcrumb .hero__kicker {
  letter-spacing: 0.02em;
  text-transform: none;
}

.photo-trio__section {
  padding-block: 8.8rem 11.2rem;

  background-color: var(--color-white);
}

.photo-trio__list {
  display: grid;

  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 2rem;

  margin: 0;
  padding: 0;

  list-style: none;
}

.photo-trio__image {
  display: block;

  width: 100%;

  border-radius: 0.6rem;
  box-shadow: 0 2.4rem 4.8rem -2.4rem rgb(10 34 64 / 0.45);

  aspect-ratio: 488 / 649;
  object-fit: cover;
}

.metric-cards__section {
  padding-block: 0 12rem;

  background-color: var(--color-white);
}

.metric-cards__section .section-heading__title-box {
  margin-block-end: 4rem;
}

.metric-cards__list {
  display: grid;

  grid-template-columns: minmax(0, 1.17fr) minmax(0, 1fr);
  gap: 2rem;

  margin: 0;
  padding: 0;

  list-style: none;
}

.metric-cards__card {
  padding: 4rem;

  border-radius: 0.6rem;

  background-color: var(--color-deep-navy);
  color: var(--color-white);
}

.metric-cards__figure {
  margin: 0 0 2.4rem;

  font-size: 5.6rem;
  font-weight: 800;
  line-height: 1;
  letter-spacing: -0.01em;
}

.metric-cards__unit {
  font-size: 0.45em;
  font-weight: 700;
  letter-spacing: 0;
  color: var(--color-fog);
}

.metric-cards__separator {
  margin-inline: 1.6rem;

  font-size: 0.6em;
  font-weight: 400;
  vertical-align: 0.15em;
  color: var(--color-fog);
}

.metric-cards__name {
  margin: 0;

  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1.25;
}

.metric-cards__text {
  margin: 1.2rem 0 0;

  font-size: 1.5rem;
  line-height: 1.5;
  color: var(--color-fog);
}

.capability-columns__list {
  display: grid;

  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 6.4rem;

  margin: 2rem 0 0;
  padding: 0;

  list-style: none;
}

.capability-columns__item {
  padding-block: 2.8rem;

  border-block-end: 1px solid var(--color-fog);
}

.capability-columns__item:nth-child(-n + 2) {
  border-block-start: 1px solid var(--color-fog);
}

.capability-columns__name {
  margin: 0;

  font-size: 2rem;
  font-weight: 700;
  line-height: 1.25;
  color: var(--color-deep-navy);
}

.capability-columns__text {
  margin: 0.8rem 0 0;

  font-size: 1.5rem;
  line-height: 1.5;
  color: var(--color-slate-dark);
}

.dark-section__metrics {
  padding-block: 8.8rem;
  padding-inline: 0;
}

.stat-row__large {
  margin: 0;

  border-block-start: 0;
}

.stat-row__large .stat-row__item {
  padding-block: 0.8rem;
}

.stat-row__large .stat-row__item + .stat-row__item {
  padding-inline-start: 4.8rem;

  border-inline-start-color: var(--color-fog);
}

.stat-row__large .stat-row__figure {
  margin-block-end: 1.6rem;

  font-size: 6.4rem;
  letter-spacing: -0.01em;
}

.stat-row__large .stat-row__unit {
  font-size: 0.45em;
  letter-spacing: 0;
  color: var(--color-fog);
}

.stat-row__large .stat-row__label {
  max-width: 24rem;

  font-size: 1.5rem;
  font-weight: 400;
  color: var(--color-fog);
}

.capability-table__section {
  padding-block: 11.2rem;

  background-color: var(--color-white);
}

.capability-table__inner {
  display: grid;
  align-items: start;

  grid-template-areas:
    'kicker .'
    'list photos';
  grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr);
  column-gap: 6.4rem;
}

.capability-table__kicker {
  grid-area: kicker;

  margin: 0 0 2rem;

  font-size: 1.3rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--color-slate-cool);
}

.capability-table__list {
  grid-area: list;

  margin: 0;

  border-block-start: 2px solid var(--color-slate-cool);
}

.capability-table__row {
  display: grid;

  grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
  gap: 3.2rem;

  padding-block: 2.8rem;

  border-block-end: 1px solid var(--color-fog);
}

.capability-table__name {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.25;
  color: var(--color-deep-navy);
}

.capability-table__text {
  margin: 0;

  font-size: 1.5rem;
  line-height: 1.5;
  color: var(--color-slate-dark);
}

.capability-table__photos {
  grid-area: photos;

  display: flex;
  flex-direction: column;

  gap: 1.6rem;
}

.capability-table__image {
  display: block;

  width: 100%;

  border-radius: 0.6rem;
  box-shadow: 0 2.4rem 4.8rem -2.4rem rgb(10 34 64 / 0.45);

  aspect-ratio: 528 / 370;
  object-fit: cover;
}

.capability-table__image-tall {
  aspect-ratio: 528 / 494;
}

.capability-rows__inner {
  display: grid;
  align-items: start;

  grid-template-areas:
    'kicker'
    'list';
  grid-template-columns: minmax(0, 1fr);
}

.capability-rows__with-image {
  grid-template-areas:
    'kicker .'
    'list image';
  grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr);
  column-gap: 8rem;
}

.capability-rows__kicker {
  grid-area: kicker;

  margin: 0 0 2rem;

  font-size: 1.3rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--color-slate-cool);
}

.capability-rows__list {
  grid-area: list;

  margin: 0;
  padding: 0;

  border-block-start: 1px solid rgb(255 255 255 / 0.2);

  list-style: none;
}

.capability-rows__item {
  display: grid;
  align-items: center;

  grid-template-columns: 9.6rem minmax(0, 1.1fr) minmax(0, 1fr);
  column-gap: 3.2rem;

  padding-block: 3.6rem;

  border-block-end: 1px solid rgb(255 255 255 / 0.2);
}

.capability-rows__number {
  font-size: 1.3rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: var(--color-accent-blue);
}

.capability-rows__name {
  margin: 0;

  font-size: 2.8rem;
  font-weight: 700;
  line-height: 1.2;
  color: var(--color-white);
}

.capability-rows__accent .capability-rows__name {
  color: var(--color-accent-blue);
}

.capability-rows__text {
  max-width: 40rem;
  margin: 0;

  font-size: var(--font-size-body);
  line-height: 1.6;
  color: var(--color-fog);
}

.capability-rows__compact .capability-rows__item {
  align-items: baseline;

  grid-template-columns: 4.8rem minmax(0, 1fr);
  column-gap: 0;

  padding-block: 2.8rem;
}

.capability-rows__compact .capability-rows__name {
  max-width: 44rem;

  font-size: 2rem;
  font-weight: 600;
  line-height: 1.3;
}

.capability-rows__image {
  grid-area: image;

  display: block;

  width: 100%;

  border-radius: 0.6rem;

  aspect-ratio: 564 / 957;
  object-fit: cover;
}

.tag-pair__list {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;

  gap: 1.6rem;

  margin: 1.6rem 0 0;
  padding: 0;

  list-style: none;
}

.tag-pair__tag {
  padding: 2rem 2.4rem;

  border: 1px solid var(--color-deep-navy);

  font-size: 2.6rem;
  font-weight: 800;
  line-height: 1;
  color: var(--color-deep-navy);
}

.tag-pair__filled {
  background-color: var(--color-deep-navy);
  color: var(--color-white);
}

/* -------------------------------------------------------------------------- */
/* About Us: Our Story                                                        */
/* -------------------------------------------------------------------------- */

.page-breadcrumb__list {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  gap: 1.2rem;

  margin: 0;
  padding: 0;
  list-style: none;

  font-size: 1.5rem;
  color: var(--color-steel-mist);
}

.page-breadcrumb__list li {
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  gap: 1.2rem;
}

.page-breadcrumb__list li + li::before {
  content: '';

  width: 0.6rem;
  height: 0.6rem;

  border-block-start: 1px solid currentColor;
  border-inline-end: 1px solid currentColor;

  transform: rotate(45deg);
}

.page-breadcrumb__list a:hover {
  text-decoration: underline;
}

.page-breadcrumb__list [aria-current='page'] {
  color: var(--color-deep-navy);
}

.page-breadcrumb__home {
  display: inline-flex;
}

.page-breadcrumb__on-dark {
  color: var(--color-fog);
}

.page-breadcrumb__on-dark [aria-current='page'] {
  color: var(--color-white);
}

.history-hero__section {
  padding-block: 4rem 8rem;

  background-color: var(--color-deep-navy);
  color: var(--color-white);
}

.history-hero__inner {
  display: grid;
  align-items: start;

  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  column-gap: 6.4rem;
}

.history-hero__heading {
  display: contents;
}

.history-hero__kicker {
  grid-column: 1;
  grid-row: 2;
  justify-self: start;
}

.history-hero__title {
  grid-column: 1;
  grid-row: 3;
}

.history-hero__body {
  grid-column: 2;
  grid-row: 3;
}

.history-hero__breadcrumb {
  grid-column: 1 / -1;

  margin-block-end: 6.4rem;
}

.history-hero__kicker {
  display: inline-block;

  margin: 0 0 2.4rem;
  padding-block-end: 1.2rem;
  border-block-end: 1px solid var(--color-fog);

  font-size: 1.8rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.history-hero__title {
  margin: 0;

  font-size: 7.2rem;
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -0.02em;
}

.history-hero__lead {
  margin: 0;

  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1.25;
  text-align: justify;
  hyphens: auto;
}

.history-hero__text {
  margin: 1.6rem 0 0;

  font-size: 2rem;
  line-height: 1.6;
  text-align: justify;
  hyphens: auto;
  color: var(--color-fog);
}

.history-photo__section {
  margin-block-start: -1px;

  background: linear-gradient(to bottom, var(--color-deep-navy) 50%, var(--color-white) 50%);
}

.history-photo__image {
  display: block;

  width: 100%;
  max-width: 128rem;
  margin-inline: auto;

  border-radius: 3.2rem;

  aspect-ratio: 1530 / 1020;
  object-fit: cover;
}

.history-timeline__section {
  padding-block: 2.4rem 2.4rem;

  background-color: var(--color-white);
}

.history-timeline__list {
  display: grid;

  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 2.4rem;

  margin: 0;
  padding: 3.2rem;

  border-radius: 3.2rem;

  background-color: var(--color-whisper);

  list-style: none;
}

.history-timeline__item {
  display: flex;
  flex-direction: column;

  min-height: 32rem;
  padding: 3.2rem 3.2rem 4rem;

  border-radius: 2.4rem;

  background-color: var(--color-white);
  color: var(--color-slate-dark);
}

.history-timeline__muted {
  background-color: var(--color-linen);
}

.history-timeline__year {
  display: flex;
  flex-direction: row;
  align-items: baseline;
  gap: 0.8rem;

  align-self: flex-start;

  margin: 0 0 2.4rem -3.2rem;
  padding: 0 3.2rem 1.2rem;
  border-block-end: 1px solid var(--color-slate-mid);

  font-size: 4.8rem;
  font-weight: 500;
  line-height: 1;
  font-variant-numeric: lining-nums;
}

.history-timeline__since {
  font-size: 1.8rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.history-timeline__text {
  margin: 0;

  font-size: 1.8rem;
  font-weight: 300;
  line-height: 1.5;
  text-align: justify;
  hyphens: auto;
}

.history-closing__section {
  padding-block-start: 2.4rem;

  background-color: var(--color-white);
}

.history-closing__image {
  display: block;

  width: 100%;

  aspect-ratio: 1920 / 1290;
  object-fit: cover;
  object-position: 52% 50%;
}

/* -------------------------------------------------------------------------- */
/* About Us: Careers                                                          */
/* -------------------------------------------------------------------------- */

.careers-hero__section {
  padding-block: 4rem 9.6rem;

  background-color: var(--color-marine-blue);
  color: var(--color-white);
}

.careers-hero__inner {
  display: grid;
  align-items: center;

  grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
  column-gap: 6.4rem;
}

.careers-hero__breadcrumb {
  grid-column: 1 / -1;

  margin-block-end: 6.4rem;
}

.careers-hero__title {
  max-width: 64rem;
  margin: 0 0 3.2rem;

  font-size: 7.2rem;
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -0.02em;
}

.careers-hero__text {
  max-width: 64rem;
  margin: 0 0 2rem;

  font-size: 2rem;
  line-height: 1.6;
  color: var(--color-mist);
}

.careers-hero__gallery {
  display: grid;

  grid-template-columns: minmax(0, 0.79fr) minmax(0, 1fr);
  grid-template-rows: repeat(2, minmax(0, 1fr));
  gap: 2rem;

  aspect-ratio: 854 / 582;
}

.careers-hero__image {
  display: block;

  width: 100%;
  height: 100%;

  border-radius: 2.8rem;

  object-fit: cover;
}

.careers-hero__image-tall {
  grid-row: 1 / -1;
}

.growth__section {
  padding-block: 8.8rem 12rem;

  background-color: var(--color-whisper);
}

.growth__header {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 2.4rem;

  margin-block-end: 4.8rem;
}

.growth__title {
  margin: 0;

  font-size: 4.8rem;
  font-weight: 500;
  line-height: 1.15;
  letter-spacing: -0.01em;
  text-transform: uppercase;
  color: var(--color-slate-dark);
}

.growth__title::after {
  content: '';

  display: block;

  width: 18rem;
  margin-block-start: 2.4rem;

  border-block-start: 1px solid var(--color-slate-dark);
}

.growth__action {
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  gap: 1.6rem;

  padding: 1.4rem 3.2rem;

  border-radius: 99rem;

  background-color: var(--color-marine-blue);
  color: var(--color-white);

  font-size: 2rem;
  font-weight: 300;

  transition: background-color 160ms ease;
}

.growth__action:hover {
  background-color: var(--color-deep-navy);
}

.growth__action:focus-visible {
  outline: 2px solid var(--color-marine-blue);
  outline-offset: 0.4rem;
}

.growth__list {
  display: grid;

  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 3.2rem;

  margin: 0;
  padding: 0;

  list-style: none;
}

.growth__card {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 4rem;

  min-height: 34rem;
  padding: 6.4rem 4rem 5.6rem;

  border-radius: 3.2rem;

  background-color: var(--color-white);
  color: var(--color-slate-dark);
}

.growth__muted {
  background-color: var(--color-linen);
}

.growth__name {
  margin: 0;

  font-size: 3.2rem;
  font-weight: 500;
  line-height: 1.25;
  letter-spacing: -0.01em;
}

.growth__text {
  margin: 0;

  font-size: 1.8rem;
  font-weight: 300;
  line-height: 1.5;
  text-align: justify;
  hyphens: auto;
}

/* -------------------------------------------------------------------------- */
/* About Us: Locations                                                        */
/* -------------------------------------------------------------------------- */

.contact-hero__section {
  padding-block: 4rem 9.6rem;

  background-color: var(--color-marine-blue);
  color: var(--color-white);
}

.contact-hero__inner {
  display: grid;
  align-items: center;

  grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr);
  column-gap: 6.4rem;
}

.contact-hero__breadcrumb {
  grid-column: 1 / -1;

  margin-block-end: 6.4rem;
}

.contact-hero__title {
  margin: 0;

  font-size: 7.2rem;
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -0.02em;
}

.contact-hero__lead {
  margin: 0;

  font-size: 3.2rem;
  font-weight: 500;
  line-height: 1.25;
  text-transform: uppercase;
}

.contact-hero__text {
  margin: 1.6rem 0 0;

  font-size: 2rem;
  line-height: 1.6;
  color: var(--color-mist);
}

.locations__photo {
  display: block;

  width: 100%;
  max-height: 68rem;

  aspect-ratio: 1920 / 974;
  object-fit: cover;
}

.locations__section {
  padding-block: 5.6rem;

  background-color: var(--color-deep-navy);
}

.locations__list {
  display: grid;

  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 2rem;

  margin: 0;
  padding: 0;

  list-style: none;
}

.locations__column {
  min-height: 56rem;
  padding: 3.2rem 0 4rem;

  background-color: var(--color-linen);
  color: var(--color-slate-dark);
}

.locations__muted {
  background-color: var(--color-fog);
}

.locations__region {
  margin: 0 2.4rem 3.2rem;

  font-size: 2.2rem;
  font-weight: 800;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.locations__site + .locations__site {
  margin-block-start: 3.2rem;
}

.locations__city {
  margin: 0 2.4rem;

  font-size: 1.8rem;
  font-weight: 600;
  text-transform: uppercase;
}

.locations__type {
  margin: 0.2rem 2.4rem 0.8rem;

  font-size: 1.6rem;
  font-weight: 300;
  line-height: 1.35;
}

.locations__details {
  margin: 0;
}

.locations__row {
  display: grid;
  align-items: start;

  grid-template-columns: 2.2rem minmax(0, 1fr);
  column-gap: 1.2rem;

  padding: 0.8rem 2.4rem 0.8rem 3.2rem;
}

.locations__row + .locations__row {
  border-block-start: 1px solid var(--color-slate-mid);
}

.locations__row dd {
  margin: 0;

  font-size: 1.6rem;
  font-weight: 300;
  line-height: 1.4;
  overflow-wrap: anywhere;
}

.locations__icon {
  display: block;

  width: 2.2rem;
  height: 2.2rem;
}

.locations__note {
  margin: 0 2.4rem 1.6rem;

  font-size: 1.6rem;
  font-weight: 300;
  line-height: 1.4;
}

/* -------------------------------------------------------------------------- */
/* About Us: Global Presence                                                  */
/* -------------------------------------------------------------------------- */

.presence-hero__section {
  overflow: hidden;

  padding-block: 4rem 9.6rem;

  background-color: var(--color-marine-blue);
  color: var(--color-white);
}

.presence-hero__top,
.presence-hero__bottom {
  position: relative;
  z-index: 1;
}

.presence-hero__breadcrumb {
  margin-block-end: 4.8rem;
}

.presence-hero__kicker {
  display: inline-block;

  margin: 0 0 1.6rem;
  padding-block-end: 1.2rem;
  padding-inline-end: 6.4rem;
  border-block-end: 1px solid var(--color-fog);

  font-size: 2rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.presence-hero__title {
  max-width: 11ch;
  margin: 0;

  font-size: 7.2rem;
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -0.02em;
}

.presence-hero__map {
  display: block;

  width: 100%;
  height: auto;
  margin-block: -16vw -8vw;

  pointer-events: none;
}

.presence-hero__bottom {
  display: grid;
  align-items: start;

  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  column-gap: 4.8rem;
}

.presence-hero__subtitle {
  margin: 0;

  font-size: 4.8rem;
  font-weight: 700;
  line-height: 1.15;
}

.presence-hero__body {
  margin-block-start: 5.5rem;
}

.presence-hero__text {
  margin: 0 0 1.6rem;

  font-size: 2rem;
  line-height: 1.6;
  text-align: left;
  hyphens: auto;
  color: var(--color-mist);
}

.presence-hero__text:last-child {
  margin-block-end: 0;
}

.presence-locations__section {
  background-color: var(--color-whisper);
}

.presence-locations__inner {
  display: grid;
  align-items: center;

  grid-template-columns: minmax(0, 0.72fr) minmax(0, 1fr);
  column-gap: 4.8rem;

  padding-inline: var(--page-padding);
}

.presence-locations__content {
  padding-block: 6.4rem;
}

.presence-locations__title {
  margin: 0 0 3.2rem;

  font-size: 4.8rem;
  font-weight: 500;
  line-height: 1.15;
  text-transform: uppercase;
  color: var(--color-slate-dark);
}

.presence-locations__title::after {
  content: '';

  display: block;

  width: 18rem;
  margin-block-start: 2.4rem;

  border-block-start: 1px solid var(--color-slate-dark);
}

.presence-locations__list {
  margin: 0;

  font-size: 1.8rem;
  line-height: 1.5;
  color: var(--color-slate-dark);
}

.presence-locations__list dt {
  font-weight: 600;
  color: var(--color-deep-navy);
  font-size: 2.2rem;
}

.presence-locations__list dd {
  margin: 0 0 2rem;

  font-weight: 300;
}

.presence-locations__offices {
  margin: 0.8rem 0 0;
  padding: 0;

  list-style: none;
}

.presence-locations__offices li {
  position: relative;

  padding-inline-start: 2rem;
}

.presence-locations__offices li::before {
  content: '';

  position: absolute;
  inset-block-start: 0.7em;
  inset-inline-start: 0.2rem;

  width: 0.7rem;
  height: 0.7rem;

  background-color: var(--color-slate-dark);
}

.presence-locations__country {
  font-weight: 400;
}

.presence-locations__image {
  display: block;

  width: 100%;
  height: 100%;
  min-height: 48rem;

  aspect-ratio: 1120 / 748;
  object-fit: cover;
}

.presence-regions__section {
  padding: 3.2rem var(--page-padding) 4.8rem;

  background-color: var(--color-whisper);
}

.presence-regions__card {
  padding: 4.8rem 3.2rem 4rem;

  border-radius: 3.2rem;

  background-color: var(--color-white);
}

.presence-regions__title {
  margin: 0 0 3.2rem;

  font-size: 4.8rem;
  font-weight: 500;
  line-height: 1.15;
  text-transform: uppercase;
  color: var(--color-slate-dark);
}

.presence-regions__title::after {
  content: '';

  display: block;

  width: 18rem;
  margin-block-start: 2.4rem;

  border-block-start: 1px solid var(--color-slate-dark);
}

.presence-regions__list {
  display: grid;

  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 2rem;

  margin: 0;
  padding: 0;

  list-style: none;
}

.presence-regions__item {
  min-height: 21rem;
  padding: 3.2rem 2.4rem;

  background-color: var(--color-linen);
  color: var(--color-slate-dark);
}

.presence-regions__muted {
  background-color: var(--color-fog);
}

.presence-regions__name {
  margin: 0 0 1.6rem;

  font-size: 2.6rem;
  font-weight: 800;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.presence-regions__text {
  margin: 0;

  font-size: 1.8rem;
  font-weight: 300;
  line-height: 1.5;
  text-align: justify;
  hyphens: auto;
}

.presence-reach__section {
  padding-block: 8.8rem;

  background-color: var(--color-deep-navy);
  color: var(--color-white);
}

.presence-reach__inner {
  display: grid;
  align-items: center;

  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  column-gap: 6.4rem;
}

.presence-reach__title {
  max-width: 12ch;
  margin: 0;

  font-size: 4.8rem;
  font-weight: 700;
  line-height: 1.15;
}

.presence-reach__text {
  margin: 0;

  font-size: 2rem;
  line-height: 1.6;
  color: var(--color-mist);
}

/* -------------------------------------------------------------------------- */
/* About Us: Contact Us                                                       */
/* -------------------------------------------------------------------------- */

.contact-request__section {
  padding-block: 4rem 9.6rem;

  background-color: var(--color-deep-navy);
  color: var(--color-white);
}

.contact-request__inner {
  display: grid;
  align-items: center;

  grid-template-columns: minmax(0, 0.58fr) minmax(0, 1fr);
  column-gap: 4.8rem;
}

.contact-request__inner.container,
.contact-regions__section .container {
  max-width: none;
}

.contact-request__breadcrumb {
  grid-column: 1 / -1;

  margin-block-end: 4rem;
}

.contact-request__title {
  margin: 0 0 3.2rem;

  font-size: clamp(4rem, 3.6vw, 7.2rem);
  font-weight: 500;
  line-height: 1.1;
  letter-spacing: -0.01em;
}

.contact-request__title strong {
  display: block;

  font-weight: 700;
}

.contact-request__lead {
  margin: 0 0 2.4rem;

  font-size: 2.2rem;
  font-weight: 500;
  line-height: 1.4;
}

.contact-request__text {
  margin: 0;

  font-size: 2rem;
  line-height: 1.5;
  color: var(--color-mist);
}

.contact-request__card {
  display: grid;
  align-items: stretch;

  grid-template-columns: minmax(0, 1fr) minmax(0, 1.55fr);
  column-gap: 3.2rem;

  padding: 3.2rem;

  border-radius: 2.4rem;

  background-color: var(--color-surface);
  color: var(--color-deep-navy);
}

.contact-request__panel {
  display: flex;
  flex-direction: column;

  padding: 0.8rem 0.8rem 0.8rem 2.4rem;
}

.contact-request__heading {
  margin: 0 0 2.4rem;

  font-size: 2.2rem;
  font-weight: 300;
}

.contact-request__form {
  display: grid;

  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.8rem 2.4rem;
}

.contact-request__form[hidden],
.contact-request__confirmation[hidden] {
  display: none;
}

.contact-request__wide {
  grid-column: 1 / -1;
}

.contact-request__field {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
}

.contact-request__label {
  font-size: 1.5rem;
  color: var(--color-steel-mist);
  font-weight: 300;
}

.contact-request__input {
  width: 100%;
  padding: 0.4rem 0 0.6rem;

  border: 0;
  border-block-end: 1px solid var(--color-deep-navy);
  border-radius: 0;

  background-color: transparent;
  color: var(--color-deep-navy);

  font: inherit;
  font-size: 1.3rem;
  font-weight: 300;
}

.contact-request__input::placeholder {
  color: var(--color-deep-navy);
  opacity: 0.85;
}

.contact-request__input:focus-visible {
  outline: none;
  border-block-end-width: 2px;
  border-block-end-color: var(--color-marine-blue);
}

.contact-request__input[aria-invalid='true'] {
  border-block-end-color: var(--color-electric-blue);
}

.contact-request__select {
  position: relative;
}

.contact-request__select select {
  padding-inline-end: 2.4rem;

  appearance: none;
  cursor: pointer;
}

.contact-request__select::after {
  content: '';

  position: absolute;
  inset-block-start: 0.9rem;
  inset-inline-end: 0.6rem;

  width: 0.6rem;
  height: 0.6rem;

  border-block-end: 1px solid currentColor;
  border-inline-end: 1px solid currentColor;

  transform: rotate(45deg);

  pointer-events: none;
}

.contact-request__message {
  min-height: 9.6rem;
  margin-block-start: 0.6rem;
  padding: 0.8rem 1rem;

  border: 1px solid var(--color-deep-navy);
  border-radius: 0.6rem;

  resize: vertical;
}

.contact-request__consent {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 0.8rem;

  font-size: 1.4rem;
  color: var(--color-steel-mist);
  cursor: pointer;
  font-weight: 300;
}

.contact-request__checkbox {
  width: 1.4rem;
  height: 1.4rem;
  margin: 0;

  accent-color: var(--color-marine-blue);
}

.contact-request__submit {
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  gap: 1.2rem;

  grid-column: 1 / -1;
  justify-self: end;

  padding: 1rem 2.4rem;

  border: 0;
  border-radius: 99rem;

  background-color: var(--color-marine-blue);
  color: var(--color-white);

  font: inherit;
  font-size: 1.6rem;
  font-weight: 300;

  cursor: pointer;
  transition: background-color 160ms ease;
}

.contact-request__submit:hover {
  background-color: var(--color-deep-navy);
}

.contact-request__submit:focus-visible {
  outline: 2px solid var(--color-marine-blue);
  outline-offset: 0.3rem;
}

.contact-request__confirmation {
  margin-block: auto;
  padding-block: 4.8rem;
}

.contact-request__confirmation:focus {
  outline: none;
}

.contact-request__thanks {
  margin: 0 0 1.6rem;

  font-size: 3.2rem;
  font-weight: 500;
  line-height: 1.25;
  color: var(--color-slate-dark);
}

.contact-request__received {
  max-width: 28rem;
  margin: 0;

  font-size: 2rem;
  line-height: 1.6;
  color: var(--color-slate-dark);
  font-weight: 300;
}

.contact-request__image {
  display: block;

  width: 100%;
  height: 100%;
  min-height: 48rem;

  border-radius: 2.4rem;

  object-fit: cover;
  object-position: 36% 50%;
}

.contact-regions__section {
  padding-block: 8.8rem 12rem;

  background-color: var(--color-whisper);
}

.contact-regions__title {
  margin: 0 0 4.8rem;

  font-size: 4.8rem;
  font-weight: 500;
  line-height: 1.15;
  text-transform: uppercase;
  color: var(--color-slate-dark);
}

.contact-regions__title::after {
  content: '';

  display: block;

  width: 18rem;
  margin-block-start: 2.4rem;

  border-block-start: 1px solid var(--color-slate-dark);
}

.contact-regions__list {
  display: grid;

  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 3.2rem;

  margin: 0;
  padding: 0;

  list-style: none;
}

.contact-regions__card {
  min-height: 27rem;
  padding-block: 4.8rem 4rem;

  border-radius: 2rem;

  background-color: var(--color-white);
  color: var(--color-slate-dark);
}

.contact-regions__muted {
  background-color: var(--color-linen);
}

.contact-regions__name {
  margin: 0 2.4rem 2.4rem 3.2rem;

  font-size: 3.2rem;
  font-weight: 500;
  line-height: 1.25;
}

.contact-regions__details {
  margin: 0;
}

.contact-regions__row {
  display: grid;
  align-items: center;

  grid-template-columns: 2.2rem minmax(0, 1fr);
  column-gap: 1.2rem;

  padding: 0.8rem 2.4rem 0.8rem 4rem;
}

.contact-regions__row + .contact-regions__row {
  border-block-start: 1px solid var(--color-slate-mid);
}

.contact-regions__row dd {
  margin: 0;

  font-size: 1.8rem;
  font-weight: 300;
  overflow-wrap: anywhere;
}

.contact-regions__company {
  display: block;

  font-size: 1.4rem;
}

.contact-regions__icon {
  display: block;

  width: 2.2rem;
  height: 2.2rem;
}

/* -------------------------------------------------------------------------- */
/* About Us: Leadership                                                       */
/* -------------------------------------------------------------------------- */

.leadership-hero__image {
  display: block;

  width: 100%;
  max-height: 72rem;

  aspect-ratio: 1918 / 1014;
  object-fit: cover;
  object-position: 100% 50%;
}

.leadership-intro__section {
  padding-block: 6.4rem 8rem;

  background-color: var(--color-marine-blue);
  color: var(--color-white);
}

.leadership-intro__title {
  margin: 0 0 4rem;

  font-size: 7.2rem;
  font-weight: 500;
  line-height: 1.1;
}

.leadership-intro__body {
  max-width: 80rem;
  margin-inline: auto;
}

.leadership-intro__text {
  margin: 0 0 2rem;

  font-size: 2rem;
  line-height: 1.6;
  text-align: justify;
  hyphens: auto;
  color: var(--color-mist);
}

.leadership-intro__text strong {
  font-weight: 700;
  color: var(--color-white);
}

.leadership-team__section {
  padding-block: 8.8rem 10.4rem;

  background-color: var(--color-deep-navy);
  color: var(--color-white);
}

.leadership-team__title {
  margin: 0 0 5.6rem;

  font-size: 4.8rem;
  font-weight: 700;
  line-height: 1.15;
}

.leadership-team__list {
  display: grid;

  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 5.6rem 2.4rem;

  margin: 0;
  padding: 0;

  list-style: none;
}

.leadership-team__card {
  display: flex;
  flex-direction: column;
  align-items: stretch;

  width: 100%;
  padding: 0;

  border: 0;

  background: none;
  color: inherit;

  font: inherit;
  text-align: left;
}

button.leadership-team__card {
  cursor: pointer;
}

.leadership-team__portrait {
  display: grid;
  place-items: center;

  margin-block-end: 1.6rem;

  border-radius: 2.4rem;

  background-color: var(--color-harbor-blue);

  aspect-ratio: 360 / 516;

  transition: transform 200ms ease;
}

button.leadership-team__card:hover .leadership-team__portrait {
  transform: translateY(-0.4rem);
}

button.leadership-team__card:focus-visible {
  outline: none;
}

button.leadership-team__card:focus-visible .leadership-team__portrait {
  outline: 2px solid var(--color-accent-blue);
  outline-offset: 0.4rem;
}

.leadership-team__initials {
  font-size: 4.8rem;
  font-weight: 300;
  letter-spacing: 0.04em;
  color: var(--color-accent-blue);
}

.leadership-team__name {
  font-size: 2.6rem;
  font-weight: 500;
  line-height: 1.25;
}

.leadership-team__role {
  margin-block-start: 0.4rem;

  font-size: 1.8rem;
  font-weight: 300;
  line-height: 1.4;
  color: var(--color-fog);
}

.leadership-bio__dialog {
  width: min(72rem, calc(100% - 3.2rem));
  max-height: min(80vh, 72rem);
  padding: 0;

  border: 0;
  border-radius: 2.4rem;

  background-color: var(--color-white);
  color: var(--color-deep-navy);
}

.leadership-bio__dialog[open] {
  display: flex;
  flex-direction: column;
}

.leadership-bio__dialog::backdrop {
  background-color: rgb(10 34 64 / 0.72);
}

.leadership-bio__header {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  justify-content: space-between;
  gap: 2.4rem;

  padding: 3.2rem 3.2rem 2.4rem 4rem;

  border-block-end: 1px solid var(--color-mist);
}

.leadership-bio__name {
  margin: 0;

  font-size: 2.8rem;
  font-weight: 600;
  line-height: 1.15;
}

.leadership-bio__role {
  margin: 0.6rem 0 0;

  font-size: 1.5rem;
  color: var(--color-steel-mist);
}

.leadership-bio__close {
  display: inline-flex;
  flex-shrink: 0;

  padding: 0.8rem;

  border: 0;
  border-radius: 50%;

  background-color: var(--color-surface);
  color: var(--color-deep-navy);

  cursor: pointer;
}

.leadership-bio__close:hover {
  background-color: var(--color-mist);
}

.leadership-bio__close:focus-visible {
  outline: 2px solid var(--color-marine-blue);
  outline-offset: 0.2rem;
}

.leadership-bio__body {
  overflow-y: auto;

  padding: 2.4rem 4rem 4rem;

  overscroll-behavior: contain;
}

.leadership-bio__text {
  margin: 0 0 1.6rem;

  font-size: 1.6rem;
  line-height: 1.65;
  color: var(--color-slate-dark);
}

.leadership-bio__pending {
  font-style: italic;
  color: var(--color-steel-mist);
}

.leadership-bio__text:last-child {
  margin-block-end: 0;
}

/* -------------------------------------------------------------------------- */
/* About Us: News                                                             */
/* -------------------------------------------------------------------------- */

.news-article__section {
  padding-block: 4rem 8rem;

  background-color: var(--color-whisper);
  color: var(--color-deep-navy);
}

.news-article__inner.container {
  max-width: none;
}

.news-article__kicker {
  display: inline-block;

  margin: 6.4rem 0 0;
  padding-block-end: 1.2rem;
  padding-inline-end: 6.4rem;
  border-block-end: 1px solid var(--color-slate-dark);

  font-size: 1.8rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--color-slate-dark);
}

.news-article__header {
  display: grid;
  align-items: center;

  grid-template-columns: 5.6rem minmax(0, 1fr) 5.6rem;
  column-gap: 3.2rem;

  margin-block: 4.8rem 5.6rem;
}

.news-article__title {
  max-width: 80vw;
  margin: 0 auto;

  font-size: clamp(3.6rem, 3.2vw, 6.4rem);
  font-weight: 300;
  line-height: 1.1;
  letter-spacing: -0.01em;
  text-align: center;
  text-wrap: balance;
}

.news-article__step {
  display: inline-flex;

  border-radius: 50%;

  color: var(--color-marine-blue);

  transition: color 160ms ease;
}

.news-article__step:hover {
  color: var(--color-deep-navy);
}

.news-article__step:focus-visible {
  outline: 2px solid var(--color-marine-blue);
  outline-offset: 0.4rem;
}

.news-article__panel {
  --news-image-inset: 6vw;
  --news-image-ratio: 664 / 1624;

  position: relative;

  padding-inline: var(--news-image-inset);

  container-type: inline-size;
}

.news-article__panel::before {
  content: '';

  position: absolute;
  inset: calc((100cqi - 2 * var(--news-image-inset)) * var(--news-image-ratio) * 0.48) 0 0;

  border-radius: 3.2rem;

  background-color: var(--color-deep-navy);
}

.news-article__image {
  position: relative;

  display: block;

  width: 100%;

  border-radius: 3.2rem;

  aspect-ratio: 1624 / 664;
  object-fit: cover;
}

.news-article__body {
  position: relative;

  padding-block: 4.8rem 6.4rem;

  columns: 2;
  column-gap: 4.8rem;

  color: var(--color-white);
}

.news-article__lead {
  margin: 0 0 3.2rem;

  font-size: 3.2rem;
  font-weight: 500;
  line-height: 1.25;

  break-inside: avoid;
}

.news-article__text {
  margin: 0 0 2.4rem;

  font-size: 2rem;
  line-height: 1.6;
  text-align: justify;
  hyphens: auto;
}

.news-article__list {
  margin: 0 0 2.4rem;
  padding-inline-start: 2rem;

  font-size: 2rem;
  line-height: 1.6;

  break-inside: avoid;
  list-style: square;
}

.news-article__link:hover {
  color: var(--color-accent-blue);
}

/* -------------------------------------------------------------------------- */
/* Responsive layout                                                          */
/* -------------------------------------------------------------------------- */

@media (max-width: 1100px) {
  .navbar__header {
    align-items: center;
    justify-content: space-between;
    min-height: 6.4rem;
  }

  .navbar__nav,
  .navbar__search,
  .navbar__header .language-switch__nav {
    display: none;
  }

  .navbar__menu-button {
    color: var(--color-white);
  }

  .menu__panel {
    width: min(40rem, 100%);
  }

  .solution-grid__list,
  .pillar-grid__list,
  .link-card-grid__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .solution-grid__three,
  .icon-card-grid__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .link-card-grid__image-box {
    min-height: 32rem;
  }

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

  .stage-timeline__list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 3.2rem 2.4rem;
  }

  .stage-timeline__list::before {
    display: none;
  }

  .stage-timeline__item {
    padding-block-start: 3.2rem;
  }

  .home-hero__title,
  .hero__title {
    font-size: clamp(4.4rem, 7vw, 6.4rem);
  }

  .pillar-grid__title {
    font-size: clamp(4.4rem, 7vw, 7.2rem);
  }

  .strength-panel__title {
    font-size: clamp(4.8rem, 7vw, 8rem);
  }
}

@media (max-width: 767px) {
  :root {
    --font-size-body: 1.6rem;
    --font-size-small: 1.4rem;
    --spacing: 4rem;
  }

  body {
    overflow-x: hidden;
  }

  .container,
  .container-fluid {
    padding-inline: var(--page-padding);
  }

  .navbar__header {
    gap: 1.6rem;
    padding-inline: var(--page-padding);
  }

  .navbar__logo-image {
    height: 4rem;
  }

  .navbar__menu-button {
    min-width: 4.4rem;
    min-height: 4.4rem;
    justify-content: center;
    padding: 0.8rem;
  }

  .menu__panel {
    padding: 2rem;
  }

  .menu__link,
  .menu__summary,
  .menu__subsummary {
    min-height: 4.4rem;
  }

  .hero__hero {
    min-height: 62rem;
    padding-block: 6.4rem;
  }

  .hero__image {
    object-position: center;
  }

  .hero__title,
  .secondary-hero__title,
  .light-hero__title,
  .text-image__title,
  .photo-story__title {
    font-size: clamp(3.4rem, 10vw, 4.8rem);
  }

  .hero__rule {
    width: min(18rem, 55vw);
    height: 0.4rem;
    margin-block: 2.4rem;
  }

  .hero__text,
  .secondary-hero__text,
  .text-image__text,
  .photo-story__text {
    max-width: 100%;
    font-size: 1.8rem;
  }

  .secondary-hero__section {
    min-height: 56rem;
    padding-block: 4.8rem;
  }

  .light-hero__section {
    padding-block: 4.8rem;
  }

  .hero__hero.hero__split,
  .hero__hero.hero__split.hero__contained,
  .text-image__section,
  .bullet-panel__section,
  .strength-panel__section,
  .home-cta__section {
    grid-template-columns: minmax(0, 1fr);
  }

  .hero__hero.hero__split.hero__contained {
    min-height: 0;
  }

  .hero__hero.hero__split .hero__content,
  .hero__hero.hero__split.hero__contained .hero__content {
    padding: 5.6rem var(--page-padding);
  }

  .hero__hero.hero__split .hero__aside {
    min-height: 32rem;
  }

  .text-image__section {
    min-height: 0;
  }

  .text-image__image-box,
  .text-image__image-right .text-image__image-box {
    grid-column: 1;
    grid-row: auto;
    min-height: 32rem;
    order: 1;
  }

  .text-image__content,
  .text-image__image-right .text-image__content {
    grid-column: 1;
    grid-row: auto;
    align-items: flex-start;
    order: 2;
    padding: 4.8rem var(--page-padding);
    text-align: left;
  }

  .text-image__image-right .text-image__action-link {
    align-self: flex-start;
  }

  .photo-panel__section,
  .photo-panel__panel-left {
    display: flex;
    min-height: 62rem;
    padding: 3.2rem var(--page-padding);
  }

  .photo-panel__content,
  .photo-panel__panel-left .photo-panel__content,
  .photo-panel__panel-right .photo-panel__content {
    width: 100%;
    align-items: stretch;
    justify-content: flex-end;
  }

  .photo-panel__panel {
    padding: 2.4rem;
    font-size: 1.8rem;
  }

  .photo-story__section {
    aspect-ratio: auto;
    min-height: calc(var(--story-bands) * 54rem);
  }

  .photo-story__band {
    padding: 3.2rem var(--page-padding);
  }

  .photo-story__panel {
    padding: 2.4rem;
  }

  .banner__image,
  .banner__contained .banner__image {
    height: 30rem;
  }

  .attribute-bar__section {
    margin-block-start: 0;
    padding-block: 2.4rem;
  }

  .attribute-bar__list {
    display: flex;
    padding: 0 2rem;
  }

  .attribute-bar__item {
    padding: 1.6rem 0;
  }

  .attribute-bar__item + .attribute-bar__item {
    border-inline-start: 0;
    border-block-start: 1px solid var(--color-cool-gray);
  }

  .solution-grid__section,
  .stage-timeline__section,
  .sensor-block__section,
  .figure-block__section,
  .numbered-list__section,
  .download-list__section,
  .card-grid__section {
    padding-block: 4.8rem;
  }

  .solution-grid__list,
  .solution-grid__three,
  .pillar-grid__list,
  .icon-card-grid__list,
  .link-card-grid__list,
  .spec-grid__list,
  .card-grid__list,
  .mode-list__list,
  .split-panel__inner,
  .wide-panel__inner,
  .section-heading__heading,
  .sensor-block__head,
  .figure-block__inner,
  .image-pair__list,
  .dark-section__head,
  .numbered-list__inner,
  .feature-row__inner,
  .news-carousel__heading,
  .stage-grid__inner,
  .footer__footer {
    grid-template-columns: minmax(0, 1fr);
  }

  .solution-grid__title,
  .card-grid__title,
  .link-card-grid__title,
  .bullet-panel__title,
  .news-carousel__title,
  .home-cta__title {
    font-size: clamp(3rem, 9vw, 4rem);
  }

  .split-panel__panel,
  .wide-panel__inner {
    padding: 3.2rem 2.4rem;
  }

  .split-panel__image-box {
    aspect-ratio: 4 / 3;
  }

  .photo-card__image,
  .photo-card__medium .photo-card__image,
  .photo-card__tall .photo-card__image {
    aspect-ratio: 4 / 3;
  }

  .photo-card__card,
  .photo-card__card-end .photo-card__card {
    position: static;
    max-width: none;
    padding: 2.4rem;
  }

  .spec-card-grid__list {
    grid-template-columns: minmax(0, 1fr);
    gap: 2.4rem;
  }

  .spec-card-grid__card {
    padding: 2.4rem;
  }

  .section-heading__heading {
    gap: 2.4rem;
  }

  .section-heading__divided {
    margin-block-end: 4.8rem;
    padding-block-end: 4.8rem;
  }

  .hero__hero.hero__split .hero__aside,
  .feature-row__image-box {
    order: 0;
  }

  .stage-timeline__list,
  .stat-row__list,
  .numbered-row__list {
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
  }

  .stage-timeline__item {
    min-height: 8rem;
    padding: 1.6rem 0 1.6rem 4rem;
    border-block-end: 1px solid var(--color-mist);
  }

  .stage-timeline__dot {
    inset-block-start: 1.7rem;
  }

  .stat-row__item + .stat-row__item,
  .numbered-row__item + .numbered-row__item {
    margin-block-start: 2.4rem;
    padding-block-start: 2.4rem;
    padding-inline-start: 0;
    border-inline-start: 0;
    border-block-start: 1px solid var(--color-cool-gray);
  }

  .figure-block__inner {
    gap: 2.4rem;
  }

  .figure-block__figure {
    font-size: 5.6rem;
  }

  .image-pair__image {
    height: 24rem;
  }

  .dark-section__section {
    padding-block: 6.4rem;
  }

  .feature-row__inner {
    gap: 3.2rem;
  }

  .feature-row__image-right .feature-row__image-box {
    order: 0;
  }

  .photo-band__content,
  .photo-band__stacked .photo-band__content {
    grid-template-columns: minmax(0, 1fr);
  }

  .critical-panel__section {
    min-height: 64rem;
  }

  .critical-panel__section::after {
    background: rgb(10 34 64 / 0.82);
  }

  .footer__footer {
    gap: 4rem;
    padding-block: 4.8rem;
  }

  .footer__brand {
    align-items: flex-start;
    text-align: left;
  }

  .footer__logo-image {
    height: 7.2rem;
  }

  .footer__legal {
    align-items: flex-start;

    padding-block-start: 2.4rem;

    font-size: 1.3rem;
    text-align: left;
  }

  .button-link__button,
  .button-link__pill {
    min-width: 0;
    min-height: 4.4rem;
    padding: 1.4rem 2rem;
  }

  .home-hero__section {
    min-height: 68rem;
    padding-block: 5.6rem;
  }

  .home-hero__video {
    object-position: center;
  }

  .home-hero__title {
    max-width: 12ch;
    font-size: clamp(3.8rem, 11vw, 5rem);
  }

  .home-hero__text {
    max-width: 34rem;
    font-size: 1.8rem;
  }

  .home-hero__actions,
  .home-cta__actions {
    flex-direction: column;
    align-items: stretch;
  }

  .home-hero__actions .button-link__button,
  .home-cta__actions .button-link__button {
    width: 100%;
    min-width: 0;
    justify-content: center;
  }

  .pillar-grid__section {
    padding-block-start: 5.6rem;
  }

  .pillar-grid__heading {
    margin-block-end: 3.2rem;
  }

  .pillar-grid__kicker {
    font-size: 2rem;
  }

  .pillar-grid__title {
    font-size: clamp(3.6rem, 11vw, 5rem);
  }

  .pillar-grid__text {
    font-size: 1.8rem;
  }

  .pillar-grid__card {
    border-radius: 1.6rem;
  }

  .pillar-grid__card-image {
    aspect-ratio: 4 / 3;
  }

  .stage-grid__section {
    padding-block: 5.6rem;
  }

  .stage-grid__inner {
    gap: 3.2rem;
  }

  .stage-grid__title {
    font-size: clamp(3.6rem, 11vw, 5rem);
  }

  .stage-grid__text {
    font-size: 1.8rem;
  }

  .stage-grid__list {
    grid-template-columns: minmax(0, 1fr);
    gap: 9rem;
    margin-block-start: 7rem;
  }

  .stage-grid__card {
    padding-block-start: 6.4rem;
  }

  .stage-grid__badge {
    width: 11rem;
  }

  .stage-grid__card-title {
    font-size: 3rem;
  }

  .stage-grid__card-text {
    font-size: 1.5rem;
  }

  .strength-panel__media {
    block-size: auto;
    min-height: 56rem;
    padding: 3.2rem var(--page-padding);
  }

  .strength-panel__title {
    font-size: clamp(4rem, 12vw, 5.6rem);
  }

  .strength-panel__content {
    min-height: 48rem;
    padding: 4.8rem var(--page-padding);
  }

  .strength-panel__body {
    align-items: flex-start;
    gap: 3.2rem;
  }

  .strength-panel__text,
  .news-carousel__intro,
  .home-cta__text {
    font-size: 1.8rem;
  }

  .news-carousel__section {
    padding-block: 5.6rem;
  }

  .news-carousel__heading {
    gap: 2.4rem;
    margin-block-end: 3.2rem;
  }

  .news-carousel__viewport {
    grid-template-columns: minmax(0, 1fr);
  }

  .news-carousel__arrow {
    display: none;
  }

  .news-carousel__list {
    grid-auto-columns: 86%;
  }

  .home-cta__content {
    padding: 5.6rem var(--page-padding);
  }

  .home-cta__image {
    min-height: 32rem;
    aspect-ratio: 4 / 3;
  }

  .card-grid__card {
    min-height: 20rem;
    padding: 3.2rem 2.4rem;
    font-size: 2.6rem;
  }

  .link-card-grid__section {
    padding-block: 5.6rem;
  }

  .link-card-grid__list {
    padding-inline: var(--page-padding);
  }

  .link-card-grid__label {
    min-height: 10rem;
    padding: 2.4rem;
  }

  .link-card-grid__image-box {
    min-height: 28rem;
  }

  .bullet-panel__section {
    min-height: 0;
  }

  .bullet-panel__image-box {
    min-height: 32rem;
  }

  .bullet-panel__panel-wrapper {
    padding: 4.8rem var(--page-padding);
  }

  .bullet-panel__panel {
    padding: 2.4rem;
  }

  .bullet-panel__title {
    margin-block-end: 3.2rem;
  }

  .bullet-panel__item {
    font-size: 1.8rem;
  }

  .pill-bar__section {
    margin-block-start: 0;
    padding: 2.4rem var(--page-padding);
  }

  .pill-bar__bar {
    flex-direction: column;
    align-items: stretch;
    padding: 1.6rem 2.4rem;
  }

  .pill-bar__item {
    justify-content: flex-start;
    min-height: 4.4rem;
    padding: 1.2rem 0;
  }

  .pill-bar__item + .pill-bar__item {
    border-inline-start: 0;
    border-block-start: 1px solid var(--color-cool-gray);
  }

  .call-to-action-bar__inner {
    flex-direction: column;
    align-items: flex-start;
  }

  .download-list__item {
    grid-template-columns: minmax(0, 1fr) 6.4rem;
  }

  .download-list__name {
    padding: 2rem;
    overflow-wrap: anywhere;
  }

  .download-list__action {
    width: 6.4rem;
  }
}

@media (max-width: 420px) {
  .solution-grid__list,
  .solution-grid__three,
  .pillar-grid__list,
  .icon-card-grid__list,
  .link-card-grid__list,
  .footer__footer {
    grid-template-columns: minmax(0, 1fr);
  }

  .home-hero__title,
  .hero__title,
  .secondary-hero__title,
  .light-hero__title,
  .text-image__title,
  .photo-story__title {
    overflow-wrap: anywhere;
  }
}

@media (max-width: 1100px) {
  .experience__panel {
    flex-basis: 54%;

    padding: 5.6rem 4.8rem;
  }

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

    row-gap: 2.8rem;
  }

  .cutout-hero__title:not(.cutout-hero__title-display) {
    font-size: clamp(4.4rem, 7vw, 6.4rem);
  }

  .cutout-hero__tall {
    aspect-ratio: auto;

    min-height: 90rem;
  }

  .cutout-hero__tall .cutout-hero__image,
  .cutout-hero__tall .cutout-hero__cutout {
    top: 10rem;

    height: calc(100% - 10rem);
  }

  .cutout-hero__tall .cutout-hero__image {
    mask-image: linear-gradient(to bottom, transparent 0%, black 10rem);
  }

  .standards__section {
    grid-template-columns: minmax(0, 1fr);

    min-height: 0;
    padding-block-end: 90vw;
  }

  .standards__section::before {
    content: '';

    position: absolute;
    z-index: 1;
    inset: 0;

    background: linear-gradient(
      to bottom,
      rgb(255 255 255 / 0.9) 0%,
      rgb(255 255 255 / 0.85) calc(100% - 90vw),
      rgb(255 255 255 / 0) calc(100% - 62vw)
    );
  }

  .standards__image {
    object-position: 70% 100%;
  }

  .standards__panel {
    margin-block-start: -12rem;
    margin-inline-end: var(--page-padding);
    padding: 4rem 2.4rem 4.8rem var(--page-padding);

    border-radius: 0 3.2rem 3.2rem 0;
  }

  .standards__panel-title {
    font-size: 2.8rem;
  }

  .standards__list {
    gap: 2.4rem;

    margin-block-start: 3.2rem;
    padding-inline-start: 2rem;
  }

  .standards__name {
    font-size: 2.4rem;
  }

  .standards__description {
    font-size: 1.6rem;
  }

  .standards__title,
  .standards__text {
    z-index: 2;

    grid-column: 1;

    max-width: 72rem;
    margin-inline-start: 0;
    padding-inline: var(--page-padding);
  }

  .standards__title {
    margin-block-start: 4.8rem;

    font-size: 3.4rem;
  }

  .standards__text {
    margin-block-start: 2.4rem;

    font-size: 1.8rem;
  }
}

@media (max-width: 767px) {
  .cutout-hero__title:not(.cutout-hero__title-display) {
    font-size: clamp(3.4rem, 10vw, 4.8rem);
  }

  .cutout-hero__tall {
    min-height: 86rem;
  }

  .cutout-hero__tall .cutout-hero__image,
  .cutout-hero__tall .cutout-hero__cutout {
    top: 26rem;

    height: calc(100% - 26rem);
  }

  .cutout-hero__tall .cutout-hero__content {
    padding-block-start: 4.8rem;
  }

  .cutout-hero__text,
  .cutout-hero__tall .cutout-hero__text {
    font-size: 1.8rem;
  }

  .experience__section {
    flex-direction: column;

    padding-block-start: 3.2rem;
  }

  .experience__panel {
    flex-basis: auto;

    margin-inline: var(--page-padding);
    padding: 4rem 2.8rem 7.2rem;

    border-radius: 3.2rem;
  }

  .experience__text {
    font-size: 1.8rem;
  }

  .experience__image-box {
    flex: none;

    min-height: 32rem;
    margin-block: -4rem 0;
    margin-inline-start: 0;
  }

  .experience__image {
    object-position: 60% 50%;
  }

  .discover__title {
    font-size: 3.4rem;
  }

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

  .discover__link {
    min-height: 7.2rem;

    font-size: 2rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .discover__link {
    transition: none;
  }
}

@media (max-width: 1100px) {
  .intro-heading__heading {
    grid-template-columns: minmax(0, 1fr);

    padding-inline: var(--page-padding);
  }

  .intro-heading__title {
    font-size: clamp(4.4rem, 7vw, 6.4rem);
    text-align: left;
  }

  .presence__image {
    width: calc(100% - 2 * var(--page-padding));
    margin-block-start: 4.8rem;

    border-radius: 4.8rem;
  }

  .presence__list {
    padding-inline: var(--page-padding);
  }

  .presence__item {
    padding: 2.4rem;
  }

  .presence__name {
    font-size: 2.4rem;
  }

  .presence__place {
    font-size: 1.8rem;
  }

  .contact__section {
    grid-template-columns: minmax(0, 1fr);
    justify-items: center;

    min-height: 0;
    padding: 7.2rem var(--page-padding);
  }

  .contact__content {
    max-width: 61.8rem;
    margin-block-start: 0;
  }

  .contact__title {
    font-size: clamp(4.4rem, 7vw, 6.4rem);
  }

  .contact-form__form {
    width: 100%;
    max-width: 61.8rem;
  }

  .framed-photo__section {
    padding: 7.2rem var(--page-padding);
  }

  .framed-photo__image {
    border-radius: 5.6rem;
  }
}

@media (max-width: 767px) {
  .presence__section {
    padding-block: 4.8rem;
  }

  .intro-heading__title {
    font-size: clamp(3.4rem, 10vw, 4.8rem);
  }

  .intro-heading__text {
    font-size: 1.8rem;
  }

  .presence__image {
    aspect-ratio: 4 / 3;

    border-radius: 3.2rem;
  }

  .presence__list {
    grid-template-columns: minmax(0, 1fr);

    margin-block-start: 2.4rem;
  }

  .presence__item {
    padding: 3.2rem 0;
  }

  .presence__item + .presence__item {
    border-inline-start: none;
    border-block-start: 1px solid rgb(255 255 255 / 0.55);
  }

  .presence__photo {
    aspect-ratio: 4 / 3;
  }

  .contact__section {
    gap: 4rem;

    padding-block: 4.8rem;
  }

  .contact__content {
    gap: 2.4rem;
  }

  .contact__title {
    font-size: clamp(3.4rem, 10vw, 4.8rem);
  }

  .contact__text {
    font-size: 1.8rem;
  }

  .contact__prompt {
    font-size: 2.4rem;
  }

  .contact-form__form {
    gap: 2rem;

    padding: 3.2rem 2.4rem 2.8rem;

    border-radius: 3.2rem;
  }

  .contact-form__submit {
    align-self: stretch;
  }

  .framed-photo__section {
    padding-block: 4.8rem;
  }

  .framed-photo__image {
    aspect-ratio: 4 / 3;

    border-radius: 3.2rem;

    object-position: 60% 39%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .contact-form__input,
  .contact-form__submit {
    transition: none;
  }
}

@media (max-width: 1100px) {
  .windows__frame {
    width: calc(100% - 2 * var(--page-padding));
    margin-block-end: 4.8rem;
  }

  .advantages__title {
    font-size: 4rem;
  }

  .advantages__section {
    aspect-ratio: auto;

    padding-block: 7.2rem;
  }

  .advantages__list {
    width: 70%;
    padding-inline-start: var(--page-padding);
  }

  .advantages__list::before {
    left: 50%;
  }

  .advantages__item:nth-child(even) {
    padding-inline-start: 3.2rem;
  }

  .advantages__name {
    font-size: 2.4rem;
  }

  .advantages__text {
    font-size: 1.8rem;
  }

  .mission__section {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: auto auto 1fr;
  }

  .mission__image {
    grid-column: 1 / -1;
    grid-row: 1;

    min-height: 0;

    aspect-ratio: 16 / 9;

    object-position: 50% 30%;
  }

  .mission__title {
    grid-row: 2;
  }

  .mission__body {
    grid-row: 3;
  }

  .mission__first {
    grid-column: 1;
  }

  .mission__second {
    grid-column: 2;
  }

  .cutout-hero__split {
    aspect-ratio: auto;

    min-height: 80rem;
  }

  .cutout-hero__split .cutout-hero__content {
    padding-inline: var(--page-padding);
  }

  .cutout-hero__split .cutout-hero__title {
    font-size: clamp(4.4rem, 7vw, 6.4rem);
  }

  .cutout-hero__statement {
    width: 60%;
  }

  .statement-band__title {
    font-size: 3.2rem;
  }

  .environment__section {
    aspect-ratio: auto;

    min-height: 90rem;
  }

  .environment__card {
    width: 60%;
    padding: 4.8rem;
  }
}

@media (max-width: 767px) {
  .windows__section {
    padding-block: 4.8rem;
  }

  .advantages__title {
    font-size: 3.2rem;
    letter-spacing: 0.02em;
  }

  .advantages__section {
    padding-block: 5.6rem;
  }

  .advantages__section .cutout-hero__image {
    width: 100%;
    height: 100%;

    object-position: 78% 100%;
  }

  .advantages__section .cutout-hero__cutout {
    display: none;
  }

  .advantages__list {
    grid-template-columns: minmax(0, 1fr);

    gap: 3.2rem;

    width: 100%;
    padding-inline: var(--page-padding);
  }

  .advantages__list::before {
    display: none;
  }

  .advantages__item,
  .advantages__item:nth-child(even) {
    gap: 0.8rem;

    padding-inline: 0;
  }

  .advantages__name,
  .advantages__text {
    max-width: none;
  }

  .mission__section {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: none;
  }

  .mission__image,
  .mission__title,
  .mission__body,
  .mission__first,
  .mission__second {
    grid-column: 1;
    grid-row: auto;
  }

  .mission__title {
    padding: 3.2rem var(--page-padding) 1.6rem;

    font-size: 2.8rem;
  }

  .mission__body {
    padding: 2rem var(--page-padding) 3.2rem;

    font-size: 1.8rem;
  }

  .cutout-hero__split {
    min-height: 72rem;
  }

  .cutout-hero__split .cutout-hero__image,
  .cutout-hero__split .cutout-hero__cutout {
    object-position: 68% 50%;
  }

  .cutout-hero__split .cutout-hero__content {
    padding-block: 4.8rem 3.2rem;
  }

  .cutout-hero__split .cutout-hero__title {
    font-size: clamp(3.4rem, 10vw, 4.8rem);
  }

  .cutout-hero__statement {
    width: 100%;

    text-shadow: 0 0.1rem 1.2rem rgb(24 22 22 / 0.8);
  }

  .cutout-hero__statement-title {
    font-size: 2.8rem;
  }

  .cutout-hero__statement-text {
    font-size: 1.8rem;
  }

  .statement-band__section {
    padding-block: 4rem;
  }

  .statement-band__title {
    font-size: 2.4rem;
  }

  .environment__section {
    min-height: 80rem;
  }

  .environment__text {
    padding-block-start: 4rem;

    font-size: 1.8rem;
  }

  .environment__card {
    width: calc(100% - var(--page-padding));
    padding: 3.2rem 2.4rem;

    border-start-start-radius: 3.2rem;

    font-size: 1.8rem;
  }
}

@media (max-width: 1100px) {
  .capability-list__inner,
  .statement-photo__inner {
    gap: 4.8rem;
  }

  .capability-card__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));

    gap: 2.4rem;
  }

  .photo-band__statement-text {
    font-size: 2.2rem;
  }
}

@media (max-width: 767px) {
  .attribute-bar__raised {
    margin-block-start: -3.2rem;
  }

  .attribute-bar__figures .attribute-bar__item {
    padding-block: 2.4rem;
  }

  .attribute-bar__figures .attribute-bar__name {
    font-size: 2.8rem;
  }

  .capability-list__section {
    padding-block: 4rem;
  }

  .capability-list__inner,
  .statement-photo__inner {
    grid-template-columns: minmax(0, 1fr);

    gap: 3.2rem;
  }

  .capability-list__title {
    font-size: 2.4rem;
  }

  .capability-list__image {
    aspect-ratio: 4 / 5;
  }

  .photo-band__statement .photo-band__image {
    height: 40rem;

    aspect-ratio: auto;
  }

  .photo-band__statement .photo-band__inner::after {
    background: linear-gradient(
      to top,
      rgb(10 34 64 / 0.92) 0%,
      rgb(10 34 64 / 0.8) 55%,
      rgb(10 34 64 / 0.2) 100%
    );
  }

  .photo-band__statement .photo-band__content {
    padding: 2.4rem;
  }

  .photo-band__statement-text {
    font-size: 1.8rem;
  }

  .capability-card__section {
    padding-block: 4.8rem;
  }

  .capability-card__list {
    grid-template-columns: minmax(0, 1fr);
  }

  .statement-photo__section {
    padding-block: 4.8rem;
  }

  .statement-photo__text {
    font-size: 2.2rem;
  }
}

@media (max-width: 1100px) {
  .statement-ring__title {
    font-size: 4rem;
  }

  .capability-card__four {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .capability-card__four .capability-card__image {
    aspect-ratio: 474 / 334;
  }
}

@media (max-width: 767px) {
  .statement-ring__section {
    padding-block: 5.6rem;
  }

  .statement-ring__section::after {
    left: 40%;

    width: 44rem;
    height: 44rem;

    border-width: 4rem;
  }

  .statement-ring__title {
    font-size: 3.2rem;
  }

  .capability-card__four {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 1100px) {
  .photo-trio__image {
    height: 36rem;
  }
}

@media (max-width: 767px) {
  .hero__hero.hero__short {
    min-height: 44rem;
  }

  .photo-trio__section {
    padding-block: 4.8rem;
  }

  .photo-trio__list {
    grid-template-columns: minmax(0, 1fr);

    gap: 2rem;

    margin-block-start: 3.2rem;
  }

  .photo-trio__image {
    height: 28rem;
  }
}

@media (max-width: 767px) {
  .column-pair__inner {
    grid-template-columns: minmax(0, 1fr);

    gap: 3.2rem;
  }

  .photo-band__deep .photo-band__image {
    height: 48rem;

    aspect-ratio: auto;
  }

  .photo-band__deep .photo-band__inner::after {
    background: linear-gradient(
      to top,
      rgb(10 34 64 / 0.94) 0%,
      rgb(10 34 64 / 0.85) 60%,
      rgb(10 34 64 / 0.2) 100%
    );
  }

  .photo-band__deep .photo-band__content {
    gap: 1.6rem;

    padding: 2.4rem;
  }
}

@media (max-width: 1100px) {
  .capability-mosaic__list {
    grid-template-areas:
      'one two'
      'one four'
      'three three'
      'five six'
      'five eight'
      'seven seven';
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .milestone__section,
  .capability-band__section {
    padding-block: 5.6rem;
  }

  .milestone__inner,
  .capability-band__inner {
    grid-template-columns: minmax(0, 1fr);
    gap: 3.2rem;
  }

  .milestone__figure-box {
    padding-inline-end: 0;
    padding-block-end: 3.2rem;

    border-inline-end: 0;
    border-block-end: 1px solid var(--color-fog);
  }

  .milestone__figure {
    font-size: 9.6rem;
  }

  .milestone__text,
  .capability-band__statement {
    font-size: 2.2rem;
  }

  .statement__section {
    padding-block-start: 5.6rem;
  }

  .statement__title {
    font-size: 2.8rem;
  }

  .capability-mosaic__section {
    padding-block: 4.8rem 5.6rem;
  }

  .capability-mosaic__title {
    font-size: 2.8rem;
  }

  .capability-mosaic__list {
    grid-template-areas: none;
    grid-template-columns: minmax(0, 1fr);
    grid-auto-rows: 20rem;
  }

  .capability-mosaic__item {
    grid-area: auto;
  }
}

@media (prefers-reduced-motion: reduce) {
  .capability-mosaic__image,
  .capability-mosaic__arrow {
    transition: none;
  }
}

@media (max-width: 1100px) {
  .capability-steps__inner {
    column-gap: 4.8rem;
  }

  .capability-steps__item {
    grid-template-columns: 7.2rem minmax(0, 1fr);
  }
}

@media (max-width: 767px) {
  .lead-pair__section {
    padding-block-start: 5.6rem;
  }

  .lead-pair__inner {
    grid-template-columns: minmax(0, 1fr);
    gap: 2.4rem;
  }

  .lead-pair__lead {
    font-size: 2.2rem;
  }

  .capability-steps__section {
    padding-block: 5.6rem;
  }

  .capability-steps__inner {
    grid-template-areas:
      'kicker'
      'list'
      'image';
    grid-template-columns: minmax(0, 1fr);
  }

  .capability-steps__item {
    grid-template-columns: 5.6rem minmax(0, 1fr);

    padding-block: 2.8rem;
  }

  .capability-steps__number {
    font-size: 3.2rem;
  }

  .capability-steps__name {
    font-size: 2rem;
  }

  .capability-steps__image {
    margin-block-start: 4rem;

    aspect-ratio: 4 / 5;
  }
}

@media (max-width: 1100px) {
  .stage-timeline__detailed .stage-timeline__list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    row-gap: 4rem;
  }

  .stage-timeline__detailed .stage-timeline__item {
    padding-block-start: 3.2rem;
  }
}

@media (max-width: 767px) {
  .lead-pair__with-image .lead-pair__inner {
    grid-template-columns: minmax(0, 1fr);
    gap: 4rem;
  }

  .stage-timeline__detailed {
    margin-block-start: 5.6rem;
    padding-block: 5.6rem;
    padding-inline: 0;
  }

  .stage-timeline__detailed .stage-timeline__list {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 0;
  }

  .stage-timeline__detailed .stage-timeline__item {
    min-height: 0;
    padding: 2.4rem 0 2.4rem 4rem;
  }

  .stage-timeline__detailed .stage-timeline__dot {
    inset-block-start: 2.6rem;
  }

  .stage-timeline__detailed .stage-timeline__number {
    font-size: 3.2rem;
  }

  .stage-timeline__detailed .stage-timeline__label,
  .stage-timeline__detailed .stage-timeline__text {
    max-width: none;
  }
}

@media (max-width: 1100px) {
  .capability-board__list {
    grid-template-areas:
      'photo photo'
      'one two'
      'one three'
      'four five';
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: 28rem repeat(3, minmax(22rem, auto));
  }
}

@media (max-width: 767px) {
  .capability-board__section {
    padding-block: 5.6rem;
  }

  .capability-board__list {
    grid-template-areas:
      'photo'
      'one'
      'two'
      'three'
      'four'
      'five';
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: 22rem;
    grid-auto-rows: auto;
  }

  .capability-board__card {
    min-height: 18rem;
  }

  .capability-board__navy .capability-board__name {
    font-size: 2.6rem;
  }
}

@media (max-width: 1100px) {
  .lead-pair__image-first .lead-pair__inner {
    gap: 4.8rem;
  }

  .numbered-row__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .numbered-row__grid .numbered-row__item:nth-child(3n + 1) {
    padding-inline-start: 3.2rem;

    border-inline-start: 1px solid rgb(255 255 255 / 0.2);
  }

  .numbered-row__grid .numbered-row__item:nth-child(2n + 1) {
    padding-inline-start: 0;

    border-inline-start: 0;
  }
}

@media (max-width: 767px) {
  .lead-pair__section.lead-pair__image-first {
    padding-block-end: 5.6rem;
  }

  .lead-pair__image-first .lead-pair__inner {
    grid-template-columns: minmax(0, 1fr);
    gap: 4rem;
  }

  .dark-section__capabilities {
    padding-block: 5.6rem;
  }

  .numbered-row__grid {
    margin-block-start: 3.2rem;

    grid-template-columns: minmax(0, 1fr);
  }

  .numbered-row__grid .numbered-row__item,
  .numbered-row__grid .numbered-row__item + .numbered-row__item,
  .numbered-row__grid .numbered-row__item:nth-child(3n + 1) {
    margin-block-start: 0;
    padding: 2.8rem 0;

    border-inline-start: 0;
    border-block-start: 0;
  }

  .numbered-row__grid .numbered-row__number {
    margin-block-end: 1.2rem;
  }

  .numbered-row__grid .numbered-row__name {
    font-size: 2rem;
  }
}

@media (max-width: 1100px) {
  .metric-cards__figure {
    font-size: 4.4rem;
  }

  .capability-table__inner,
  .capability-rows__with-image {
    column-gap: 4.8rem;
  }

  .capability-rows__item {
    grid-template-columns: 6.4rem minmax(0, 1fr);
    row-gap: 1.2rem;
  }

  .capability-rows__text {
    grid-column: 2;
  }

  .capability-rows__name {
    font-size: 2.4rem;
  }
}

@media (max-width: 767px) {
  .lead-pair__section.lead-pair__spaced {
    padding-block-end: 5.6rem;
  }

  .photo-trio__section {
    padding-block: 4rem 5.6rem;
  }

  .photo-trio__list {
    grid-template-columns: minmax(0, 1fr);
    gap: 1.6rem;
  }

  .photo-trio__image {
    aspect-ratio: 4 / 3;
  }

  .metric-cards__section {
    padding-block-end: 5.6rem;
  }

  .metric-cards__list,
  .capability-columns__list {
    grid-template-columns: minmax(0, 1fr);
  }

  .metric-cards__card {
    padding: 2.8rem 2.4rem;
  }

  .metric-cards__figure {
    font-size: 3.6rem;
  }

  .capability-columns__item:nth-child(2) {
    border-block-start: 0;
  }

  .dark-section__metrics {
    padding-block: 5.6rem;
  }

  .stat-row__large .stat-row__item + .stat-row__item {
    padding-inline-start: 0;

    border-block-start-color: rgb(255 255 255 / 0.2);
  }

  .stat-row__large .stat-row__figure {
    font-size: 4.8rem;
  }

  .capability-table__section {
    padding-block: 5.6rem;
  }

  .capability-table__inner,
  .capability-rows__with-image {
    grid-template-areas:
      'kicker'
      'list'
      'photos';
    grid-template-columns: minmax(0, 1fr);
  }

  .capability-rows__with-image {
    grid-template-areas:
      'kicker'
      'list'
      'image';
  }

  .capability-table__row {
    grid-template-columns: minmax(0, 1fr);
    gap: 0.8rem;

    padding-block: 2.4rem;
  }

  .capability-table__photos,
  .capability-rows__image {
    margin-block-start: 4rem;
  }

  .capability-rows__image {
    aspect-ratio: 4 / 5;
  }

  .capability-rows__item {
    grid-template-columns: 4.8rem minmax(0, 1fr);
    column-gap: 0;

    padding-block: 2.8rem;
  }

  .capability-rows__name {
    font-size: 2.2rem;
  }

  .capability-rows__compact .capability-rows__name {
    font-size: 1.8rem;
  }

  .tag-pair__tag {
    font-size: 2.2rem;
  }
}

@media (max-width: 1100px) {
  .history-hero__inner {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 3.2rem;
  }

  .history-hero__kicker,
  .history-hero__title,
  .history-hero__body {
    grid-column: 1;
    grid-row: auto;
  }

  .history-hero__title {
    font-size: 7.2rem;
  }

  .history-timeline__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .history-hero__section {
    padding-block: 2.4rem 4.8rem;
  }

  .history-hero__breadcrumb {
    margin-block-end: 4rem;
  }

  .history-hero__title {
    font-size: 4.8rem;
  }

  .history-hero__lead {
    font-size: 2.2rem;
    text-align: left;
  }

  .history-hero__text {
    font-size: 1.6rem;
    text-align: left;
  }

  .history-photo__image {
    border-radius: 1.6rem;
  }

  .history-timeline__list {
    grid-template-columns: minmax(0, 1fr);
    gap: 1.6rem;
    padding: 1.6rem;

    border-radius: 2.4rem;
  }

  .history-timeline__item {
    min-height: 0;
    padding: 2.4rem 2.4rem 3.2rem;
  }

  .history-timeline__year {
    margin-inline-start: -2.4rem;
    padding-inline: 2.4rem;

    font-size: 4rem;
  }

  .history-timeline__text {
    text-align: left;
  }

  .history-closing__image {
    aspect-ratio: 4 / 3;
  }
}

@media (max-width: 1100px) {
  .careers-hero__inner {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 4.8rem;
  }

  .careers-hero__title {
    font-size: 6.4rem;
  }

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

  .growth__card {
    min-height: 0;
    padding: 4rem;
  }
}

@media (max-width: 767px) {
  .careers-hero__section {
    padding-block: 2.4rem 5.6rem;
  }

  .careers-hero__breadcrumb {
    margin-block-end: 4rem;
  }

  .careers-hero__title {
    font-size: 4.4rem;
  }

  .careers-hero__text {
    font-size: 1.6rem;
  }

  .careers-hero__gallery {
    gap: 1.2rem;
  }

  .careers-hero__image {
    border-radius: 1.6rem;
  }

  .growth__section {
    padding-block: 5.6rem 7.2rem;
  }

  .growth__title {
    font-size: 4rem;
  }

  .growth__card {
    gap: 2.4rem;
    padding: 3.2rem 2.4rem;

    border-radius: 2.4rem;
  }

  .growth__name {
    font-size: 3.2rem;
  }
}

@media (max-width: 1100px) {
  .contact-hero__inner {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 3.2rem;
  }

  .contact-hero__title {
    font-size: 6.4rem;
  }

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

  .locations__column {
    min-height: 0;
  }
}

@media (max-width: 767px) {
  .contact-hero__section {
    padding-block: 2.4rem 5.6rem;
  }

  .contact-hero__breadcrumb {
    margin-block-end: 4rem;
  }

  .contact-hero__title {
    font-size: 4.4rem;
  }

  .contact-hero__lead {
    font-size: 2rem;
  }

  .contact-hero__text {
    font-size: 1.6rem;
  }

  .locations__photo {
    aspect-ratio: 4 / 3;
  }

  .locations__section {
    padding-block: 3.2rem;
  }

  .locations__list {
    grid-template-columns: minmax(0, 1fr);
    gap: 1.6rem;
  }
}

@media (max-width: 1100px) {
  .presence-hero__bottom,
  .presence-reach__inner {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 3.2rem;
  }

  .presence-hero__body {
    margin-block-start: 0;
  }

  .presence-locations__inner {
    grid-template-columns: minmax(0, 1fr);
    padding-inline: 0;
  }

  .presence-locations__content {
    padding-inline: var(--page-padding);
  }

  .presence-locations__image {
    min-height: 0;
  }

  .presence-regions__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .presence-hero__section {
    padding-block: 2.4rem 5.6rem;
  }

  .presence-hero__breadcrumb {
    margin-block-end: 3.2rem;
  }

  .presence-hero__kicker {
    font-size: 1.6rem;
  }

  .presence-hero__map {
    width: 140%;
    max-width: none;
    margin-block: -4rem 0;
    margin-inline-start: -20%;
  }

  .presence-hero__text {
    text-align: left;
  }

  .presence-locations__content {
    padding-block: 4.8rem;
  }

  .presence-regions__card {
    padding: 3.2rem 1.6rem 2.4rem;

    border-radius: 2.4rem;
  }

  .presence-regions__list {
    grid-template-columns: minmax(0, 1fr);
    gap: 1.2rem;
  }

  .presence-regions__item {
    min-height: 0;
  }

  .presence-reach__section {
    padding-block: 5.6rem;
  }
}

@media (max-width: 1100px) {
  .contact-request__inner {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 4.8rem;
  }

  .contact-regions__list {
    grid-template-columns: minmax(0, 1fr);
  }

  .contact-regions__card {
    min-height: 0;
  }
}

@media (max-width: 767px) {
  .contact-request__section {
    padding-block: 2.4rem 5.6rem;
  }

  .contact-request__breadcrumb {
    margin-block-end: 3.2rem;
  }

  .contact-request__lead {
    font-size: 1.9rem;
  }

  .contact-request__text {
    font-size: 1.6rem;
  }

  .contact-request__card {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 2.4rem;

    padding: 2rem;

    border-radius: 1.6rem;
  }

  .contact-request__panel {
    padding: 0;
  }

  .contact-request__form {
    grid-template-columns: minmax(0, 1fr);
  }

  .contact-request__image {
    min-height: 0;

    border-radius: 1.2rem;

    aspect-ratio: 4 / 3;
  }

  .contact-request__confirmation {
    padding-block: 2.4rem;
  }

  .contact-regions__section {
    padding-block: 5.6rem 7.2rem;
  }

  .contact-regions__title {
    margin-block-end: 3.2rem;
  }

  .contact-regions__card {
    padding-block: 3.2rem;
  }

  .contact-regions__name {
    margin-inline: 2.4rem;
  }

  .contact-regions__row {
    padding-inline: 2.4rem;
  }
}

@media (max-width: 1100px) {
  .leadership-team__list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .leadership-hero__image {
    aspect-ratio: 4 / 3;
  }

  .leadership-intro__section {
    padding-block: 4.8rem 5.6rem;
  }

  .leadership-intro__title {
    margin-block-end: 2.4rem;
  }

  .leadership-intro__text {
    font-size: 1.6rem;
    text-align: left;
  }

  .leadership-team__section {
    padding-block: 5.6rem 7.2rem;
  }

  .leadership-team__title {
    margin-block-end: 3.2rem;
  }

  .leadership-team__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 3.2rem 1.6rem;
  }

  .leadership-team__portrait {
    border-radius: 1.6rem;
  }

  .leadership-team__initials {
    font-size: 3.6rem;
  }

  .leadership-team__name {
    font-size: 1.6rem;
  }

  .leadership-team__role {
    font-size: 1.3rem;
  }

  .leadership-bio__header {
    padding: 2.4rem 2rem 2rem 2.4rem;
  }

  .leadership-bio__name {
    font-size: 2.2rem;
  }

  .leadership-bio__body {
    padding: 2rem 2.4rem 3.2rem;
  }
}

@media (max-width: 1100px) {
  .news-article__title {
    font-size: 4.4rem;
  }

  .news-article__panel {
    --news-image-inset: 3.2rem;
  }
}

@media (max-width: 767px) {
  .news-article__section {
    padding-block: 2.4rem 4.8rem;
  }

  .news-article__kicker {
    margin-block-start: 4rem;
  }

  .news-article__header {
    grid-template-columns: 4.4rem minmax(0, 1fr) 4.4rem;
    column-gap: 1.2rem;

    margin-block: 3.2rem 4rem;
  }

  .news-article__step svg {
    width: 4.4rem;
    height: 4.4rem;
  }

  .news-article__title {
    font-size: 2.8rem;
  }

  .news-article__panel {
    --news-image-inset: 1.6rem;
    --news-image-ratio: 2 / 3;
  }

  .news-article__image {
    aspect-ratio: 3 / 2;
  }

  .news-article__panel::before,
  .news-article__image {
    border-radius: 1.6rem;
  }

  .news-article__body {
    padding-block: 3.2rem 4rem;

    columns: 1;
  }

  .news-article__lead {
    font-size: 2rem;
  }

  .news-article__text {
    font-size: 1.6rem;
    text-align: left;
  }
}
