:root {
  --font-from: 18;
  --font-to: 20;
  --vw-from: calc(1920 / 100);
  --vw-to: calc(2400 / 100);
  --coefficient: calc((var(--font-to) - var(--font-from)) / (var(--vw-to) - var(--vw-from)));
  --base: calc((var(--font-from) - var(--vw-from) * var(--coefficient)) / 16);
  --font-display: 'Newsreader', Georgia, serif;
  --font-body: 'DM Sans', Arial, sans-serif;
  --t-display: 1;
  --t-sub: 1;
  --t-text: 1;
  --t-small: 1;
  --t-label: 1;
  --size-display: calc(var(--size-display-base) * var(--t-display));
  --size-h1: calc(var(--size-h1-base) * var(--t-display));
  --size-h2: calc(var(--size-h2-base) * var(--t-display));
  --size-h3: calc(var(--size-h3-base) * var(--t-sub));
  --size-h4: calc(var(--size-h4-base) * var(--t-sub));
  --size-h5: calc(var(--size-h5-base) * var(--t-sub));
  --size-h6: calc(var(--size-h6-base) * var(--t-sub));
  --size-text-large: calc(var(--size-text-large-base) * var(--t-text));
  --size-text-medium: calc(var(--size-text-medium-base) * var(--t-text));
  --size-text-regular: calc(var(--size-text-regular-base) * var(--t-text));
  --size-text-small: calc(var(--size-text-small-base) * var(--t-small));
  --size-text-tiny: calc(var(--size-text-tiny-base) * var(--t-small));
  --size-text-label: calc(var(--size-text-label-base) * var(--t-label));
  --size-number: calc(var(--size-number-base) * var(--t-display));
  --gutter: var(--global);
  --padding-section: var(--section-large);
  --bleed: max(var(--gutter), (100vw - var(--container-large)) / 2);
  --space-tiny: 0.125rem;
  --radius: 999px;
  --shadow: 0 1.625rem 4.375rem rgba(51, 45, 36, 0.11);
  --ease: cubic-bezier(0.2, 0.7, 0.2, 1);
}

@media screen and (max-width: 1920px) {
  :root {
  --breakpoint: 1920;
  --font-from: 16;
  --font-to: 18;
  --vw-from: calc(1440 / 100);
  --vw-to: calc(1920 / 100);
  }
}

@media screen and (max-width: 1440px) {
  :root {
  --breakpoint: 1440;
  --font-from: 16;
  --font-to: 16;
  --vw-from: calc(479 / 100);
  --vw-to: calc(1440 / 100);
  }
}

@media screen and (max-width: 1439px) {
  :root {
  --breakpoint: 1439;
  --t-display: 0.92;
  }
}

@media screen and (max-width: 1279px) {
  :root {
  --breakpoint: 1279;
  --t-display: 0.8;
  }
}

@media screen and (max-width: 1099px) {
  :root {
  --breakpoint: 1099;
  --t-display: 0.72;
  }
}

@media screen and (max-width: 991px) {
  :root {
  --breakpoint: 991;
  --t-display: 0.66;
  }
}

@media screen and (max-width: 767px) {
  :root {
  --breakpoint: 767;
  --gutter: var(--global-mobile);
  --padding-section: var(--section-medium);
  }
}

@media screen and (max-width: 479px) {
  :root {
  --breakpoint: 479;
  --font-from: 12;
  --font-to: 16;
  --vw-from: calc(320 / 100);
  --vw-to: calc(479 / 100);
  --t-display: 0.7;
  --t-text: 1.08;
  --t-small: 1.16;
  --t-label: 1.16;
  --t-sub: 1.06;
  }
}

@media screen and (max-width: 419px) {
  :root {
  --breakpoint: 419;
  --t-display: 0.76;
  --t-text: 1.18;
  --t-small: 1.28;
  --t-label: 1.3;
  --t-sub: 1.12;
  }
}

@media screen and (min-width: 992px) {
  :root {
  --breakpoint-up: 992;
  }
}

@media screen and (min-width: 1280px) {
  :root {
  --breakpoint-up: 1280;
  }
}

@media (prefers-reduced-motion: no-preference) {
  :root {
  --motion: 1;
  }
}

@media (prefers-reduced-motion: reduce) {
  :root {
  --motion: 0;
  }
}

@media (hover: hover) and (pointer: fine) {
  :root {
  --hover: 1;
  }
}

html {
  font-size: calc(var(--base) * 1rem + var(--coefficient) * 1vw);
}

@keyframes hold-until-armed {
  0% {
    visibility: hidden;
  }
  100% {
    visibility: visible;
  }
}

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

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
  animation-duration: 0.01ms !important;
  animation-iteration-count: 1 !important;
  transition-duration: 0.01ms !important;
  scroll-behavior: auto !important;
  }
}

body, h1, h2, h3, h4, h5, h6, p, figure, blockquote, ul, ol, dl, dd {
  margin: 0px;
  padding: 0px;
}

ul, ol {
  list-style: none;
}

img {
  display: block;
  width: 100%;
  height: auto;
}

video {
  display: block;
  max-width: 100%;
}

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

button {
  font-style: inherit;
  font-variant: inherit;
  font-weight: inherit;
  font-stretch: inherit;
  font-size: inherit;
  line-height: inherit;
  font-family: inherit;
  color: inherit;
  background-image: none;
  background-position-x: initial;
  background-position-y: initial;
  background-size: initial;
  background-repeat: initial;
  background-attachment: initial;
  background-origin: initial;
  background-clip: initial;
  background-color: initial;
  border-top-width: 0px;
  border-right-width: 0px;
  border-bottom-width: 0px;
  border-left-width: 0px;
  border-top-style: initial;
  border-right-style: initial;
  border-bottom-style: initial;
  border-left-style: initial;
  border-top-color: initial;
  border-right-color: initial;
  border-bottom-color: initial;
  border-left-color: initial;
  border-image-source: initial;
  border-image-slice: initial;
  border-image-width: initial;
  border-image-outset: initial;
  border-image-repeat: initial;
  padding: 0px;
  cursor: pointer;
}

input, select, textarea {
  font-style: inherit;
  font-variant: inherit;
  font-weight: inherit;
  font-stretch: inherit;
  font-size: inherit;
  line-height: inherit;
  font-family: inherit;
}

table {
  border-collapse: collapse;
  width: 100%;
}

summary {
  list-style: none;
  cursor: pointer;
}

summary::-webkit-details-marker {
  display: none;
}

body {
  font-family: var(--font-body);
  font-size: var(--size-text-regular);
  line-height: 1.65;
  color: var(--fg);
  background-color: var(--bg);
  -webkit-font-smoothing: antialiased;
  overflow-x: clip;
}

@media screen and (max-width: 767px) {
  body {
  padding-bottom: 65px;
  }
}

h1, h2, h3, h4, h5, h6 {
  font-weight: 400;
}

::selection {
  background-color: var(--accent-flat);
  color: #111111;
}

h1 {
  font-family: var(--font-display);
  font-size: var(--size-h1);
  line-height: 0.98;
  letter-spacing: -0.045em;
  color: var(--fg);
}

h2 {
  font-family: var(--font-display);
  font-size: var(--size-h2);
  line-height: 0.98;
  letter-spacing: -0.045em;
  color: var(--fg);
}

h3 {
  font-family: var(--font-display);
  font-size: var(--size-h3);
  line-height: 1.02;
  letter-spacing: -0.02em;
  color: var(--fg);
}

h4 {
  font-family: var(--font-display);
  font-size: var(--size-h4);
  line-height: 1.1;
  color: var(--fg);
}

h5 {
  font-family: var(--font-display);
  font-size: var(--size-h5);
  line-height: 1.12;
  color: var(--fg);
}

h6 {
  font-family: var(--font-display);
  font-size: var(--size-h6);
  line-height: 1.15;
  color: var(--fg);
}

.page-wrapper {
  position: relative;
  overflow-x: clip;
}

.main-wrapper {
  display: block;
}

.padding-global {
  padding-left: var(--gutter);
  padding-right: var(--gutter);
}

.container-large {
  width: 100%;
  max-width: var(--container-large);
  margin-left: auto;
  margin-right: auto;
}

.container-medium {
  width: 100%;
  max-width: var(--container-medium);
  margin-left: auto;
  margin-right: auto;
}

.container-small {
  width: 100%;
  max-width: var(--container-small);
  margin-left: auto;
  margin-right: auto;
}

.padding-section-small {
  padding-top: var(--space-xlarge);
  padding-bottom: var(--space-xlarge);
}

@media screen and (max-width: 767px) {
  .padding-section-small {
  padding-top: var(--space-large);
  padding-bottom: var(--space-large);
  }
}

.padding-section-medium {
  padding-top: var(--space-huge);
  padding-bottom: var(--space-huge);
}

@media screen and (max-width: 767px) {
  .padding-section-medium {
  padding-top: var(--space-xlarge);
  padding-bottom: var(--space-xlarge);
  }
}

.padding-section-large {
  padding-top: var(--padding-section);
  padding-bottom: var(--padding-section);
}

.padding-0 {
  padding: var(--space-0);
}

.padding-tiny {
  padding: var(--space-tiny);
}

.padding-xxsmall {
  padding: var(--space-xxsmall);
}

.padding-xsmall {
  padding: var(--space-xsmall);
}

.padding-small {
  padding: var(--space-small);
}

.padding-medium {
  padding: var(--space-medium);
}

.padding-large {
  padding: var(--space-large);
}

.padding-xlarge {
  padding: var(--space-xlarge);
}

.padding-xxlarge {
  padding: var(--space-xxlarge);
}

.padding-huge {
  padding: var(--space-huge);
}

.padding-xhuge {
  padding: var(--space-xhuge);
}

.padding-xxhuge {
  padding: var(--space-xxhuge);
}

.padding-vertical {
  padding-left: 0px;
  padding-right: 0px;
}

.padding-horizontal {
  padding-top: 0px;
  padding-bottom: 0px;
}

.padding-top {
  padding-bottom: 0px;
  padding-left: 0px;
  padding-right: 0px;
}

.padding-bottom {
  padding-top: 0px;
  padding-left: 0px;
  padding-right: 0px;
}

.padding-left {
  padding-top: 0px;
  padding-bottom: 0px;
  padding-right: 0px;
}

.padding-right {
  padding-top: 0px;
  padding-bottom: 0px;
  padding-left: 0px;
}

.margin-0 {
  margin: var(--space-0);
}

.margin-tiny {
  margin: var(--space-tiny);
}

.margin-xxsmall {
  margin: var(--space-xxsmall);
}

.margin-xsmall {
  margin: var(--space-xsmall);
}

.margin-small {
  margin: var(--space-small);
}

.margin-medium {
  margin: var(--space-medium);
}

.margin-large {
  margin: var(--space-large);
}

.margin-xlarge {
  margin: var(--space-xlarge);
}

.margin-xxlarge {
  margin: var(--space-xxlarge);
}

.margin-huge {
  margin: var(--space-huge);
}

.margin-xhuge {
  margin: var(--space-xhuge);
}

.margin-xxhuge {
  margin: var(--space-xxhuge);
}

.margin-vertical {
  margin-left: 0px;
  margin-right: 0px;
}

.margin-horizontal {
  margin-top: 0px;
  margin-bottom: 0px;
}

.margin-top {
  margin-bottom: 0px;
  margin-left: 0px;
  margin-right: 0px;
}

.margin-bottom {
  margin-top: 0px;
  margin-left: 0px;
  margin-right: 0px;
}

.margin-left {
  margin-top: 0px;
  margin-bottom: 0px;
  margin-right: 0px;
}

.margin-right {
  margin-top: 0px;
  margin-bottom: 0px;
  margin-left: 0px;
}

.spacer-tiny {
  width: 100%;
  padding-top: var(--space-tiny);
}

.spacer-xxsmall {
  width: 100%;
  padding-top: var(--space-xxsmall);
}

.spacer-xsmall {
  width: 100%;
  padding-top: var(--space-xsmall);
}

.spacer-small {
  width: 100%;
  padding-top: var(--space-small);
}

.spacer-medium {
  width: 100%;
  padding-top: var(--space-medium);
}

.spacer-large {
  width: 100%;
  padding-top: var(--space-large);
}

.spacer-xlarge {
  width: 100%;
  padding-top: var(--space-xlarge);
}

.spacer-xxlarge {
  width: 100%;
  padding-top: var(--space-xxlarge);
}

.spacer-huge {
  width: 100%;
  padding-top: var(--space-huge);
}

.heading-style-display {
  font-family: var(--font-display);
  font-size: var(--size-display);
  font-weight: 400;
  line-height: 0.98;
  letter-spacing: -0.045em;
  color: var(--fg);
}

.heading-style-h1 {
  font-family: var(--font-display);
  font-size: var(--size-h1);
  font-weight: 400;
  line-height: 0.98;
  letter-spacing: -0.045em;
  color: var(--fg);
}

.heading-style-h2 {
  font-family: var(--font-display);
  font-size: var(--size-h2);
  font-weight: 400;
  line-height: 0.98;
  letter-spacing: -0.045em;
  color: var(--fg);
}

.heading-style-h3 {
  font-family: var(--font-display);
  font-size: var(--size-h3);
  font-weight: 400;
  line-height: 1.02;
  letter-spacing: -0.02em;
  color: var(--fg);
}

.heading-style-h4 {
  font-family: var(--font-display);
  font-size: var(--size-h4);
  font-weight: 400;
  line-height: 1.1;
  color: var(--fg);
}

.heading-style-h5 {
  font-family: var(--font-display);
  font-size: var(--size-h5);
  font-weight: 400;
  line-height: 1.12;
  color: var(--fg);
}

.heading-style-h6 {
  font-family: var(--font-display);
  font-size: var(--size-h6);
  font-weight: 400;
  line-height: 1.15;
  color: var(--fg);
}

.text-size-large {
  font-size: var(--size-text-large);
  line-height: 1.55;
}

.text-size-medium {
  font-size: var(--size-text-medium);
  line-height: 1.65;
}

.text-size-regular {
  font-size: var(--size-text-regular);
  line-height: 1.65;
}

.text-size-small {
  font-size: var(--size-text-small);
  line-height: 1.6;
}

.text-size-tiny {
  font-size: var(--size-text-tiny);
  line-height: 1.6;
}

.text-weight-light {
  font-weight: 300;
}

.text-weight-normal {
  font-weight: 400;
}

.text-weight-medium {
  font-weight: 500;
}

.text-weight-semibold {
  font-weight: 600;
}

.text-weight-bold {
  font-weight: 700;
}

.text-weight-xbold {
  font-weight: 800;
}

.text-style-allcaps {
  text-transform: uppercase;
  letter-spacing: 0.12em;
}

.text-style-italic {
  font-style: italic;
}

.text-style-nowrap {
  white-space: nowrap;
}

.text-style-strikethrough {
  text-decoration: line-through;
}

.text-style-muted {
  color: var(--fg-mute);
}

.text-style-quote {
  font-family: var(--font-display);
  font-size: var(--size-h4);
  line-height: 1.22;
}

.text-style-link {
  text-decoration: underline;
  text-underline-offset: 0.2em;
  text-decoration-thickness: 1px;
  text-decoration-color: var(--line-strong);
}

.text-style-link:hover {
  text-decoration-color: currentColor;
}

.text-style-2lines {
  display: -webkit-box;
  overflow: hidden;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

.text-style-3lines {
  display: -webkit-box;
  overflow: hidden;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
}

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

.text-align-left {
  text-align: left;
}

.text-align-right {
  text-align: right;
}

.text-color-primary {
  color: var(--fg);
}

.text-color-secondary {
  color: var(--fg-body);
}

.text-color-muted {
  color: var(--fg-mute);
}

.text-color-accent {
  color: var(--accent);
}

.text-color-alternate {
  color: var(--white);
}

.text-style-tagline {
  display: block;
  margin-bottom: var(--space-small);
  font-family: var(--font-body);
  font-size: var(--size-text-label);
  font-weight: 700;
  line-height: 1.5;
  text-transform: uppercase;
  letter-spacing: 0.17em;
  color: var(--accent);
}

.text-rich-text {
  color: var(--fg-body);
}

.text-rich-text > * + * {
  margin-top: 1.1em;
}

.text-rich-text h2 {
  margin-top: 2.2em;
  font-family: var(--font-display);
  font-size: var(--size-h4);
  font-weight: 400;
  line-height: 1.12;
  color: var(--fg);
}

.text-rich-text h3 {
  margin-top: 1.8em;
  font-family: var(--font-display);
  font-size: var(--size-h5);
  font-weight: 400;
  line-height: 1.15;
  color: var(--fg);
}

.text-rich-text h4 {
  margin-top: 1.6em;
  font-size: var(--size-text-medium);
  font-weight: 700;
  color: var(--fg);
}

.text-rich-text ul {
  padding-left: 1.25em;
  list-style: disc;
}

.text-rich-text ol {
  padding-left: 1.4em;
  list-style: decimal;
}

.text-rich-text li + li {
  margin-top: 0.45em;
}

.text-rich-text a {
  color: var(--fg);
  text-decoration: underline;
  text-underline-offset: 0.2em;
  text-decoration-color: var(--accent-flat);
}

.text-rich-text strong {
  color: var(--fg);
}

.text-rich-text blockquote {
  padding-left: var(--space-small);
  border-left: 2px solid var(--accent-flat);
  font-family: var(--font-display);
  font-size: var(--size-h6);
  line-height: 1.3;
  color: var(--fg);
}

.max-width-xxsmall {
  width: 100%;
  max-width: 16rem;
}

.max-width-xsmall {
  width: 100%;
  max-width: 20rem;
}

.max-width-small {
  width: 100%;
  max-width: 26rem;
}

.max-width-medium {
  width: 100%;
  max-width: 34rem;
}

.max-width-large {
  width: 100%;
  max-width: 48rem;
}

.max-width-xlarge {
  width: 100%;
  max-width: 64rem;
}

.max-width-xxlarge {
  width: 100%;
  max-width: 80rem;
}

.max-width-full {
  width: 100%;
  max-width: none;
}

@media screen and (max-width: 991px) {
  .max-width-full-tablet {
  width: 100%;
  max-width: none;
  }
}

@media screen and (max-width: 767px) {
  .max-width-full-mobile-landscape {
  width: 100%;
  max-width: none;
  }
}

@media screen and (max-width: 479px) {
  .max-width-full-mobile-portrait {
  width: 100%;
  max-width: none;
  }
}

.align-center {
  margin-left: auto;
  margin-right: auto;
}

.layer {
  position: absolute;
  inset: 0;
}

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

.z-index-2 {
  position: relative;
  z-index: 2;
}

.overflow-hidden {
  overflow: hidden;
}

.overflow-auto {
  overflow: auto;
}

.overflow-scroll {
  overflow: scroll;
}

.pointer-events-none {
  pointer-events: none;
}

.pointer-events-auto {
  pointer-events: auto;
}

.aspect-ratio-square {
  aspect-ratio: 1 / 1;
}

.aspect-ratio-portrait {
  aspect-ratio: 2 / 3;
}

.aspect-ratio-landscape {
  aspect-ratio: 3 / 2;
}

.aspect-ratio-widescreen {
  aspect-ratio: 16 / 9;
}

.hide {
  display: none;
}

@media screen and (max-width: 991px) {
  .hide-tablet {
  display: none;
  }
}

@media screen and (max-width: 767px) {
  .hide-mobile-landscape {
  display: none;
  }
}

@media screen and (max-width: 479px) {
  .hide-mobile-portrait {
  display: none;
  }
}

.hide-visually {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0px;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-top-width: 0px;
  border-right-width: 0px;
  border-bottom-width: 0px;
  border-left-width: 0px;
  border-top-style: initial;
  border-right-style: initial;
  border-bottom-style: initial;
  border-left-style: initial;
  border-top-color: initial;
  border-right-color: initial;
  border-bottom-color: initial;
  border-left-color: initial;
  border-image-source: initial;
  border-image-slice: initial;
  border-image-width: initial;
  border-image-outset: initial;
  border-image-repeat: initial;
}

.background-color-primary {
  background-color: var(--bg);
}

.background-color-secondary {
  background-color: var(--bg-alt);
}

.background-color-alternate {
  background-color: var(--sand-light);
}

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

.background-color-sand {
  background-color: var(--sand);
}

.background-color-sage {
  background-color: var(--sage);
}

.background-color-linen {
  background-color: var(--linen);
}

.background-color-stone {
  background-color: var(--stone-light-ground);
}

.icon-1x1-xxsmall {
  width: 1rem;
  height: 1rem;
}

.icon-1x1-xsmall {
  width: 1.5rem;
  height: 1.5rem;
}

.icon-1x1-small {
  width: 2rem;
  height: 2rem;
}

.icon-1x1-medium {
  width: 3rem;
  height: 3rem;
}

.icon-1x1-large {
  width: 4rem;
  height: 4rem;
}

.icon-1x1-xlarge {
  width: 5rem;
  height: 5rem;
}

.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-xsmall);
  min-height: 52px;
  padding: 0 var(--space-medium);
  border: 1px solid var(--fg);
  border-radius: var(--radius);
  background-color: var(--fg);
  color: var(--btn-ink);
  font-family: var(--font-body);
  font-size: var(--size-text-label);
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  cursor: pointer;
  transition: transform 0.25s ease, filter 0.25s ease, background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease;
}

.button:hover {
  transform: translateY(-2px);
  filter: brightness(1.35);
}

.button:focus-visible {
  transform: translateY(-2px);
  filter: brightness(1.35);
}

.button.is-secondary {
  background-color: transparent;
  color: var(--fg);
}

.button.is-secondary:hover {
  background-color: var(--fg);
  color: var(--btn-ink);
  filter: none;
}

.button.is-alternate {
  background-color: var(--white);
  border-color: var(--white);
  color: var(--fg);
}

.button.is-alternate:hover {
  filter: none;
  background-color: var(--sand-light);
}

.button.is-small {
  min-height: 44px;
  padding: 0 var(--space-small);
}

.button.is-link {
  align-items: center;
  justify-content: flex-start;
  width: fit-content;
  min-height: 44px;
  padding: 0px;
  border-top-width: 0px;
  border-right-width: 0px;
  border-bottom-width: 0px;
  border-left-width: 0px;
  border-top-left-radius: 0px;
  border-top-right-radius: 0px;
  border-bottom-right-radius: 0px;
  border-bottom-left-radius: 0px;
  background-color: transparent;
  color: var(--fg);
  text-decoration-line: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.5em;
  transition: color 0.3s ease;
}

.button.is-link:hover {
  transform: none;
  filter: none;
  color: var(--accent);
}

.button.is-link:focus-visible {
  transform: none;
  filter: none;
  color: var(--accent);
}

.button.is-icon {
  width: 52px;
  height: 52px;
  padding: 0px;
  background-color: transparent;
  border-color: var(--line-strong);
  color: var(--fg);
}

.button.is-icon:hover {
  filter: none;
  background-color: var(--fg);
  border-color: var(--fg);
  color: var(--btn-ink);
}

.button-group {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-small);
}

.button-group.is-center {
  justify-content: center;
}

:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
  outline: 2px solid var(--focus);
  outline-offset: 3px;
}

.skip-link_component {
  position: fixed;
  left: var(--space-small);
  top: -6rem;
  z-index: 1100;
  padding: var(--space-small) var(--space-small);
  background-color: var(--fg);
  color: var(--white);
  font-size: var(--size-text-small);
}

.skip-link_component:focus {
  top: var(--space-small);
}

.progress_component {
  position: fixed;
  left: 0px;
  top: 0px;
  z-index: 90;
  width: 100%;
  height: 3px;
  background-color: rgba(128, 128, 128, 0.14);
  pointer-events: none;
}

.progress_fill {
  display: block;
  width: 100%;
  height: 100%;
  background-color: var(--gold-bar);
  transform: scaleX(0);
  transform-origin: left center;
}

.topbar_component {
  background-color: var(--ink);
  color: var(--white);
}

.topbar_inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: var(--space-medium);
  min-height: 2.375rem;
}

@media screen and (max-width: 767px) {
  .topbar_inner {
  justify-content: center;
  text-align: center;
  }
}

.topbar_text {
  font-size: var(--size-text-label);
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.topbar_link {
  display: inline-flex;
  align-items: center;
  min-height: 2.375rem;
  color: var(--gold-light);
  font-weight: 700;
}

@media screen and (max-width: 767px) {
  .topbar_text.is-phone {
  display: none;
  }
}

.navbar_component {
  position: fixed;
  left: 0px;
  right: 0px;
  top: 2.375rem;
  z-index: 60;
  padding-top: var(--space-small);
  padding-bottom: var(--space-small);
  pointer-events: none;
}

@media screen and (max-width: 767px) {
  .navbar_component {
  padding-top: var(--space-xsmall);
  padding-bottom: var(--space-xsmall);
  }
}

.navbar_container {
  pointer-events: auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-small);
  height: 5rem;
  padding-left: var(--space-medium);
  padding-right: var(--space-small);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background-color: var(--white);
  box-shadow: 0 0.75rem 2.5rem rgba(51, 45, 36, 0.07);
}

@media screen and (max-width: 767px) {
  .navbar_container {
  height: 4.25rem;
  padding-left: var(--space-small);
  padding-right: var(--space-xsmall);
  }
}

.navbar_logo-link {
  position: relative;
  z-index: 80;
  display: flex;
  align-items: center;
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: auto;
  min-height: 44px;
}

.navbar_logo {
  width: auto;
  height: 3.5rem;
}

@media screen and (max-width: 767px) {
  .navbar_logo {
  height: 2.75rem;
  }
}

.navbar_menu {
  display: flex;
  align-items: center;
  margin-left: auto;
}

@media screen and (max-width: 1279px) {
  .navbar_menu {
  position: fixed;
  inset: 0;
  z-index: 75;
  display: block;
  padding: calc(var(--space-xhuge) + var(--space-medium)) var(--gutter) var(--space-large);
  overflow-y: auto;
  background-color: var(--bg);
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  transform: translateY(-1.5rem);
  transition: opacity 0.35s ease, transform 0.45s var(--ease), visibility 0s linear 0.45s;
  }
}

@media screen and (max-width: 767px) {
  .navbar_menu {
  padding-top: calc(var(--space-xhuge) + var(--space-small));
  padding-bottom: calc(65px + var(--space-large));
  }
}

@media screen and (min-width: 1280px) {
  .navbar_menu {
  position: relative;
  }
}

.navbar_list {
  display: flex;
  align-items: center;
  gap: var(--space-xxsmall);
}

@media screen and (max-width: 1279px) {
  .navbar_list {
  display: block;
  max-width: 34rem;
  margin-left: auto;
  margin-right: auto;
  }
}

.navbar_item {
  position: relative;
}

@media screen and (max-width: 1279px) {
  .navbar_item {
  border-bottom: 1px solid var(--line);
  }
}

.navbar_link {
  position: relative;
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  font-size: var(--size-text-small);
  font-weight: 500;
  white-space: nowrap;
  transition: color 0.3s ease;
}

@media screen and (max-width: 1279px) {
  .navbar_link {
  display: flex;
  width: 100%;
  min-height: 4.25rem;
  font-family: var(--font-display);
  font-size: var(--size-h5);
  font-weight: 400;
  letter-spacing: -0.01em;
  }
}

@media screen and (min-width: 1280px) {
  .navbar_link {
  padding: 0 var(--space-small);
  border-radius: var(--radius);
  }
}

.navbar_dropdown-toggle {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: var(--space-xsmall);
  min-height: 44px;
  font-size: var(--size-text-small);
  font-weight: 500;
  white-space: nowrap;
  transition: color 0.3s ease;
}

@media screen and (max-width: 1279px) {
  .navbar_dropdown-toggle {
  display: flex;
  justify-content: space-between;
  width: 100%;
  min-height: 4.25rem;
  font-family: var(--font-display);
  font-size: var(--size-h5);
  font-weight: 400;
  letter-spacing: -0.01em;
  text-align: left;
  }
}

@media screen and (min-width: 1280px) {
  .navbar_dropdown-toggle {
  gap: var(--space-xsmall);
  padding: 0 var(--space-small);
  border-radius: var(--radius);
  }
}

.navbar_dropdown-icon {
  position: relative;
  display: block;
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: auto;
  transition: transform 0.35s var(--ease), background-color 0.3s ease, border-color 0.3s ease;
}

@media screen and (max-width: 1279px) {
  .navbar_dropdown-icon {
  width: 2.25rem;
  height: 2.25rem;
  border: 1px solid var(--line-strong);
  border-top-left-radius: 50%;
  border-top-right-radius: 50%;
  border-bottom-right-radius: 50%;
  border-bottom-left-radius: 50%;
  color: var(--fg);
  }
}

@media screen and (min-width: 1280px) {
  .navbar_dropdown-icon {
  width: 0.375rem;
  height: 0.375rem;
  margin-top: -0.1875rem;
  border-right-width: 1.5px;
  border-right-style: solid;
  border-right-color: currentcolor;
  border-bottom-width: 1.5px;
  border-bottom-style: solid;
  border-bottom-color: currentcolor;
  transform: rotate(45deg);
  }
}

.navbar_dropdown-list {
  display: grid;
}

@media screen and (max-width: 1279px) {
  .navbar_dropdown-list {
  display: none;
  gap: var(--space-xxsmall);
  margin-bottom: var(--space-small);
  padding: var(--space-xsmall);
  border-radius: var(--radius-small);
  background-color: var(--sand-light);
  }
}

@media screen and (min-width: 1280px) {
  .navbar_dropdown-list {
  position: absolute;
  left: 50%;
  top: calc(100% + 1.75rem);
  z-index: 70;
  grid-template-columns: 13.5rem minmax(0, 1fr);
  gap: var(--space-xsmall);
  width: 31rem;
  padding: var(--space-xsmall);
  border: 1px solid var(--line);
  border-radius: var(--radius-medium);
  background-color: var(--white);
  box-shadow: 0 1.5rem 4rem rgba(51, 45, 36, 0.14);
  visibility: hidden;
  opacity: 0;
  transform: translate(-50%, 0.75rem) scale(0.98);
  transform-origin: 50% 0;
  transition: opacity 0.3s ease, transform 0.4s var(--ease), visibility 0s linear 0.4s;
  }
}

.navbar_dropdown-lead {
  display: flex;
  transition: background-color 0.3s ease, color 0.3s ease;
}

@media screen and (max-width: 1279px) {
  .navbar_dropdown-lead {
  align-items: center;
  justify-content: space-between;
  gap: var(--space-small);
  min-height: 3.25rem;
  padding: 0 var(--space-xsmall) 0 var(--space-small);
  border-radius: var(--radius-small);
  background-color: var(--white);
  font-weight: 700;
  }
}

@media screen and (min-width: 1280px) {
  .navbar_dropdown-lead {
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-xsmall);
  min-height: 11rem;
  padding: var(--space-small);
  border-radius: var(--radius-small);
  background-color: var(--sand-light);
  }
}

.navbar_dropdown-label {
  color: var(--accent);
  font-size: var(--size-text-label);
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

@media screen and (max-width: 1279px) {
  .navbar_dropdown-label {
  display: none;
  }
}

.navbar_dropdown-arrow {
  position: relative;
  display: block;
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: auto;
  border-top-left-radius: 50%;
  border-top-right-radius: 50%;
  border-bottom-right-radius: 50%;
  border-bottom-left-radius: 50%;
  background-color: var(--fg);
  transition: transform 0.4s var(--ease);
}

@media screen and (max-width: 1279px) {
  .navbar_dropdown-arrow {
  width: 2rem;
  height: 2rem;
  }
}

@media screen and (min-width: 1280px) {
  .navbar_dropdown-arrow {
  width: 2.25rem;
  height: 2.25rem;
  }
}

.navbar_dropdown-arrow::after {
  content: '';
  position: absolute;
  left: 50%;
  top: 50%;
  width: 0.4375rem;
  height: 0.4375rem;
  border-top: 1.5px solid var(--white);
  border-right: 1.5px solid var(--white);
  transform: translate(-65%, -50%) rotate(45deg);
}

.navbar_dropdown-links {
  display: grid;
  align-content: start;
}

@media screen and (min-width: 1280px) {
  .navbar_dropdown-links {
  padding: var(--space-xxsmall) 0;
  }
}

.navbar_dropdown-link {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-xsmall);
  min-height: 44px;
  line-height: 1.3;
  transition: background-color 0.3s ease, color 0.3s ease;
}

@media screen and (max-width: 1279px) {
  .navbar_dropdown-link {
  padding: 0 var(--space-small);
  font-size: var(--size-text-regular);
  }
}

@media screen and (min-width: 1280px) {
  .navbar_dropdown-link {
  padding: 0 var(--space-small);
  border-radius: var(--radius-small);
  font-size: var(--size-text-small);
  }
}

.navbar_dropdown-link.is-current {
  color: var(--accent);
  font-weight: 700;
}

.navbar_pill {
  display: none;
}

@media screen and (min-width: 1280px) {
  .navbar_pill {
  position: absolute;
  left: 0px;
  top: 50%;
  display: block;
  width: 0px;
  height: 2.75rem;
  border-radius: var(--radius);
  background-color: var(--sand-light);
  opacity: 0;
  pointer-events: none;
  transition: transform 0.45s var(--ease), width 0.45s var(--ease), opacity 0.25s ease;
  }
}

.navbar_drawer-foot {
  display: none;
}

@media screen and (max-width: 1279px) {
  .navbar_drawer-foot {
  display: grid;
  gap: var(--space-xsmall);
  max-width: 34rem;
  margin: var(--space-large) auto 0;
  }
}

.navbar_actions {
  position: relative;
  z-index: 80;
  display: flex;
  align-items: center;
  gap: var(--space-small);
}

@media screen and (max-width: 1279px) {
  .navbar_actions {
  margin-left: auto;
  }
}

.navbar_button {
  min-height: 3rem;
}

@media screen and (max-width: 767px) {
  .navbar_button {
  display: none;
  }
}

.navbar_button::after {
  content: '';
  display: block;
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: auto;
  width: 0.4375rem;
  height: 0.4375rem;
  border-top-width: 1.5px;
  border-top-style: solid;
  border-top-color: currentcolor;
  border-right-width: 1.5px;
  border-right-style: solid;
  border-right-color: currentcolor;
  transform: rotate(45deg);
  transition: transform 0.35s var(--ease);
}

.navbar_button:hover::after {
  transform: translateX(0.1875rem) rotate(45deg);
}

.navbar_menu-button {
  display: none;
}

@media screen and (max-width: 1279px) {
  .navbar_menu-button {
  position: relative;
  z-index: 80;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: var(--space-xxsmall);
  width: 3rem;
  height: 3rem;
  border-top-left-radius: 50%;
  border-top-right-radius: 50%;
  border-bottom-right-radius: 50%;
  border-bottom-left-radius: 50%;
  background-color: var(--fg);
  }
}

@media screen and (min-width: 1280px) {
  .navbar_pill.is-on {
  opacity: 1;
  }
}

@media screen and (min-width: 1280px) {
  .navbar_link.is-current::after {
  content: '';
  position: absolute;
  left: 50%;
  bottom: 0.375rem;
  width: 0.25rem;
  height: 0.25rem;
  border-top-left-radius: 50%;
  border-top-right-radius: 50%;
  border-bottom-right-radius: 50%;
  border-bottom-left-radius: 50%;
  background-color: var(--accent-flat);
  transform: translateX(-50%);
  }
}

@media screen and (min-width: 1280px) {
  .navbar_dropdown-toggle.is-current::after {
  content: '';
  position: absolute;
  left: 50%;
  bottom: 0.375rem;
  width: 0.25rem;
  height: 0.25rem;
  border-top-left-radius: 50%;
  border-top-right-radius: 50%;
  border-bottom-right-radius: 50%;
  border-bottom-left-radius: 50%;
  background-color: var(--accent-flat);
  transform: translateX(-50%);
  }
}

@media screen and (max-width: 1279px) {
  .navbar_dropdown-icon.is-open {
  border-color: var(--fg);
  background-color: var(--fg);
  color: var(--white);
  transform: rotate(180deg);
  }
}

@media screen and (min-width: 1280px) {
  .navbar_dropdown-icon.is-open {
  transform: translateY(0.1875rem) rotate(225deg);
  }
}

@media screen and (min-width: 1280px) {
  .navbar_dropdown-list::before {
  content: '';
  position: absolute;
  left: 0px;
  right: 0px;
  bottom: 100%;
  height: 2rem;
  }
}

@media screen and (max-width: 1279px) {
  .navbar_dropdown-list.is-open {
  display: grid;
  }
}

@media screen and (min-width: 1280px) {
  .navbar_dropdown-list.is-open {
  visibility: visible;
  opacity: 1;
  transform: translate(-50%, 0) scale(1);
  transition: opacity 0.3s ease, transform 0.4s var(--ease), visibility 0s linear 0s;
  }
}

@media screen and (min-width: 1280px) {
  .navbar_dropdown-list.is-wide {
  width: 44rem;
  }
}

@media screen and (min-width: 1280px) {
  .navbar_dropdown-lead:hover {
  background-color: var(--sand);
  }
}

@media screen and (min-width: 1280px) {
  .navbar_dropdown-lead.is-current {
  background-color: var(--sand);
  }
}

@media screen and (max-width: 1279px) {
  .navbar_dropdown-title {
  font-size: var(--size-text-regular);
  }
}

@media screen and (min-width: 1280px) {
  .navbar_dropdown-title {
  margin-top: auto;
  font-family: var(--font-display);
  font-size: var(--size-h6);
  line-height: 1.1;
  letter-spacing: -0.01em;
  }
}

@media screen and (min-width: 1280px) {
  .navbar_dropdown-links.is-wide {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: var(--space-xxsmall);
  }
}

@media screen and (min-width: 1280px) {
  .navbar_dropdown-link:hover {
  background-color: var(--sand-light);
  }
}

@media screen and (min-width: 1280px) {
  .navbar_dropdown-link:focus-visible {
  background-color: var(--sand-light);
  }
}

@media screen and (min-width: 1280px) {
  .navbar_dropdown-link::after {
  content: '';
  display: block;
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: auto;
  width: 0.375rem;
  height: 0.375rem;
  border-top-width: 1.5px;
  border-top-style: solid;
  border-top-color: currentcolor;
  border-right-width: 1.5px;
  border-right-style: solid;
  border-right-color: currentcolor;
  opacity: 0;
  transform: translateX(-0.25rem) rotate(45deg);
  transition: opacity 0.25s ease, transform 0.35s var(--ease);
  }
}

@media screen and (min-width: 1280px) {
  .navbar_dropdown-link:hover::after {
  opacity: 1;
  transform: translateX(0) rotate(45deg);
  }
}

@media screen and (min-width: 1280px) {
  .navbar_dropdown-link:focus-visible::after {
  opacity: 1;
  transform: translateX(0) rotate(45deg);
  }
}

@media screen and (max-width: 1279px) {
  .navbar_menu-line {
  display: block;
  width: 1.125rem;
  height: 1.5px;
  background-color: var(--white);
  transition: transform 0.35s var(--ease);
  }
}

@media screen and (max-width: 1279px) {
  .navbar_menu-line.is-top {
  transform: translateY(2.75px) rotate(45deg);
  }
}

@media screen and (max-width: 1279px) {
  .navbar_menu-line.is-bottom {
  transform: translateY(-2.75px) rotate(-45deg);
  }
}

@media screen and (max-width: 1279px) {
  .navbar_menu.is-open {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
  transition: opacity 0.35s ease, transform 0.45s var(--ease), visibility 0s linear 0s;
  }
}

@media screen and (max-width: 1279px) {
  .navbar_link.is-current {
  color: var(--accent);
  }
}

@media screen and (max-width: 1279px) {
  .navbar_dropdown-toggle.is-current {
  color: var(--accent);
  }
}

@media screen and (max-width: 1279px) {
  .navbar_dropdown-icon::after {
  content: '';
  position: absolute;
  left: 50%;
  top: 50%;
  width: 0.4375rem;
  height: 0.4375rem;
  border-right-width: 1.5px;
  border-right-style: solid;
  border-right-color: currentcolor;
  border-bottom-width: 1.5px;
  border-bottom-style: solid;
  border-bottom-color: currentcolor;
  transform: translate(-50%, -75%) rotate(45deg);
  }
}

@media screen and (max-width: 1279px) {
  .navbar_drawer-address {
  margin-top: var(--space-xsmall);
  color: var(--fg-mute);
  font-size: var(--size-text-small);
  text-align: center;
  }
}

.footer_component {
  background-color: var(--ink-deep);
  color: var(--white);
}

.footer_inner {
  padding-top: var(--space-xlarge);
  padding-bottom: var(--space-medium);
}

.footer_top {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) repeat(4, minmax(0, 0.8fr));
  gap: var(--space-large);
}

@media screen and (max-width: 991px) {
  .footer_top {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media screen and (max-width: 767px) {
  .footer_top {
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-medium);
  }
}

.footer_brand {
  display: block;
  max-width: 23.125rem;
  margin-bottom: var(--space-small);
  font-family: var(--font-display);
  font-size: var(--size-h5);
  line-height: 1.08;
}

.footer_title {
  margin-bottom: var(--space-small);
  color: var(--gold-light);
  font-size: var(--size-text-label);
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.footer_text {
  color: var(--footer-text);
  font-size: var(--size-text-tiny);
}

.footer_list {
  display: grid;
}

.footer_link {
  display: inline-flex;
  align-items: center;
  min-height: 1.75rem;
  color: var(--footer-text);
  font-size: var(--size-text-tiny);
  transition: color 0.3s ease;
}

@media screen and (max-width: 767px) {
  .footer_link {
  min-height: 44px;
  }
}

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

.footer_link:focus-visible {
  color: var(--white);
}

.footer_bottom {
  display: flex;
  justify-content: space-between;
  gap: var(--space-small);
  margin-top: var(--space-large);
  padding-top: var(--space-small);
  border-top: 1px solid var(--footer-line);
}

@media screen and (max-width: 767px) {
  .footer_bottom {
  display: block;
  }
}

.footer_copyright {
  color: var(--footer-dim);
  font-size: var(--size-text-label);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.footer_legal {
  display: flex;
  flex-wrap: wrap;
  gap: 0 var(--space-small);
}

.footer_legal-link {
  display: inline-flex;
  align-items: center;
  min-height: 1.75rem;
  color: var(--footer-dim);
  font-size: var(--size-text-label);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  transition: color 0.3s ease;
}

@media screen and (max-width: 767px) {
  .footer_legal-link {
  min-height: 44px;
  }
}

.footer_legal-link:hover {
  color: var(--white);
}

@media screen and (max-width: 991px) {
  .footer_brand-column {
  grid-column: 1 / -1;
  }
}

.callbar_component {
  display: none;
}

@media screen and (max-width: 767px) {
  .callbar_component {
  position: fixed;
  left: 0px;
  right: 0px;
  bottom: 0px;
  z-index: 80;
  display: flex;
  height: 65px;
  background-color: var(--white);
  box-shadow: 0 -8px 28px rgba(0, 0, 0, 0.14);
  transition: transform 0.45s var(--ease);
  }
}

@media screen and (max-width: 767px) {
  .callbar_component.is-away {
  transform: translateY(100%);
  }
}

@media screen and (max-width: 767px) {
  .callbar_link {
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: 0%;
  display: grid;
  place-items: center;
  font-size: var(--size-text-label);
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  }
}

@media screen and (max-width: 767px) {
  .callbar_link.is-call {
  background-color: var(--fg);
  color: var(--white);
  }
}

@media screen and (max-width: 767px) {
  .callbar_link.is-book {
  background-color: var(--accent-flat);
  color: #111111;
  }
}

.section_arrival {
  background-color: var(--sand-light);
  padding-top: calc(5rem + var(--space-medium));
  padding-bottom: var(--space-xxlarge);
}

@media screen and (max-width: 767px) {
  .section_arrival {
  display: flex;
  flex-direction: column;
  padding-top: calc(4.25rem + var(--space-small) + var(--global));
  padding-bottom: var(--space-large);
  }
}

.arrival_container {
  width: min(var(--container-large), calc(100% - var(--gutter) * 2));
  margin-left: auto;
  margin-right: auto;
}

@media screen and (max-width: 767px) {
  .arrival_container {
  display: contents;
  }
}

.arrival_grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: var(--grid-gap);
  align-items: end;
  padding-top: 2.25rem;
  padding-bottom: 2.75rem;
}

@media screen and (max-width: 767px) {
  .arrival_grid {
  display: contents;
  }
}

.arrival_meta {
  grid-column: 1 / -1;
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: var(--space-small);
  padding-bottom: 0.875rem;
  border-bottom: 1px solid var(--line-strong);
}

@media screen and (max-width: 767px) {
  .arrival_meta {
  order: 1;
  margin-left: var(--gutter);
  margin-right: var(--gutter);
  }
}

@media (prefers-reduced-motion: no-preference) {
  .arrival_meta {
  animation: hold-until-armed 1.2s step-end both;
  }
}

.arrival_place {
  font-size: var(--size-text-label);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--fg-mute);
}

@media screen and (max-width: 767px) {
  .arrival_place {
  display: none;
  }
}

.arrival_heading {
  grid-column: 1 / 9;
  margin-top: 2.25rem;
}

@media screen and (max-width: 991px) {
  .arrival_heading {
  grid-column: 1 / -1;
  }
}

@media screen and (max-width: 767px) {
  .arrival_heading {
  order: 2;
  margin: 1.25rem var(--gutter) var(--grid-gap);
  font-size: calc(5.4rem * var(--t-display));
  }
}

@media screen and (max-width: 419px) {
  .arrival_heading {
  font-size: calc(5.4rem * 0.74);
  }
}

@media (prefers-reduced-motion: no-preference) {
  .arrival_heading {
  animation: hold-until-armed 1.2s step-end both;
  }
}

.arrival_copy {
  grid-column: 9 / 13;
  padding-bottom: 0.375rem;
}

@media screen and (max-width: 991px) {
  .arrival_copy {
  grid-column: 1 / 9;
  margin-top: 1.75rem;
  }
}

@media screen and (max-width: 767px) {
  .arrival_copy {
  order: 4;
  margin: 1.75rem var(--gutter) 0;
  }
}

@media (prefers-reduced-motion: no-preference) {
  .arrival_copy {
  animation: hold-until-armed 1.2s step-end both;
  }
}

.arrival_text {
  color: var(--fg-mute);
  font-size: var(--size-text-medium);
}

.arrival_actions {
  margin-top: 1.5625rem;
}

.arrival_film {
  position: relative;
  margin-left: var(--bleed);
  margin-right: var(--bleed);
}

@media screen and (max-width: 767px) {
  .arrival_film {
  order: 3;
  margin-left: var(--gutter);
  margin-right: var(--gutter);
  }
}

.arrival_frame {
  position: relative;
  height: 38rem;
  overflow: hidden;
  border-radius: var(--radius-large);
  background-color: var(--photo-ground);
}

@media screen and (max-width: 991px) {
  .arrival_frame {
  height: 30rem;
  }
}

@media screen and (max-width: 767px) {
  .arrival_frame {
  height: 19rem;
  border-radius: var(--radius-medium);
  }
}

@media (prefers-reduced-motion: no-preference) {
  .arrival_frame {
  animation: hold-until-armed 1.2s step-end both;
  }
}

.arrival_video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 40%;
}

.arrival_play {
  position: absolute;
  right: 5.5rem;
  top: var(--space-medium);
  z-index: 2;
  display: flex;
  align-items: center;
  gap: var(--space-small);
  padding: 0.625rem var(--grid-gap) 0.625rem 0.625rem;
  border-radius: var(--radius);
  background-color: rgba(251, 250, 247, 0.95);
  color: var(--fg);
}

@media screen and (max-width: 767px) {
  .arrival_play {
  left: 0.75rem;
  right: auto;
  top: 0.75rem;
  gap: 0.75rem;
  padding-right: 1.125rem;
  }
}

@media (prefers-reduced-motion: no-preference) {
  .arrival_play {
  animation: hold-until-armed 1.2s step-end both;
  }
}

.arrival_play-ring {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3.5rem;
  height: 3.5rem;
  border-top-left-radius: 50%;
  border-top-right-radius: 50%;
  border-bottom-right-radius: 50%;
  border-bottom-left-radius: 50%;
  background-color: var(--fg);
  transition: background-color 0.3s ease;
}

@media screen and (max-width: 767px) {
  .arrival_play-ring {
  width: 44px;
  height: 44px;
  }
}

.arrival_play:hover .arrival_play-ring {
  background-color: var(--accent);
}

.arrival_play-icon {
  width: 0px;
  height: 0px;
  margin-left: var(--space-xxsmall);
  border-top-style: solid;
  border-right-style: solid;
  border-bottom-style: solid;
  border-left-style: solid;
  border-top-width: 0.5rem;
  border-right-width: 0px;
  border-bottom-width: 0.5rem;
  border-left-width: 0.8125rem;
  border-color: transparent transparent transparent var(--white);
}

.arrival_play-title {
  display: block;
  font-family: var(--font-display);
  font-size: var(--size-h6);
  line-height: 1.1;
}

.arrival_play-meta {
  display: block;
  margin-top: var(--space-xxsmall);
  font-size: var(--size-text-label);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--fg-mute);
}

.arrival_doctor {
  position: absolute;
  left: var(--space-medium);
  bottom: var(--space-medium);
  z-index: 2;
  display: grid;
  grid-template-columns: 4rem minmax(0, 1fr);
  column-gap: var(--space-small);
  row-gap: 0.75rem;
  align-items: center;
  width: 21rem;
  padding: var(--space-small) 1.5rem var(--space-small) var(--space-small);
  border-radius: var(--radius-medium);
  background-color: rgba(251, 250, 247, 0.96);
}

@media screen and (max-width: 767px) {
  .arrival_doctor {
  position: relative;
  left: auto;
  bottom: auto;
  width: auto;
  margin: calc(-1 * var(--grid-gap)) 0.75rem 0;
  box-shadow: var(--shadow);
  }
}

@media (prefers-reduced-motion: no-preference) {
  .arrival_doctor {
  animation: hold-until-armed 1.2s step-end both;
  }
}

.arrival_doctor-image {
  width: 4rem;
  height: 4rem;
  border-top-left-radius: 50%;
  border-top-right-radius: 50%;
  border-bottom-right-radius: 50%;
  border-bottom-left-radius: 50%;
  background-color: var(--portrait-ground);
}

.arrival_doctor-name {
  display: block;
  font-family: var(--font-display);
  font-size: var(--size-h6);
  line-height: 1.1;
}

.arrival_doctor-role {
  display: block;
  margin-top: var(--space-xxsmall);
  font-size: var(--size-text-label);
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--accent);
}

.arrival_rating {
  grid-column: 1 / -1;
  display: flex;
  align-items: baseline;
  gap: var(--space-xsmall);
  padding-top: 0.75rem;
  border-top: 1px solid var(--line);
  font-size: var(--size-text-label);
  color: var(--fg-mute);
}

.arrival_rating-value {
  font-family: var(--font-display);
  font-size: calc(1.5rem * var(--t-sub));
  line-height: 1;
  color: var(--fg);
}

.arrival_rating-stars {
  color: var(--accent-number);
  letter-spacing: 0.08em;
}

.arrival_film-toggle {
  position: absolute;
  top: var(--space-large);
  right: var(--space-medium);
  z-index: 3;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-top-left-radius: 50%;
  border-top-right-radius: 50%;
  border-bottom-right-radius: 50%;
  border-bottom-left-radius: 50%;
  background-color: rgba(251, 250, 247, 0.92);
  color: var(--fg);
}

@media screen and (max-width: 767px) {
  .arrival_film-toggle {
  top: 0.75rem;
  right: 0.75rem;
  }
}

.arrival_film-toggle::before {
  content: '';
  display: block;
  width: 0.25rem;
  height: 0.875rem;
  margin: 0 var(--space-tiny);
  background-color: currentcolor;
}

.arrival_film-toggle::after {
  content: '';
  display: block;
  width: 0.25rem;
  height: 0.875rem;
  margin: 0 var(--space-tiny);
  background-color: currentcolor;
}

.arrival_film-toggle.is-paused::before {
  width: 0px;
  height: 0px;
  margin-left: var(--space-xxsmall);
  background-color: transparent;
  border-top-style: solid;
  border-right-style: solid;
  border-bottom-style: solid;
  border-left-style: solid;
  border-top-width: 0.4375rem;
  border-right-width: 0px;
  border-bottom-width: 0.4375rem;
  border-left-width: 0.6875rem;
  border-top-color: transparent;
  border-right-color: transparent;
  border-bottom-color: transparent;
  border-left-color: currentcolor;
}

.arrival_film-toggle.is-paused::after {
  display: none;
}

@media screen and (min-width: 992px) {
  .arrival_film.is-motion {
  margin-left: 0px;
  margin-right: 0px;
  }
}

@media screen and (min-width: 992px) {
  .arrival_doctor.is-motion {
  left: calc(var(--bleed) + 2rem);
  }
}

@media screen and (min-width: 992px) {
  .arrival_play.is-motion {
  right: calc(var(--bleed) + 5.5rem);
  }
}

@media screen and (min-width: 992px) {
  .arrival_film-toggle.is-motion {
  right: calc(var(--bleed) + 2rem);
  }
}

.section_doctor {
  overflow: hidden;
  background-color: var(--white);
}

.doctor_grid {
  position: relative;
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: var(--grid-gap);
  align-items: center;
}

@media screen and (max-width: 767px) {
  .doctor_grid {
  grid-template-columns: minmax(0, 1fr);
  row-gap: var(--stack-gap);
  }
}

.doctor_portrait {
  grid-column: 1 / 6;
  position: relative;
  z-index: 1;
  height: 33rem;
  overflow: hidden;
  border-top-left-radius: 15rem;
  border-top-right-radius: 15rem;
  border-bottom-right-radius: 0px;
  border-bottom-left-radius: 0px;
  background-color: var(--portrait-ground);
}

@media screen and (max-width: 991px) {
  .doctor_portrait {
  height: 30rem;
  }
}

@media screen and (max-width: 767px) {
  .doctor_portrait {
  grid-column: 1 / -1;
  height: 26rem;
  border-top-left-radius: 10rem;
  border-top-right-radius: 10rem;
  border-bottom-right-radius: 0px;
  border-bottom-left-radius: 0px;
  }
}

.doctor_portrait-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 0%;
}

.doctor_content {
  grid-column: 7 / 13;
  position: relative;
  z-index: 1;
}

@media screen and (max-width: 767px) {
  .doctor_content {
  grid-column: 1 / -1;
  }
}

.doctor_heading {
  margin-bottom: var(--heading-gap);
  font-size: calc(4rem * var(--t-display));
}

.doctor_text {
  color: var(--fg-mute);
}

.doctor_name-mark {
  position: absolute;
  left: -1rem;
  top: -4.25rem;
  z-index: 0;
  font-family: var(--font-display);
  font-size: calc(11.5rem * var(--t-display));
  line-height: 1;
  letter-spacing: -0.04em;
  color: #f0ede6;
  white-space: nowrap;
  pointer-events: none;
  user-select: none;
}

@media screen and (max-width: 767px) {
  .doctor_name-mark {
  left: 0px;
  top: -4.25rem;
  font-size: 21vw;
  }
}

.section_story {
  background-color: var(--ivory);
}

.story_grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: var(--grid-gap);
  align-items: center;
}

@media screen and (max-width: 767px) {
  .story_grid {
  grid-template-columns: minmax(0, 1fr);
  row-gap: var(--stack-gap);
  }
}

.story_photo {
  grid-column: 1 / 6;
  position: relative;
  height: 40rem;
  margin-left: calc(-1 * var(--bleed));
  overflow: hidden;
  border-top-left-radius: 0px;
  border-top-right-radius: 4.375rem;
  border-bottom-right-radius: 0px;
  border-bottom-left-radius: 0px;
}

@media screen and (max-width: 767px) {
  .story_photo {
  grid-column: 1 / -1;
  height: 27.5rem;
  margin-left: calc(-1 * var(--gutter));
  }
}

.story_photo-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 30%;
}

.story_content {
  grid-column: 7 / 13;
}

@media screen and (max-width: 767px) {
  .story_content {
  grid-column: 1 / -1;
  }
}

.story_heading {
  margin-bottom: var(--heading-gap);
}

.story_text {
  color: var(--fg-mute);
}

.story_quote {
  position: relative;
  z-index: 2;
  margin: 1.75rem 0px 1.75rem -14rem;
  padding: var(--grid-gap) 0 var(--grid-gap) var(--grid-gap);
  border-left: 2px solid var(--accent-flat);
  background-color: var(--ivory);
  font-family: var(--font-display);
  font-size: calc(2.125rem * var(--t-sub));
  line-height: 1.22;
  color: var(--ink-soft);
}

@media screen and (max-width: 991px) {
  .story_quote {
  margin-left: -6rem;
  }
}

@media screen and (max-width: 767px) {
  .story_quote {
  margin-left: 0px;
  }
}

.story_benefits {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.9375rem;
}

@media screen and (max-width: 767px) {
  .story_benefits {
  grid-template-columns: minmax(0, 1fr);
  }
}

.story_benefit {
  padding-top: 0.75rem;
  border-top: 1px solid var(--line);
}

.story_benefit-title {
  display: block;
  font-family: var(--font-display);
  font-size: var(--size-h5);
}

.story_benefit-text {
  display: block;
  margin-top: var(--space-tiny);
  font-size: var(--size-text-label);
  color: var(--fg-mute);
}

.solutions_head {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: var(--grid-gap);
  row-gap: var(--grid-gap);
  margin-bottom: var(--space-xlarge);
}

@media screen and (max-width: 767px) {
  .solutions_head {
  grid-template-columns: minmax(0, 1fr);
  margin-bottom: 2.125rem;
  }
}

.solutions_title {
  grid-column: 1 / 10;
}

@media screen and (max-width: 767px) {
  .solutions_title {
  grid-column: 1 / -1;
  }
}

.solutions_heading {
  font-size: calc(4.8rem * var(--t-display));
}

.solutions_intro {
  grid-column: 8 / 13;
  color: var(--stone-dark);
}

@media screen and (max-width: 767px) {
  .solutions_intro {
  grid-column: 1 / -1;
  }
}

.solutions_list {
  border-top: 1px solid var(--line-strong);
}

.solutions_item {
  display: grid;
  grid-template-columns: 6.5rem minmax(0, 1.1fr) minmax(0, 1fr) 8.5rem 12rem;
  grid-template-areas: 'num title copy draw go';
  column-gap: 2.25rem;
  align-items: center;
  padding: 2.25rem 1.25rem;
  border-bottom: 1px solid var(--line-strong);
  transition: background-color 0.4s ease;
}

@media screen and (max-width: 991px) {
  .solutions_item {
  grid-template-columns: 4.5rem minmax(0, 1fr) minmax(0, 1fr) 6.5rem;
  grid-template-areas: 'num title copy draw' '. go go go';
  row-gap: var(--space-small);
  }
}

@media screen and (max-width: 767px) {
  .solutions_item {
  grid-template-columns: minmax(0, 1fr) 6rem;
  grid-template-areas: 'num draw' 'title title' 'copy copy' 'go go';
  row-gap: 0.75rem;
  padding: 1.75rem var(--space-xxsmall);
  }
}

.solutions_item:hover {
  background-color: rgba(255, 255, 255, 0.55);
}

.solutions_item:focus-within {
  background-color: rgba(255, 255, 255, 0.55);
}

.solutions_number {
  grid-area: num;
  font-family: var(--font-display);
  font-size: calc(3.25rem * var(--t-display));
  line-height: 1;
  color: var(--accent-number);
}

.solutions_name {
  grid-area: title;
}

.solutions_text {
  grid-area: copy;
  font-size: var(--size-text-small);
  color: var(--stone-dark);
}

.solutions_link {
  grid-area: go;
  justify-self: end;
}

@media screen and (max-width: 767px) {
  .solutions_link {
  justify-self: start;
  }
}

.solutions_drawing {
  grid-area: draw;
  justify-self: center;
  width: 100%;
  max-width: 8.5rem;
}

@media screen and (max-width: 767px) {
  .solutions_drawing {
  max-width: 6rem;
  justify-self: end;
  }
}

.feature_grid {
  display: grid;
  grid-template-columns: 1.08fr 0.92fr;
  gap: 4.375rem;
  align-items: center;
  padding-top: 6.5625rem;
  padding-bottom: 6.5625rem;
}

@media screen and (max-width: 767px) {
  .feature_grid {
  grid-template-columns: minmax(0, 1fr);
  row-gap: var(--stack-gap);
  padding-top: 4.875rem;
  padding-bottom: 4.875rem;
  }
}

.feature_media {
  position: relative;
}

.feature_photo {
  position: relative;
  height: 36.25rem;
  overflow: hidden;
  border-radius: var(--radius-xlarge) 0 0 0;
}

@media screen and (max-width: 767px) {
  .feature_photo {
  height: 27.5rem;
  }
}

.feature_photo-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 56% 85%;
  filter: saturate(0.8);
}

.feature_caption {
  position: absolute;
  right: -1.875rem;
  bottom: 1.75rem;
  z-index: 2;
  max-width: 20.625rem;
  padding: 1.25rem var(--heading-gap);
  background-color: var(--fg);
  color: var(--white);
  font-family: var(--font-display);
  font-size: var(--size-h6);
  line-height: 1.2;
}

@media screen and (max-width: 767px) {
  .feature_caption {
  right: 0.625rem;
  }
}

.feature_heading {
  margin-bottom: var(--heading-gap);
  font-size: calc(4.23rem * var(--t-display));
}

.feature_text {
  color: var(--stone-sage);
}

.feature_list {
  display: grid;
  gap: 0.625rem;
  margin: 1.6875rem 0px 1.875rem;
  font-size: var(--size-text-tiny);
}

.section_journey {
  background-color: var(--white);
}

.journey_grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  row-gap: var(--space-xlarge);
}

@media screen and (max-width: 991px) {
  .journey_grid {
  row-gap: 2.5rem;
  }
}

.journey_head {
  position: relative;
  max-width: 46rem;
}

.journey_heading {
  margin-bottom: 1.0625rem;
  font-size: calc(4.05rem * var(--t-display));
}

.journey_text {
  max-width: 36rem;
  color: var(--fg-mute);
}

.journey_steps {
  position: relative;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-top: 1px solid var(--line);
  background-color: var(--white);
}

@media screen and (max-width: 991px) {
  .journey_steps {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media screen and (max-width: 767px) {
  .journey_steps {
  grid-template-columns: minmax(0, 1fr);
  }
}

.journey_step {
  position: relative;
  min-height: 20rem;
  padding: 1.875rem;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

@media screen and (max-width: 991px) {
  .journey_step {
  min-height: 15rem;
  }
}

@media screen and (max-width: 767px) {
  .journey_step {
  min-height: 0;
  border-right-width: 0px;
  border-right-style: initial;
  border-right-color: initial;
  }
}

.journey_step.is-last {
  border-right-width: 0px;
  border-right-style: initial;
  border-right-color: initial;
}

.journey_step::before {
  content: '';
  position: absolute;
  left: 0px;
  right: 0px;
  top: -1px;
  height: 2px;
  background-color: var(--accent-flat);
  transform: scaleX(var(--lit, 0));
  transform-origin: left center;
}

.journey_step-number {
  font-family: var(--font-display);
  font-size: calc(6.5rem * var(--t-display));
  line-height: 0.85;
  color: var(--accent-number);
}

@media screen and (max-width: 991px) {
  .journey_step-number {
  font-size: var(--size-number);
  line-height: 0.9;
  }
}

.journey_step-title {
  margin: var(--space-large) 0 0.6875rem;
  font-family: var(--font-body);
  font-size: calc(0.9375rem * var(--t-text));
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0px;
}

.journey_step-text {
  font-size: var(--size-text-tiny);
  color: var(--fg-mute);
}

.journey_rule {
  position: absolute;
  left: 0px;
  right: 0px;
  bottom: -1px;
  height: 2px;
  background-color: var(--accent-flat);
  transform: scaleX(0);
  transform-origin: left center;
  pointer-events: none;
}

.technology_component {
  background-color: var(--stone-light-ground);
}

.technology_grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: var(--grid-gap);
  align-items: center;
}

@media screen and (max-width: 767px) {
  .technology_grid {
  grid-template-columns: minmax(0, 1fr);
  row-gap: var(--stack-gap);
  }
}

.technology_content {
  grid-column: 1 / 6;
}

@media screen and (max-width: 767px) {
  .technology_content {
  grid-column: 1 / -1;
  }
}

.technology_heading {
  margin-bottom: var(--heading-gap);
}

.technology_text {
  color: var(--fg-mute);
}

.technology_points {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.875rem;
  margin-top: 1.75rem;
}

.technology_point {
  padding-top: 0.6875rem;
  border-top: 1px solid var(--line);
}

.technology_point-title {
  display: block;
  font-family: var(--font-display);
  font-size: calc(1.25rem * var(--t-sub));
}

.technology_point-text {
  display: block;
  font-size: var(--size-text-label);
  color: var(--fg-mute);
}

.technology_link {
  margin-top: var(--space-small);
}

.technology_photo {
  grid-column: 7 / 13;
  position: relative;
  height: 36rem;
  margin-right: calc(-1 * var(--bleed));
  overflow: hidden;
  border-radius: 0 0 0 var(--radius-xlarge);
}

@media screen and (max-width: 767px) {
  .technology_photo {
  grid-column: 1 / -1;
  height: 27.5rem;
  margin-right: calc(-1 * var(--gutter));
  }
}

.technology_photo-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 62% 50%;
  filter: saturate(0.7);
}

.section_gallery {
  background-color: var(--linen);
}

.gallery_head {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: var(--grid-gap);
  align-items: end;
  margin-bottom: 3.25rem;
}

@media screen and (max-width: 767px) {
  .gallery_head {
  grid-template-columns: minmax(0, 1fr);
  }
}

.gallery_title {
  grid-column: 1 / 8;
}

@media screen and (max-width: 767px) {
  .gallery_title {
  grid-column: 1 / -1;
  }
}

.gallery_heading {
  font-size: calc(4.6rem * var(--t-display));
}

.gallery_cases {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 1.25rem;
  align-items: start;
}

@media screen and (max-width: 767px) {
  .gallery_cases {
  grid-template-columns: minmax(0, 1fr);
  }
}

.gallery_case {
  position: relative;
}

.gallery_case.is-large {
  grid-column: 1 / 6;
  height: min(32rem, calc(100vh - 9rem));
}

@media screen and (max-width: 767px) {
  .gallery_case.is-large {
  grid-column: 1 / -1;
  height: 22.5rem;
  margin-top: 0px;
  }
}

.gallery_case.is-small {
  grid-column: 6 / 9;
  height: min(22rem, calc((100vh - 9rem) * 0.6875));
  margin-top: min(8.5rem, calc((100vh - 9rem) * 0.265625));
}

@media screen and (max-width: 767px) {
  .gallery_case.is-small {
  grid-column: 1 / -1;
  height: 22.5rem;
  margin-top: 0px;
  }
}

.gallery_case.is-medium {
  grid-column: 9 / 13;
  height: min(26rem, calc((100vh - 9rem) * 0.8125));
  margin-top: min(3.5rem, calc((100vh - 9rem) * 0.109375));
}

@media screen and (max-width: 767px) {
  .gallery_case.is-medium {
  grid-column: 1 / -1;
  height: 22.5rem;
  margin-top: 0px;
  }
}

.gallery_note {
  margin-top: 0.8125rem;
  font-size: var(--size-text-label);
  color: var(--fg-mute);
}

.gallery_reviews {
  margin-top: 7.5rem;
  padding-top: 4.5rem;
  border-top: 1px solid var(--line-strong);
}

@media screen and (max-width: 767px) {
  .gallery_reviews {
  margin-top: 4.5rem;
  padding-top: var(--space-large);
  }
}

.gallery_reviews-head {
  margin-bottom: 2.25rem;
}

.invitation_inner {
  padding-top: 6.25rem;
  padding-bottom: 6.25rem;
}

.invitation_grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: var(--grid-gap);
  align-items: center;
}

@media screen and (max-width: 767px) {
  .invitation_grid {
  grid-template-columns: minmax(0, 1fr);
  row-gap: var(--stack-gap);
  }
}

.invitation_photo {
  grid-column: 9 / 13;
  grid-row: 1;
  position: relative;
  height: 36rem;
  overflow: hidden;
  border-top-left-radius: 0px;
  border-top-right-radius: 0px;
  border-bottom-right-radius: 0px;
  border-bottom-left-radius: 5.625rem;
}

@media screen and (max-width: 767px) {
  .invitation_photo {
  grid-column: 1 / -1;
  grid-row: auto;
  height: 27.5rem;
  }
}

.invitation_photo-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 30%;
}

.invitation_content {
  grid-column: 1 / 9;
  grid-row: 1;
}

@media screen and (max-width: 767px) {
  .invitation_content {
  grid-column: 1 / -1;
  grid-row: auto;
  }
}

.invitation_heading {
  margin: 0.75rem 0px 1.75rem;
  font-size: calc(6.4rem * var(--t-display));
  line-height: 0.94;
  word-spacing: 100vw;
}

@media screen and (max-width: 767px) {
  .invitation_heading {
  font-size: calc(6.4rem * 0.62);
  }
}

.invitation_word {
  display: inline-block;
}

.invitation_word.is-second {
  margin-left: 1.1em;
}

@media screen and (max-width: 767px) {
  .invitation_word.is-second {
  margin-left: 0px;
  }
}

.invitation_word.is-third {
  margin-left: 2.2em;
}

@media screen and (max-width: 767px) {
  .invitation_word.is-third {
  margin-left: 0px;
  }
}

.invitation_word.is-fourth {
  margin-left: 0.55em;
}

@media screen and (max-width: 767px) {
  .invitation_word.is-fourth {
  margin-left: 0px;
  }
}

.invitation_text {
  max-width: 30rem;
  margin-bottom: 1.75rem;
  color: var(--stone-dark);
}

@media screen and (max-width: 991px) {
  .journey_step.is-even {
  border-right-width: 0px;
  border-right-style: initial;
  border-right-color: initial;
  }
}

.tag {
  position: absolute;
  z-index: 3;
  padding: 0.5625rem 0.75rem;
  background-color: var(--fg);
  color: var(--white);
  font-size: var(--size-text-label);
  line-height: 1.3;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.tag.is-bottom-left {
  left: 1.125rem;
  bottom: 1.125rem;
}

.tag.is-bottom-right {
  right: 1.125rem;
  bottom: 1.125rem;
}

.tag.is-inline {
  position: static;
  display: inline-block;
}

.credentials_list {
  margin: var(--space-medium) 0 1.75rem;
  border-top: 1px solid var(--line-strong);
}

.credentials_item {
  display: grid;
  grid-template-columns: 12rem minmax(0, 1fr);
  column-gap: var(--grid-gap);
  padding: 0.875rem 0px;
  border-bottom: 1px solid var(--line);
}

@media screen and (max-width: 991px) {
  .credentials_item {
  grid-template-columns: minmax(0, 1fr);
  row-gap: var(--space-xxsmall);
  }
}

.credentials_term {
  padding-top: var(--space-tiny);
  font-size: var(--size-text-label);
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--accent);
}

.credentials_value {
  font-size: var(--size-text-small);
}

.stats_component {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr) minmax(0, 1fr) minmax(0, 0.9fr);
  column-gap: var(--grid-gap);
  margin-top: var(--space-huge);
  padding-top: var(--space-large);
  border-top: 1px solid var(--line-strong);
}

@media screen and (max-width: 991px) {
  .stats_component {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  row-gap: 2.5rem;
  margin-top: var(--space-xlarge);
  }
}

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

@media screen and (max-width: 991px) {
  .stats_component.is-three {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.stats_number {
  display: block;
  font-family: var(--font-display);
  font-size: var(--size-number);
  font-weight: 400;
  line-height: 0.95;
  letter-spacing: -0.02em;
  color: var(--accent-number);
  font-variant-numeric: tabular-nums;
}

@media screen and (max-width: 767px) {
  .stats_number {
  font-size: calc(var(--size-number-base) * 0.66);
  }
}

.stats_label {
  display: block;
  max-width: 15rem;
  margin-top: 0.875rem;
  font-size: var(--size-text-label);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--fg-mute);
}

.specialists_component {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: var(--grid-gap);
  align-items: start;
  margin-top: 4.5rem;
}

.specialists_lead {
  grid-column: 1 / 5;
  font-family: var(--font-display);
  font-size: calc(1.5rem * var(--t-sub));
  line-height: 1.25;
  color: var(--fg);
}

@media screen and (max-width: 991px) {
  .specialists_lead {
  grid-column: 1 / -1;
  }
}

.specialists_list {
  grid-column: 6 / 13;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.75rem;
}

@media screen and (max-width: 991px) {
  .specialists_list {
  grid-column: 1 / -1;
  margin-top: var(--grid-gap);
  }
}

@media screen and (max-width: 767px) {
  .specialists_list {
  grid-template-columns: minmax(0, 1fr);
  }
}

.specialists_item {
  display: block;
  min-height: 44px;
  padding-top: 0.6875rem;
  border-top: 1px solid var(--line);
  transition: border-color 0.3s ease;
}

.specialists_item:hover {
  border-top-color: var(--accent-flat);
}

.specialists_name {
  display: block;
  font-family: var(--font-display);
  font-size: calc(1.25rem * var(--t-sub));
  line-height: 1.2;
  transition: color 0.3s ease;
}

.specialists_item:hover .specialists_name {
  color: var(--accent);
}

.specialists_role {
  display: block;
  margin-top: var(--space-xxsmall);
  font-size: var(--size-text-label);
  color: var(--fg-mute);
}

.case_component {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
  border-radius: var(--radius-small);
  background-color: var(--case-ground);
}

.case_component.is-draggable {
  touch-action: pan-y;
  user-select: none;
}

@media (hover: hover) and (pointer: fine) {
  .case_component.is-draggable {
  cursor: ew-resize;
  }
}

.case_image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 58%;
}

.case_after {
  position: absolute;
  inset: 0;
  clip-path: inset(0 50% 0 0);
}

.case_line {
  position: absolute;
  top: 0px;
  bottom: 0px;
  left: 50%;
  z-index: 2;
  width: 2px;
  margin-left: -1px;
  background-color: var(--white);
}

.case_handle {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 3;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  height: 2.75rem;
  margin-top: -1.375rem;
  margin-left: -1.375rem;
  border-top-left-radius: 50%;
  border-top-right-radius: 50%;
  border-bottom-right-radius: 50%;
  border-bottom-left-radius: 50%;
  background-color: var(--white);
  color: var(--fg);
  box-shadow: 0 0.25rem 1rem rgba(41, 40, 36, 0.22);
  cursor: grab;
  touch-action: none;
}

.case_handle-icon {
  width: 1.25rem;
  height: 1.25rem;
}

.reviews_embed {
  display: block;
  width: 100%;
  min-height: 26rem;
}

.reviews_embed > * {
  width: 100%;
}

.consultation_grid {
  display: grid;
  grid-template-columns: 1fr 0.95fr;
  gap: var(--space-xxlarge);
  align-items: center;
}

@media screen and (max-width: 767px) {
  .consultation_grid {
  grid-template-columns: minmax(0, 1fr);
  row-gap: var(--stack-gap);
  }
}

.consultation_heading {
  margin-bottom: var(--heading-gap);
  font-size: calc(4.5rem * var(--t-display));
}

.consultation_text {
  color: var(--stone-sage);
}

.consultation_reasons {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.75rem;
  margin-top: 1.75rem;
}

@media screen and (max-width: 767px) {
  .consultation_reasons {
  grid-template-columns: minmax(0, 1fr);
  }
}

.consultation_reason {
  padding-top: 0.6875rem;
  border-top: 1px solid var(--line-sage);
}

.consultation_reason-title {
  display: block;
  font-size: var(--size-text-label);
  font-weight: 700;
}

.consultation_reason-text {
  display: block;
  font-size: var(--size-text-label);
  color: var(--stone-sage);
}

.consultation_card {
  padding: 2.25rem;
  background-color: var(--white);
  color: var(--fg);
  box-shadow: var(--shadow);
}

@media screen and (max-width: 767px) {
  .consultation_card {
  padding: 1.25rem;
  }
}

.consultation_card-title {
  margin-bottom: var(--space-small);
  font-size: var(--size-h4);
}

.consultation_embed {
  min-height: 24rem;
}

.faq_component {
  background-color: var(--white);
}

.faq_grid {
  display: grid;
  grid-template-columns: 0.58fr 1fr;
  gap: 5.3125rem;
}

@media screen and (max-width: 767px) {
  .faq_grid {
  grid-template-columns: minmax(0, 1fr);
  gap: 2.5rem;
  }
}

.faq_heading {
  margin-bottom: 1.25rem;
  font-size: calc(4.23rem * var(--t-display));
}

.faq_text {
  color: var(--fg-mute);
}

.faq_link {
  margin-top: var(--space-small);
}

.faq_item {
  border-top: 1px solid var(--line);
}

.faq_item.is-last {
  border-bottom: 1px solid var(--line);
}

.faq_question {
  position: relative;
  display: block;
  padding: 1.3125rem 2.25rem 1.3125rem 0px;
  font-size: var(--size-text-small);
  font-weight: 700;
}

@media screen and (max-width: 767px) {
  .faq_question {
  display: flex;
  align-items: center;
  min-height: 56px;
  }
}

.faq_question::after {
  content: '+';
  position: absolute;
  right: var(--space-xxsmall);
  top: 0.875rem;
  font-family: var(--font-display);
  font-weight: 400;
  font-size: calc(1.6875rem * var(--t-sub));
  line-height: 1.2;
  color: var(--accent-number);
}

.faq_item[open] .faq_question::after {
  content: '\2013';
}

.faq_answer {
  padding: 0px 2.5rem 1.25rem 0px;
  font-size: var(--size-text-tiny);
  color: var(--fg-mute);
}

.drawing_component {
  width: 100%;
}

.drawing_svg {
  display: block;
  width: 100%;
  height: auto;
  overflow: visible;
}

.drawing_path {
  fill: none;
  stroke: var(--fg);
  stroke-width: 1.1;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.drawing_path.is-gum {
  stroke: var(--accent-flat);
}

.drawing_path.is-old {
  stroke: #b9b3a8;
}

.drawing_path.is-titanium {
  stroke: var(--accent-number);
}

.split_line-mask {
  margin-top: -0.16em;
  margin-bottom: -0.14em;
  padding-top: 0.16em;
  padding-bottom: 0.14em;
}

.button_roll {
  display: inline-flex;
  flex-direction: column;
  height: 1.25em;
  overflow: hidden;
  line-height: 1.25;
  vertical-align: middle;
}

.button_roll-text {
  display: block;
  transition: transform 0.5s cubic-bezier(0.65, 0, 0.35, 1);
}

.button:hover .button_roll-text {
  transform: translateY(-100%);
}

.button:focus-visible .button_roll-text {
  transform: translateY(-100%);
}

.film_component {
  position: fixed;
  inset: 0;
  z-index: 1001;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 4.5rem var(--gutter) var(--space-medium);
  background-color: rgba(41, 40, 36, 0.92);
}

.film_box {
  position: relative;
  width: min(100%, 72rem);
}

.film_video {
  display: block;
  width: 100%;
  height: auto;
  max-height: calc(100vh - 7rem);
  border-top-left-radius: 0.75rem;
  border-top-right-radius: 0.75rem;
  border-bottom-right-radius: 0.75rem;
  border-bottom-left-radius: 0.75rem;
  background-color: #000000;
}

.film_close {
  position: absolute;
  right: 0px;
  top: -3.5rem;
  display: flex;
  align-items: center;
  min-height: 44px;
  padding: 0 var(--space-small);
  border-top-width: 1px;
  border-right-width: 1px;
  border-bottom-width: 1px;
  border-left-width: 1px;
  border-top-style: solid;
  border-right-style: solid;
  border-bottom-style: solid;
  border-left-style: solid;
  border-top-color: rgba(255, 255, 255, 0.5);
  border-right-color: rgba(255, 255, 255, 0.5);
  border-bottom-color: rgba(255, 255, 255, 0.5);
  border-left-color: rgba(255, 255, 255, 0.5);
  border-image-source: initial;
  border-image-slice: initial;
  border-image-width: initial;
  border-image-outset: initial;
  border-image-repeat: initial;
  border-radius: var(--radius);
  background-color: transparent;
  color: var(--white);
  font-family: var(--font-body);
  font-size: var(--size-text-label);
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.film_close:hover {
  background-color: var(--white);
  color: var(--fg);
}

.film_close:focus-visible {
  background-color: var(--white);
  color: var(--fg);
}

.film_title {
  position: absolute;
  left: 0px;
  top: -3rem;
  color: var(--white);
  font-family: var(--font-display);
  font-size: var(--size-h6);
  line-height: 1.2;
}

@media screen and (max-width: 767px) {
  .film_title {
  display: none;
  }
}

.fold_component {
  margin-top: var(--space-small);
  border-top: 1px solid var(--line);
}

.fold_summary {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xsmall);
  min-height: 44px;
  font-size: var(--size-text-label);
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--fg);
}

.fold_summary::after {
  content: '+';
  font-family: var(--font-display);
  font-size: calc(1.375rem * var(--t-sub));
  font-weight: 400;
  line-height: 1;
  color: var(--accent-number);
}

.fold_component[open] .fold_summary::after {
  content: '\2013';
}

.fold_body {
  padding-bottom: var(--space-small);
}

.section_header {
  position: relative;
  overflow: hidden;
  padding-top: calc(5rem + var(--space-medium));
}

@media screen and (max-width: 767px) {
  .section_header {
  padding-top: calc(4.25rem + var(--space-small));
  }
}

.header_grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: var(--grid-gap);
  align-items: center;
  min-height: 40rem;
  padding-top: var(--space-medium);
  padding-bottom: var(--space-xxlarge);
}

@media screen and (max-width: 991px) {
  .header_grid {
  min-height: 0;
  }
}

@media screen and (max-width: 767px) {
  .header_grid {
  padding-bottom: var(--space-large);
  }
}

.header_grid.is-wide {
  min-height: 0;
  padding-bottom: var(--space-large);
}

.header_grid.is-plain {
  min-height: 0;
  padding-bottom: var(--space-xlarge);
}

.header_content {
  grid-column: 1 / 7;
  position: relative;
  z-index: 2;
}

@media screen and (max-width: 991px) {
  .header_content {
  grid-column: 1 / -1;
  }
}

.header_content.is-wide {
  grid-column: 1 / -1;
}

@media screen and (max-width: 991px) {
  .header_content.is-wide {
  grid-column: 1 / -1;
  }
}

.header_split {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: var(--grid-gap);
  align-items: end;
}

.header_main {
  grid-column: 1 / 9;
}

@media screen and (max-width: 991px) {
  .header_main {
  grid-column: 1 / -1;
  }
}

.header_side {
  grid-column: 9 / 13;
  padding-bottom: var(--space-small);
}

@media screen and (max-width: 991px) {
  .header_side {
  grid-column: 1 / -1;
  margin-top: var(--space-medium);
  }
}

.header_content.is-plain {
  grid-column: 1 / 10;
}

@media screen and (max-width: 991px) {
  .header_content.is-plain {
  grid-column: 1 / -1;
  }
}

.header_breadcrumb {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-xsmall);
  margin-bottom: var(--space-medium);
  padding-bottom: var(--space-small);
  border-bottom: 1px solid var(--line-strong);
  font-size: var(--size-text-label);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--fg-mute);
}

.header_breadcrumb-link {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  transition: color 0.3s ease;
}

.header_breadcrumb-link:hover {
  color: var(--accent);
}

.header_breadcrumb-divider {
  color: var(--line-strong);
}

.header_breadcrumb-current {
  font-weight: 700;
  color: var(--accent);
}

.header_heading {
  margin: var(--space-xsmall) 0 var(--space-medium);
}

@media (prefers-reduced-motion: no-preference) {
  .header_heading {
  animation: hold-until-armed 1.2s step-end both;
  }
}

.header_heading.is-wide {
  margin-bottom: 0px;
  font-size: var(--size-display);
}

@media screen and (max-width: 767px) {
  .header_heading.is-wide {
  font-size: var(--size-h1);
  }
}

@media screen and (max-width: 479px) {
  .header_heading.is-wide {
  font-size: calc(var(--size-h1) * 0.86);
  }
}

.header_heading.is-long {
  font-size: calc(3.75rem * var(--t-display));
}

.header_lead {
  max-width: 34rem;
  font-size: var(--size-text-large);
  line-height: 1.55;
  color: var(--fg-mute);
}

@media (prefers-reduced-motion: no-preference) {
  .header_lead {
  animation: hold-until-armed 1.2s step-end both;
  }
}

.header_note {
  max-width: 34rem;
  margin-top: var(--space-small);
  font-size: var(--size-text-small);
  color: var(--fg-mute);
}

.header_actions {
  margin-top: var(--space-medium);
}

@media (prefers-reduced-motion: no-preference) {
  .header_actions {
  animation: hold-until-armed 1.2s step-end both;
  }
}

.header_media {
  grid-column: 8 / 13;
  position: relative;
  align-self: stretch;
  margin-top: calc(-1 * (5rem + var(--space-medium) * 2));
  margin-right: calc(-1 * var(--bleed));
}

@media screen and (max-width: 991px) {
  .header_media {
  grid-column: 1 / -1;
  margin-top: var(--space-large);
  margin-left: calc(-1 * var(--gutter));
  margin-right: calc(-1 * var(--gutter));
  }
}

@media screen and (min-width: 992px) {
  .header_media.is-clear {
  margin-top: 0px;
  }
}

.header_frame {
  position: relative;
  height: 100%;
  min-height: 34rem;
  overflow: hidden;
  border-radius: 0 0 0 var(--radius-xlarge);
  background-color: var(--photo-ground);
}

@media screen and (max-width: 991px) {
  .header_frame {
  height: auto;
  min-height: 26rem;
  border-top-left-radius: 0px;
  border-top-right-radius: 0px;
  border-bottom-right-radius: 0px;
  border-bottom-left-radius: 0px;
  }
}

@media screen and (max-width: 767px) {
  .header_frame {
  min-height: 22rem;
  }
}

@media (prefers-reduced-motion: no-preference) {
  .header_frame {
  animation: hold-until-armed 1.2s step-end both;
  }
}

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

.header_image.is-portrait {
  object-position: 50% 40%;
}

.header_frame.is-portrait {
  background-color: var(--portrait-ground);
}

@media screen and (max-width: 991px) {
  .header_frame.is-portrait {
  min-height: 0;
  aspect-ratio: 4 / 3;
  }
}

.header_band {
  position: relative;
  margin-left: var(--bleed);
  margin-right: var(--bleed);
  padding-bottom: var(--space-xxlarge);
}

@media screen and (max-width: 767px) {
  .header_band {
  margin-left: var(--gutter);
  margin-right: var(--gutter);
  padding-bottom: var(--space-large);
  }
}

.header_band-frame {
  position: relative;
  height: 34rem;
  overflow: hidden;
  border-radius: var(--radius-large);
  background-color: var(--photo-ground);
}

@media screen and (max-width: 991px) {
  .header_band-frame {
  height: 26rem;
  }
}

@media screen and (max-width: 767px) {
  .header_band-frame {
  height: 19rem;
  border-radius: var(--radius-medium);
  }
}

@media (prefers-reduced-motion: no-preference) {
  .header_band-frame {
  animation: hold-until-armed 1.2s step-end both;
  }
}

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

.header_card {
  position: absolute;
  left: -3rem;
  bottom: var(--space-large);
  z-index: 3;
  display: grid;
  grid-template-columns: 4rem minmax(0, 1fr);
  column-gap: var(--space-small);
  row-gap: var(--space-small);
  align-items: center;
  width: 21rem;
  padding: var(--space-small) var(--space-medium) var(--space-small) var(--space-small);
  border-radius: var(--radius-medium);
  background-color: rgba(251, 250, 247, 0.96);
  box-shadow: var(--shadow);
}

@media screen and (max-width: 991px) {
  .header_card {
  position: relative;
  left: auto;
  bottom: auto;
  width: 21rem;
  max-width: calc(100% - var(--gutter) * 2);
  margin: calc(-1 * var(--grid-gap)) var(--gutter) 0;
  }
}

@media screen and (max-width: 767px) {
  .header_card {
  position: relative;
  left: auto;
  bottom: auto;
  width: auto;
  margin: calc(-1 * var(--grid-gap)) var(--gutter) 0;
  }
}

@media (prefers-reduced-motion: no-preference) {
  .header_card {
  animation: hold-until-armed 1.2s step-end both;
  }
}

.header_card.is-band {
  left: var(--space-medium);
}

@media screen and (max-width: 991px) {
  .header_card.is-band {
  left: auto;
  margin: calc(-1 * var(--grid-gap)) var(--space-small) 0;
  }
}

@media screen and (max-width: 767px) {
  .header_card.is-band {
  position: relative;
  left: auto;
  margin: calc(-1 * var(--grid-gap)) var(--space-small) 0;
  }
}

.header_card-image {
  width: 4rem;
  height: 4rem;
  border-top-left-radius: 50%;
  border-top-right-radius: 50%;
  border-bottom-right-radius: 50%;
  border-bottom-left-radius: 50%;
  background-color: var(--portrait-ground);
}

.header_card-name {
  display: block;
  font-family: var(--font-display);
  font-size: var(--size-h6);
  line-height: 1.1;
}

.header_card-role {
  display: block;
  margin-top: var(--space-xxsmall);
  font-size: var(--size-text-label);
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--accent);
}

.header_card-rating {
  grid-column: 1 / -1;
  display: flex;
  align-items: baseline;
  gap: var(--space-xsmall);
  padding-top: var(--space-small);
  border-top: 1px solid var(--line);
  font-size: var(--size-text-label);
  color: var(--fg-mute);
}

.header_card-value {
  font-family: var(--font-display);
  font-size: calc(1.5rem * var(--t-sub));
  line-height: 1;
  color: var(--fg);
}

.header_card-stars {
  color: var(--accent-number);
  letter-spacing: 0.08em;
}

.statement_grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: var(--grid-gap);
  align-items: start;
}

.statement_head {
  grid-column: 1 / 6;
}

@media screen and (max-width: 991px) {
  .statement_head {
  grid-column: 1 / -1;
  }
}

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

.statement_drawing {
  width: 100%;
  max-width: 20rem;
  margin-top: var(--space-large);
}

@media screen and (max-width: 991px) {
  .statement_drawing {
  max-width: 14rem;
  }
}

.statement_photo {
  position: relative;
  height: 26rem;
  margin-top: var(--space-large);
  overflow: hidden;
  border-radius: 0 var(--radius-xlarge) 0 0;
}

@media screen and (max-width: 767px) {
  .statement_photo {
  height: 20rem;
  }
}

.statement_image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.statement_image.is-portrait {
  object-position: 50% 8%;
}

.statement_body {
  grid-column: 7 / 13;
  align-self: center;
  padding-top: var(--space-xsmall);
}

@media screen and (max-width: 991px) {
  .statement_body {
  grid-column: 1 / -1;
  padding-top: var(--space-large);
  }
}

.statement_lead {
  margin-bottom: var(--space-medium);
  font-family: var(--font-display);
  font-size: calc(2.125rem * var(--t-sub));
  line-height: 1.22;
  color: var(--ink-soft);
}

@media screen and (max-width: 767px) {
  .statement_lead {
  font-size: calc(1.75rem * var(--t-sub));
  }
}

.statement_text {
  max-width: 36rem;
}

.checks_grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: var(--grid-gap);
  align-items: center;
}

.checks_head {
  grid-column: 1 / 6;
}

@media screen and (max-width: 991px) {
  .checks_head {
  grid-column: 1 / -1;
  }
}

.checks_heading {
  margin-bottom: var(--heading-gap);
}

.checks_intro {
  max-width: 30rem;
}

.checks_content {
  grid-column: 1 / 7;
}

@media screen and (max-width: 991px) {
  .checks_content {
  grid-column: 1 / -1;
  }
}

.checks_photo {
  grid-column: 8 / 13;
  position: relative;
  height: 32rem;
  margin-right: calc(-1 * var(--bleed));
  overflow: hidden;
  border-radius: 0 0 0 var(--radius-xlarge);
}

@media screen and (max-width: 991px) {
  .checks_photo {
  grid-column: 1 / -1;
  margin-top: var(--space-large);
  margin-right: calc(-1 * var(--gutter));
  }
}

@media screen and (max-width: 767px) {
  .checks_photo {
  height: 20rem;
  }
}

.checks_image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.checks_list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: var(--grid-gap);
  margin-top: var(--space-large);
  border-top: 1px solid var(--line-strong);
}

@media screen and (max-width: 991px) {
  .checks_list {
  grid-column: 1 / -1;
  margin-top: var(--space-large);
  }
}

@media screen and (max-width: 767px) {
  .checks_list {
  grid-template-columns: minmax(0, 1fr);
  }
}

.checks_head.is-text {
  grid-column: 1 / 8;
}

@media screen and (max-width: 991px) {
  .checks_head.is-text {
  grid-column: 1 / -1;
  }
}

.checks_list.is-text {
  grid-column: 1 / -1;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: var(--space-large);
}

@media screen and (max-width: 991px) {
  .checks_list.is-text {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media screen and (max-width: 767px) {
  .checks_list.is-text {
  grid-template-columns: minmax(0, 1fr);
  }
}

.checks_item {
  display: grid;
  grid-template-columns: 2.25rem minmax(0, 1fr);
  column-gap: var(--space-small);
  align-items: start;
  padding: var(--space-medium) 0;
  border-bottom: 1px solid var(--line);
}

.checks_mark {
  position: relative;
  display: block;
  width: 2.25rem;
  height: 2.25rem;
  border: 1px solid var(--accent-flat);
  border-top-left-radius: 50%;
  border-top-right-radius: 50%;
  border-bottom-right-radius: 50%;
  border-bottom-left-radius: 50%;
}

.checks_mark::after {
  content: '';
  position: absolute;
  left: 0.8rem;
  top: 0.5rem;
  width: 0.5rem;
  height: 0.95rem;
  border-right: 1.5px solid var(--accent-number);
  border-bottom: 1.5px solid var(--accent-number);
  transform: rotate(45deg);
}

.checks_text {
  padding-top: var(--space-xxsmall);
  font-family: var(--font-display);
  font-size: calc(1.375rem * var(--t-sub));
  line-height: 1.2;
}

.checks_after {
  max-width: 44rem;
  margin-top: var(--space-large);
}

.index_head {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: var(--grid-gap);
  row-gap: var(--grid-gap);
  align-items: end;
  margin-bottom: var(--space-xlarge);
}

@media screen and (max-width: 767px) {
  .index_head {
  margin-bottom: var(--space-large);
  }
}

.index_title {
  grid-column: 1 / 8;
}

@media screen and (max-width: 991px) {
  .index_title {
  grid-column: 1 / -1;
  }
}

.index_intro {
  grid-column: 8 / 13;
}

@media screen and (max-width: 991px) {
  .index_intro {
  grid-column: 1 / -1;
  }
}

.index_list {
  border-top: 1px solid var(--line-strong);
}

.index_item {
  display: grid;
  grid-template-columns: 6rem minmax(0, 0.85fr) minmax(0, 1.25fr);
  column-gap: var(--space-medium);
  align-items: start;
  padding: var(--space-large) 0;
  border-bottom: 1px solid var(--line-strong);
  transition: background-color 0.4s ease;
}

@media screen and (max-width: 991px) {
  .index_item {
  grid-template-columns: 4.5rem minmax(0, 1fr);
  row-gap: var(--space-small);
  }
}

@media screen and (max-width: 767px) {
  .index_item {
  grid-template-columns: minmax(0, 1fr);
  padding: var(--space-medium) 0;
  }
}

.index_number {
  font-family: var(--font-display);
  font-size: calc(3.25rem * var(--t-display));
  line-height: 1;
  color: var(--accent-number);
}

.index_name {
  padding-top: var(--space-xxsmall);
  font-size: var(--size-h4);
  line-height: 1.1;
}

.index_text {
  max-width: 40rem;
}

.index_after {
  max-width: 44rem;
  margin-top: var(--space-large);
}

.pair_grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: var(--grid-gap);
  row-gap: var(--space-xlarge);
  align-items: start;
}

.pair_column {
  grid-column: span 6;
}

@media screen and (max-width: 991px) {
  .pair_column {
  grid-column: 1 / -1;
  }
}

.pair_heading {
  margin-bottom: var(--heading-gap);
  font-size: var(--size-h3);
}

.pair_intro {
  max-width: 30rem;
}

.pair_list {
  margin-top: var(--space-large);
  border-top: 1px solid var(--line-strong);
}

.pair_row {
  display: grid;
  grid-template-columns: 3.5rem minmax(0, 1fr);
  column-gap: var(--space-small);
  align-items: start;
  padding: var(--space-medium) 0;
  border-bottom: 1px solid var(--line);
}

.pair_number {
  font-family: var(--font-display);
  font-size: calc(2.25rem * var(--t-display));
  line-height: 1;
  color: var(--accent-number);
}

.pair_mark {
  position: relative;
  display: block;
  width: 2.25rem;
  height: 2.25rem;
  border: 1px solid var(--accent-flat);
  border-top-left-radius: 50%;
  border-top-right-radius: 50%;
  border-bottom-right-radius: 50%;
  border-bottom-left-radius: 50%;
}

.pair_mark::after {
  content: '';
  position: absolute;
  left: 0.8rem;
  top: 0.5rem;
  width: 0.5rem;
  height: 0.95rem;
  border-right: 1.5px solid var(--accent-number);
  border-bottom: 1.5px solid var(--accent-number);
  transform: rotate(45deg);
}

.pair_body {
  display: block;
  padding-top: var(--space-xxsmall);
}

.pair_name {
  display: block;
  font-family: var(--font-display);
  font-size: calc(1.375rem * var(--t-sub));
  line-height: 1.2;
}

.pair_text {
  display: block;
  margin-top: var(--space-xxsmall);
  font-size: var(--size-text-small);
  color: var(--fg-mute);
}

.section_specialist {
  position: relative;
  overflow: hidden;
}

.specialist_grid {
  position: relative;
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: var(--grid-gap);
  align-items: start;
}

.specialist_aside {
  grid-column: 1 / 6;
  position: relative;
  z-index: 1;
  padding-top: var(--space-huge);
}

@media screen and (max-width: 991px) {
  .specialist_aside {
  grid-column: 1 / -1;
  padding-top: 0px;
  }
}

.specialist_name {
  font-family: var(--font-display);
  font-size: calc(4.5rem * var(--t-display));
  line-height: 0.98;
  letter-spacing: -0.045em;
  color: var(--fg);
}

.specialist_role {
  margin-top: var(--space-small);
  font-size: var(--size-text-label);
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--accent);
}

.specialist_portrait {
  position: relative;
  height: 30rem;
  overflow: hidden;
  border-top-left-radius: 15rem;
  border-top-right-radius: 15rem;
  border-bottom-right-radius: 0px;
  border-bottom-left-radius: 0px;
  background-color: var(--portrait-ground);
}

@media screen and (max-width: 991px) {
  .specialist_portrait {
  max-width: 28rem;
  }
}

@media screen and (max-width: 767px) {
  .specialist_portrait {
  height: 24rem;
  border-top-left-radius: 10rem;
  border-top-right-radius: 10rem;
  border-bottom-right-radius: 0px;
  border-bottom-left-radius: 0px;
  }
}

.specialist_image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 0%;
}

.specialist_recognition {
  display: grid;
  gap: var(--space-small);
  margin-top: var(--space-large);
}

.specialist_note {
  padding-left: var(--space-small);
  border-left: 2px solid var(--accent-flat);
  font-family: var(--font-display);
  font-size: calc(1.375rem * var(--t-sub));
  line-height: 1.3;
  color: var(--ink-soft);
}

.specialist_content {
  grid-column: 7 / 13;
  position: relative;
  z-index: 1;
}

@media screen and (max-width: 991px) {
  .specialist_content {
  grid-column: 1 / -1;
  margin-top: var(--space-large);
  }
}

.specialist_content.is-portrait {
  align-self: center;
  padding-top: var(--space-huge);
}

@media screen and (max-width: 991px) {
  .specialist_content.is-portrait {
  padding-top: 0px;
  }
}

.specialist_heading {
  margin-bottom: var(--heading-gap);
  font-size: calc(3.5rem * var(--t-display));
}

.specialist_lead {
  margin-bottom: var(--space-small);
  font-family: var(--font-display);
  font-size: calc(1.75rem * var(--t-sub));
  line-height: 1.2;
  color: var(--fg);
}

.path_grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: var(--grid-gap);
  align-items: start;
}

.path_aside {
  grid-column: 1 / 5;
}

@media screen and (max-width: 991px) {
  .path_aside {
  grid-column: 1 / -1;
  }
}

.path_heading {
  margin-bottom: var(--heading-gap);
  font-size: calc(3.75rem * var(--t-display));
}

.path_intro {
  max-width: 26rem;
}

.path_counter {
  display: flex;
  align-items: baseline;
  gap: var(--space-small);
  margin-top: var(--space-large);
}

@media screen and (max-width: 991px) {
  .path_counter {
  display: none;
  }
}

.path_current {
  font-family: var(--font-display);
  font-size: calc(7rem * var(--t-display));
  line-height: 0.85;
  letter-spacing: -0.03em;
  color: var(--accent-number);
  font-variant-numeric: tabular-nums;
}

.path_total {
  font-family: var(--font-display);
  font-size: var(--size-h5);
  color: var(--fg-mute);
}

.path_progress {
  position: relative;
  width: 100%;
  max-width: 18rem;
  height: 2px;
  margin-top: var(--space-medium);
  background-color: var(--line);
}

@media screen and (max-width: 991px) {
  .path_progress {
  display: none;
  }
}

.path_progress-fill {
  position: absolute;
  inset: 0;
  background-color: var(--accent-flat);
  transform: scaleX(0);
  transform-origin: left center;
}

.path_steps {
  grid-column: 6 / 13;
  border-top: 1px solid var(--line-strong);
}

@media screen and (max-width: 991px) {
  .path_steps {
  grid-column: 1 / -1;
  margin-top: var(--space-large);
  }
}

.path_step {
  position: relative;
  padding: var(--space-large) 0 var(--space-large);
  border-bottom: 1px solid var(--line);
}

.path_step-number {
  display: block;
  font-size: var(--size-text-label);
  font-weight: 700;
  letter-spacing: 0.17em;
  color: var(--accent);
}

.path_step-title {
  margin: var(--space-small) 0 var(--space-small);
  font-size: var(--size-h4);
  line-height: 1.1;
}

.path_step-text {
  max-width: 40rem;
}

.path_after {
  max-width: 44rem;
  margin-top: var(--space-large);
}

.timeline_head {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: var(--grid-gap);
  row-gap: var(--grid-gap);
  align-items: end;
  margin-bottom: var(--space-xlarge);
}

.timeline_title {
  grid-column: 1 / 8;
}

@media screen and (max-width: 991px) {
  .timeline_title {
  grid-column: 1 / -1;
  }
}

.timeline_intro {
  grid-column: 8 / 13;
}

@media screen and (max-width: 991px) {
  .timeline_intro {
  grid-column: 1 / -1;
  }
}

.timeline_subtitle {
  margin-bottom: var(--space-medium);
  font-size: var(--size-h5);
}

.timeline_list {
  position: relative;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  column-gap: var(--grid-gap);
  padding-top: var(--space-medium);
}

@media screen and (max-width: 991px) {
  .timeline_list {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  row-gap: var(--space-large);
  }
}

@media screen and (max-width: 767px) {
  .timeline_list {
  grid-template-columns: minmax(0, 1fr);
  padding-top: 0px;
  padding-left: var(--space-medium);
  }
}

.timeline_list.is-six {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

@media screen and (max-width: 991px) {
  .timeline_list.is-six {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media screen and (max-width: 767px) {
  .timeline_list.is-six {
  grid-template-columns: minmax(0, 1fr);
  }
}

.timeline_rule {
  position: absolute;
  left: 0px;
  right: 0px;
  top: 0px;
  height: 2px;
  background-color: var(--line);
}

@media screen and (max-width: 767px) {
  .timeline_rule {
  left: 0.375rem;
  right: auto;
  top: 0px;
  bottom: 0px;
  width: 2px;
  height: auto;
  }
}

.timeline_rule-fill {
  position: absolute;
  inset: 0;
  background-color: var(--accent-flat);
  transform: scaleX(1);
  transform-origin: left center;
}

@media screen and (max-width: 767px) {
  .timeline_rule-fill {
  transform-origin: center top;
  }
}

.timeline_item {
  position: relative;
  padding-top: var(--space-xsmall);
}

.timeline_dot {
  position: absolute;
  left: 0px;
  top: calc(-1 * var(--space-medium) - 0.4375rem);
  width: 0.875rem;
  height: 0.875rem;
  border: 2px solid var(--accent-flat);
  border-top-left-radius: 50%;
  border-top-right-radius: 50%;
  border-bottom-right-radius: 50%;
  border-bottom-left-radius: 50%;
  background-color: var(--bg);
}

@media screen and (max-width: 767px) {
  .timeline_dot {
  left: calc(-1 * var(--space-medium));
  top: 0.75rem;
  }
}

.timeline_when {
  margin-bottom: var(--space-xsmall);
  font-family: var(--font-display);
  font-size: calc(1.5rem * var(--t-sub));
  line-height: 1.1;
}

.timeline_text {
  font-size: var(--size-text-small);
  color: var(--fg-mute);
}

.timeline_after {
  max-width: 44rem;
  margin-top: var(--space-large);
}

.cards_head {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: var(--grid-gap);
  row-gap: var(--grid-gap);
  align-items: end;
  margin-bottom: var(--space-xlarge);
}

.cards_title {
  grid-column: 1 / 8;
}

@media screen and (max-width: 991px) {
  .cards_title {
  grid-column: 1 / -1;
  }
}

.cards_intro {
  grid-column: 8 / 13;
}

@media screen and (max-width: 991px) {
  .cards_intro {
  grid-column: 1 / -1;
  }
}

.cards_list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--space-small);
}

@media screen and (max-width: 991px) {
  .cards_list {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media screen and (max-width: 767px) {
  .cards_list {
  grid-template-columns: minmax(0, 1fr);
  }
}

.cards_list.is-1 {
  grid-template-columns: minmax(0, 1fr);
}

.cards_list.is-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media screen and (max-width: 767px) {
  .cards_list.is-2 {
  grid-template-columns: minmax(0, 1fr);
  }
}

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

@media screen and (max-width: 991px) {
  .cards_list.is-3 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media screen and (max-width: 767px) {
  .cards_list.is-3 {
  grid-template-columns: minmax(0, 1fr);
  }
}

.cards_item {
  display: flex;
  flex-direction: column;
  min-height: 22rem;
  padding: var(--space-medium) var(--space-medium) var(--space-medium);
  border-top: 2px solid var(--accent-flat);
  border-radius: 0 0 var(--radius-small) var(--radius-small);
  background-color: rgba(255, 255, 255, 0.62);
  transition: transform 0.45s var(--ease), background-color 0.45s ease;
}

@media screen and (max-width: 767px) {
  .cards_item {
  min-height: 0;
  }
}

.cards_item:hover {
  transform: translateY(-6px);
  background-color: var(--white);
}

.cards_number {
  padding-bottom: var(--space-large);
  font-family: var(--font-display);
  font-size: calc(3rem * var(--t-display));
  line-height: 1;
  color: var(--accent-number);
}

@media screen and (max-width: 767px) {
  .cards_number {
  padding-bottom: var(--space-medium);
  }
}

.cards_photo {
  position: relative;
  height: 12rem;
  margin: 0 calc(-1 * var(--space-medium)) var(--grid-gap);
  overflow: hidden;
}

.cards_image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.cards_name {
  margin-bottom: var(--space-small);
  font-size: var(--size-h5);
  line-height: 1.12;
}

.cards_text {
  margin-bottom: var(--space-small);
  font-size: var(--size-text-small);
}

.cards_link {
  margin-top: auto;
}

.cards_subtitle {
  margin: var(--space-xlarge) 0 var(--space-medium);
  font-size: var(--size-h5);
}

.cards_notes {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  column-gap: var(--grid-gap);
  row-gap: var(--space-medium);
  margin-top: var(--space-xlarge);
}

@media screen and (max-width: 991px) {
  .cards_notes {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media screen and (max-width: 767px) {
  .cards_notes {
  grid-template-columns: minmax(0, 1fr);
  }
}

.cards_note {
  padding-top: var(--space-small);
  border-top: 1px solid var(--line-strong);
}

.cards_note-title {
  margin-bottom: var(--space-xsmall);
  font-size: var(--size-h6);
}

.cards_note-text {
  font-size: var(--size-text-small);
  color: var(--fg-mute);
}

.cards_action {
  margin-top: var(--space-large);
}

.compare_head {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: var(--grid-gap);
  row-gap: var(--grid-gap);
  align-items: end;
  margin-bottom: var(--space-xlarge);
}

.compare_title {
  grid-column: 1 / 8;
}

@media screen and (max-width: 991px) {
  .compare_title {
  grid-column: 1 / -1;
  }
}

.compare_intro {
  grid-column: 8 / 13;
}

@media screen and (max-width: 991px) {
  .compare_intro {
  grid-column: 1 / -1;
  }
}

.compare_table {
  position: relative;
}

.compare_row {
  display: grid;
  grid-template-columns: minmax(0, 0.7fr) minmax(0, 1.15fr) minmax(0, 1.15fr);
  border-bottom: 1px solid var(--line);
}

@media screen and (max-width: 767px) {
  .compare_row {
  grid-template-columns: minmax(0, 1fr);
  padding: var(--space-small) 0;
  }
}

.compare_row.is-head {
  border-bottom: 1px solid var(--line-strong);
}

@media screen and (max-width: 767px) {
  .compare_row.is-head {
  display: none;
  }
}

.compare_label {
  padding: var(--space-medium) var(--space-medium) var(--space-medium) 0;
  font-size: var(--size-text-label);
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--accent);
}

@media screen and (max-width: 767px) {
  .compare_label {
  padding: 0 0 var(--space-small);
  }
}

.compare_cell {
  padding: var(--space-medium);
  font-size: var(--size-text-small);
  color: var(--fg-mute);
}

@media screen and (max-width: 767px) {
  .compare_cell {
  padding: var(--space-small) var(--space-small);
  }
}

.compare_cell.is-ours {
  background-color: var(--white);
  color: var(--fg);
}

@media screen and (max-width: 767px) {
  .compare_cell.is-ours {
  border-radius: var(--radius-small) var(--radius-small) 0 0;
  }
}

.compare_cell.is-head {
  font-family: var(--font-display);
  font-size: var(--size-h5);
  line-height: 1.1;
  color: var(--fg-mute);
}

.compare_cell.is-head.is-ours {
  border-radius: var(--radius-small) var(--radius-small) 0 0;
  color: var(--fg);
}

.compare_mobile-label {
  display: none;
}

@media screen and (max-width: 767px) {
  .compare_mobile-label {
  display: block;
  margin-bottom: var(--space-xxsmall);
  font-size: var(--size-text-label);
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--fg);
  }
}

.compare_action {
  margin-top: var(--space-large);
}

.films_head {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: var(--grid-gap);
  row-gap: var(--grid-gap);
  align-items: end;
  margin-bottom: var(--space-xlarge);
}

.films_title {
  grid-column: 1 / 8;
}

@media screen and (max-width: 991px) {
  .films_title {
  grid-column: 1 / -1;
  }
}

.films_intro {
  grid-column: 8 / 13;
  color: var(--fg-mute);
}

@media screen and (max-width: 991px) {
  .films_intro {
  grid-column: 1 / -1;
  }
}

.films_list {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: var(--grid-gap);
  align-items: start;
}

@media screen and (max-width: 767px) {
  .films_list {
  grid-template-columns: minmax(0, 1fr);
  row-gap: var(--space-large);
  }
}

.films_card {
  position: relative;
  grid-column: 1 / 7;
  display: block;
}

@media screen and (max-width: 767px) {
  .films_card {
  grid-column: 1 / -1;
  }
}

.films_card.is-offset {
  grid-column: 7 / 13;
  margin-top: var(--space-xxlarge);
}

@media screen and (max-width: 767px) {
  .films_card.is-offset {
  grid-column: 1 / -1;
  margin-top: 0px;
  }
}

.films_frame {
  position: relative;
  display: block;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  border-radius: var(--radius-large);
  background-color: var(--photo-ground);
}

.films_image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.8s var(--ease);
}

.films_card:hover .films_image {
  transform: scale(1.04);
}

.films_play {
  position: absolute;
  left: 1.5rem;
  top: 1.5rem;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 4.5rem;
  height: 4.5rem;
  border-top-left-radius: 50%;
  border-top-right-radius: 50%;
  border-bottom-right-radius: 50%;
  border-bottom-left-radius: 50%;
  background-color: rgba(251, 250, 247, 0.95);
  transition: background-color 0.3s ease;
}

@media screen and (max-width: 767px) {
  .films_play {
  width: 3.5rem;
  height: 3.5rem;
  left: var(--space-small);
  top: var(--space-small);
  }
}

.films_card:hover .films_play {
  background-color: var(--white);
}

.films_play-icon {
  width: 0px;
  height: 0px;
  margin-left: var(--space-xxsmall);
  border-top-style: solid;
  border-right-style: solid;
  border-bottom-style: solid;
  border-left-style: solid;
  border-top-width: 0.5625rem;
  border-right-width: 0px;
  border-bottom-width: 0.5625rem;
  border-left-width: 0.9375rem;
  border-color: transparent transparent transparent var(--fg);
}

.films_caption {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: var(--space-small);
  margin-top: var(--space-small);
  padding-top: var(--space-small);
  border-top: 1px solid var(--line-strong);
}

@media screen and (max-width: 767px) {
  .films_caption {
  display: block;
  }
}

.films_name {
  font-family: var(--font-display);
  font-size: var(--size-h5);
  line-height: 1.1;
}

@media screen and (max-width: 767px) {
  .films_name {
  display: block;
  }
}

.films_meta {
  font-size: var(--size-text-label);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--fg-mute);
}

@media screen and (max-width: 767px) {
  .films_meta {
  display: block;
  margin-top: var(--space-xxsmall);
  }
}

.films_link {
  margin-top: var(--space-large);
}

.films_reviews {
  margin-top: var(--space-xlarge);
  padding-top: var(--space-large);
  border-top: 1px solid var(--line-strong);
}

.financing_head {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: var(--grid-gap);
  row-gap: var(--grid-gap);
  align-items: end;
  margin-bottom: var(--space-xlarge);
}

.financing_title {
  grid-column: 1 / 8;
}

@media screen and (max-width: 991px) {
  .financing_title {
  grid-column: 1 / -1;
  }
}

.financing_intro {
  grid-column: 8 / 13;
}

@media screen and (max-width: 991px) {
  .financing_intro {
  grid-column: 1 / -1;
  }
}

.financing_list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--space-small);
}

@media screen and (max-width: 991px) {
  .financing_list {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media screen and (max-width: 767px) {
  .financing_list {
  grid-template-columns: minmax(0, 1fr);
  }
}

.financing_card {
  display: flex;
  flex-direction: column;
  padding: var(--space-medium);
  border-radius: var(--radius-small);
  background-color: var(--white);
  box-shadow: 0 0.75rem 2.5rem rgba(51, 45, 36, 0.06);
}

.financing_logo-frame {
  display: flex;
  align-items: center;
  height: 3.5rem;
  margin-bottom: var(--space-medium);
}

.financing_logo {
  width: auto;
  max-width: 11rem;
  max-height: 2.5rem;
}

.financing_name {
  margin-bottom: var(--space-small);
  font-size: var(--size-h6);
}

.financing_text {
  margin-bottom: var(--space-small);
  font-size: var(--size-text-small);
  color: var(--fg-mute);
}

.financing_link {
  margin-top: auto;
}

.financing_features {
  display: grid;
  gap: var(--space-xsmall);
  margin-top: auto;
  padding-top: var(--space-medium);
}

.financing_feature {
  position: relative;
  padding-left: var(--space-small);
  font-size: var(--size-text-tiny);
}

.financing_feature::before {
  content: '';
  position: absolute;
  left: 0.125rem;
  top: 0.3em;
  width: 0.375rem;
  height: 0.6875rem;
  border-right: 1.5px solid var(--accent-number);
  border-bottom: 1.5px solid var(--accent-number);
  transform: rotate(45deg);
}

.financing_action {
  margin-top: var(--space-large);
}

.faq_heading.is-page {
  font-size: calc(3.75rem * var(--t-display));
}

.consultation_heading.is-page {
  font-size: calc(3.75rem * var(--t-display));
}

.consultation_contact {
  display: grid;
  gap: var(--space-xxsmall);
  margin-top: var(--space-large);
  padding-top: var(--space-medium);
  border-top: 1px solid var(--line-sage);
}

.consultation_phone {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  font-family: var(--font-display);
  font-size: var(--size-h4);
  line-height: 1.1;
  transition: color 0.3s ease;
}

.consultation_phone:hover {
  color: var(--accent);
}

.consultation_address {
  font-size: var(--size-text-small);
  color: var(--stone-sage);
}

.split_grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: var(--grid-gap);
  align-items: center;
}

@media screen and (max-width: 767px) {
  .split_grid {
  grid-template-columns: minmax(0, 1fr);
  row-gap: var(--stack-gap);
  }
}

.split_photo {
  grid-column: 1 / 6;
  position: relative;
  height: 38rem;
  margin-left: calc(-1 * var(--bleed));
  overflow: hidden;
  border-top-left-radius: 0px;
  border-top-right-radius: 4.375rem;
  border-bottom-right-radius: 0px;
  border-bottom-left-radius: 0px;
}

@media screen and (max-width: 991px) {
  .split_photo {
  grid-column: 1 / 7;
  height: 30rem;
  }
}

@media screen and (max-width: 767px) {
  .split_photo {
  grid-column: 1 / -1;
  height: 26rem;
  margin-left: calc(-1 * var(--gutter));
  }
}

.split_photo.is-reverse {
  grid-column: 8 / 13;
  grid-row: 1;
  margin-left: 0px;
  margin-right: calc(-1 * var(--bleed));
  border-top-left-radius: 0px;
  border-top-right-radius: 0px;
  border-bottom-right-radius: 0px;
  border-bottom-left-radius: 4.375rem;
}

@media screen and (max-width: 991px) {
  .split_photo.is-reverse {
  grid-column: 7 / 13;
  }
}

@media screen and (max-width: 767px) {
  .split_photo.is-reverse {
  grid-column: 1 / -1;
  grid-row: auto;
  margin-right: calc(-1 * var(--gutter));
  }
}

.split_image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.split_caption {
  position: absolute;
  right: var(--space-small);
  bottom: var(--space-small);
  z-index: 2;
  max-width: 20rem;
  padding: var(--space-small) var(--heading-gap);
  background-color: var(--fg);
  color: var(--white);
  font-family: var(--font-display);
  font-size: var(--size-h6);
  line-height: 1.2;
}

@media screen and (max-width: 767px) {
  .split_caption {
  left: var(--space-small);
  right: var(--space-small);
  }
}

.split_content {
  grid-column: 7 / 13;
}

@media screen and (max-width: 767px) {
  .split_content {
  grid-column: 1 / -1;
  }
}

.split_content.is-reverse {
  grid-column: 1 / 7;
  grid-row: 1;
}

@media screen and (max-width: 767px) {
  .split_content.is-reverse {
  grid-column: 1 / -1;
  grid-row: auto;
  }
}

.split_heading {
  margin-bottom: var(--heading-gap);
  font-size: calc(3.75rem * var(--t-display));
}

.split_lead {
  margin-bottom: var(--space-small);
  font-family: var(--font-display);
  font-size: calc(1.75rem * var(--t-sub));
  line-height: 1.2;
}

.split_text {
  max-width: 36rem;
}

.split_list {
  display: grid;
  gap: var(--space-xsmall);
  margin-top: var(--space-medium);
}

.split_list-item {
  position: relative;
  padding-left: var(--space-medium);
  font-size: var(--size-text-small);
}

.split_list-item::before {
  content: '';
  position: absolute;
  left: 0.125rem;
  top: 0.25em;
  width: 0.375rem;
  height: 0.6875rem;
  border-right: 1.5px solid var(--accent-number);
  border-bottom: 1.5px solid var(--accent-number);
  transform: rotate(45deg);
}

.split_actions {
  margin-top: var(--space-medium);
}

.features_head {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: var(--grid-gap);
  row-gap: var(--grid-gap);
  align-items: end;
  margin-bottom: var(--space-xlarge);
}

.features_title {
  grid-column: 1 / 8;
}

@media screen and (max-width: 991px) {
  .features_title {
  grid-column: 1 / -1;
  }
}

.features_intro {
  grid-column: 8 / 13;
}

@media screen and (max-width: 991px) {
  .features_intro {
  grid-column: 1 / -1;
  }
}

.features_photo {
  position: relative;
  height: min(41.6667vw, 48rem);
  margin-bottom: var(--space-xlarge);
  margin-left: calc(-1 * var(--bleed));
  margin-right: calc(-1 * var(--bleed));
  overflow: hidden;
}

@media screen and (max-width: 767px) {
  .features_photo {
  height: 20rem;
  margin-left: calc(-1 * var(--gutter));
  margin-right: calc(-1 * var(--gutter));
  }
}

.features_image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.features_list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  column-gap: var(--grid-gap);
  row-gap: var(--space-large);
}

@media screen and (max-width: 991px) {
  .features_list {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media screen and (max-width: 767px) {
  .features_list {
  grid-template-columns: minmax(0, 1fr);
  row-gap: var(--space-medium);
  }
}

.features_list.is-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.features_item {
  padding-top: var(--space-small);
  border-top: 1px solid var(--line-strong);
}

.features_name {
  margin-bottom: var(--space-small);
  font-size: var(--size-h5);
  line-height: 1.12;
}

.features_text {
  font-size: var(--size-text-small);
}

.features_action {
  margin-top: var(--space-large);
}

.prose_grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: var(--grid-gap);
  align-items: start;
}

.prose_aside {
  grid-column: 1 / 4;
  padding-top: var(--space-xsmall);
}

@media screen and (max-width: 991px) {
  .prose_aside {
  display: none;
  }
}

.prose_main {
  grid-column: 5 / 12;
}

@media screen and (max-width: 991px) {
  .prose_main {
  grid-column: 1 / -1;
  }
}

.prose_main.is-single {
  grid-column: 3 / 11;
}

@media screen and (max-width: 991px) {
  .prose_main.is-single {
  grid-column: 1 / -1;
  }
}

.prose_heading {
  margin-bottom: var(--space-medium);
  font-size: var(--size-h3);
}

.prose_intro {
  margin-bottom: var(--space-medium);
  font-family: var(--font-display);
  font-size: calc(1.75rem * var(--t-sub));
  line-height: 1.25;
  color: var(--fg);
}

.prose_body {
  max-width: 44rem;
  font-size: var(--size-text-regular);
}

.prose_figure {
  max-width: 44rem;
  margin-top: var(--space-medium);
  margin-bottom: var(--space-medium);
  overflow: hidden;
  border-radius: var(--radius-medium);
  background-color: var(--photo-ground);
}

.prose_image {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 2;
  object-fit: cover;
}

.prose_toc {
  display: grid;
  gap: var(--space-xxsmall);
  padding-top: var(--space-small);
  border-top: 1px solid var(--line-strong);
}

.prose_toc-title {
  margin-bottom: var(--space-xsmall);
  font-size: var(--size-text-label);
  font-weight: 700;
  letter-spacing: 0.17em;
  text-transform: uppercase;
  color: var(--accent);
}

.prose_toc-link {
  display: flex;
  align-items: center;
  min-height: 32px;
  font-size: var(--size-text-small);
  color: var(--fg-mute);
  transition: color 0.3s ease;
}

.prose_toc-link:hover {
  color: var(--fg);
}

.team_head {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: var(--grid-gap);
  row-gap: var(--grid-gap);
  align-items: end;
  margin-bottom: var(--space-xlarge);
}

.team_title {
  grid-column: 1 / 8;
}

@media screen and (max-width: 991px) {
  .team_title {
  grid-column: 1 / -1;
  }
}

.team_intro {
  grid-column: 8 / 13;
}

@media screen and (max-width: 991px) {
  .team_intro {
  grid-column: 1 / -1;
  }
}

.team_list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--space-small);
}

@media screen and (max-width: 991px) {
  .team_list {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media screen and (max-width: 767px) {
  .team_list {
  grid-template-columns: minmax(0, 1fr);
  }
}

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

@media screen and (max-width: 767px) {
  .team_list.is-text {
  grid-template-columns: minmax(0, 1fr);
  }
}

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

@media screen and (max-width: 767px) {
  .team_list.is-3 {
  grid-template-columns: minmax(0, 1fr);
  }
}

.team_card {
  display: block;
}

.team_frame {
  position: relative;
  display: block;
  height: 26rem;
  margin-bottom: var(--space-small);
  overflow: hidden;
  border-top-left-radius: 12rem;
  border-top-right-radius: 12rem;
  border-bottom-right-radius: 0px;
  border-bottom-left-radius: 0px;
  background-color: var(--portrait-ground);
}

@media screen and (max-width: 767px) {
  .team_frame {
  height: 24rem;
  }
}

.team_image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 0%;
  transition: transform 0.8s var(--ease);
}

.team_card:hover .team_image {
  transform: scale(1.04);
}

.team_name {
  display: block;
  padding-top: var(--space-small);
  border-top: 1px solid var(--line-strong);
  font-family: var(--font-display);
  font-size: var(--size-h6);
  line-height: 1.15;
  transition: color 0.3s ease;
}

.team_card:hover .team_name {
  color: var(--accent);
}

.team_role {
  display: block;
  margin-top: var(--space-xxsmall);
  font-size: var(--size-text-label);
  color: var(--fg-mute);
}

.reviews_head {
  margin-bottom: var(--space-medium);
}

.reviews_heading {
  font-size: calc(4.6rem * var(--t-display));
}

.reviews_intro {
  max-width: 34rem;
  margin-top: var(--space-small);
  color: var(--fg-mute);
}

.cases_head {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: var(--grid-gap);
  row-gap: var(--grid-gap);
  align-items: end;
  margin-bottom: var(--space-xlarge);
}

.cases_title {
  grid-column: 1 / 8;
}

@media screen and (max-width: 991px) {
  .cases_title {
  grid-column: 1 / -1;
  }
}

.cases_intro {
  grid-column: 8 / 13;
}

@media screen and (max-width: 991px) {
  .cases_intro {
  grid-column: 1 / -1;
  }
}

.cases_list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  column-gap: var(--space-small);
  row-gap: var(--space-large);
  align-items: start;
}

@media screen and (max-width: 991px) {
  .cases_list {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media screen and (max-width: 767px) {
  .cases_list {
  grid-template-columns: minmax(0, 1fr);
  }
}

.cases_item {
  height: 30rem;
}

@media screen and (max-width: 767px) {
  .cases_item {
  height: 24rem;
  }
}

.cases_item.is-offset {
  margin-top: var(--space-xlarge);
}

@media screen and (max-width: 991px) {
  .cases_item.is-offset {
  margin-top: 0px;
  }
}

.cases_caption {
  margin-top: var(--space-small);
  font-size: var(--size-text-small);
  color: var(--fg-mute);
}

.cases_note {
  margin-top: var(--space-medium);
  font-size: var(--size-text-label);
  color: var(--fg-mute);
}

.photos_head {
  max-width: 48rem;
  margin-bottom: var(--space-xlarge);
}

.photos_heading {
  font-size: calc(4.6rem * var(--t-display));
}

.photos_intro {
  margin-top: var(--space-small);
  color: var(--fg-mute);
}

.photos_grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-small);
}

.photos_item {
  position: relative;
  grid-column: span 4;
  height: 24rem;
  overflow: hidden;
  border-radius: var(--radius-small);
}

@media screen and (max-width: 767px) {
  .photos_item {
  grid-column: 1 / -1;
  height: 18rem;
  }
}

.photos_item.is-wide {
  grid-column: span 8;
}

@media screen and (max-width: 767px) {
  .photos_item.is-wide {
  grid-column: 1 / -1;
  }
}

.photos_item.is-tall {
  grid-column: span 6;
  height: 32rem;
}

@media screen and (max-width: 767px) {
  .photos_item.is-tall {
  grid-column: 1 / -1;
  height: 24rem;
  }
}

.photos_image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.photos_caption {
  position: absolute;
  left: 0.875rem;
  bottom: 0.875rem;
  padding: var(--space-xsmall) var(--space-small);
  background-color: var(--fg);
  color: var(--white);
  font-size: var(--size-text-label);
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.links_head {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: var(--grid-gap);
  row-gap: var(--grid-gap);
  align-items: end;
  margin-bottom: var(--space-xlarge);
}

.links_title {
  grid-column: 1 / 8;
}

@media screen and (max-width: 991px) {
  .links_title {
  grid-column: 1 / -1;
  }
}

.links_intro {
  grid-column: 8 / 13;
}

@media screen and (max-width: 991px) {
  .links_intro {
  grid-column: 1 / -1;
  }
}

.links_list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  column-gap: var(--space-small);
  row-gap: var(--space-large);
}

@media screen and (max-width: 991px) {
  .links_list {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media screen and (max-width: 767px) {
  .links_list {
  grid-template-columns: minmax(0, 1fr);
  row-gap: var(--space-small);
  }
}

.links_list.is-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media screen and (max-width: 767px) {
  .links_list.is-2 {
  grid-template-columns: minmax(0, 1fr);
  }
}

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

@media screen and (max-width: 991px) {
  .links_list.is-4 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media screen and (max-width: 767px) {
  .links_list.is-4 {
  grid-template-columns: minmax(0, 1fr);
  }
}

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

@media screen and (max-width: 767px) {
  .links_card {
  display: grid;
  grid-template-columns: 6.5rem minmax(0, 1fr);
  column-gap: var(--space-small);
  align-content: start;
  padding-top: var(--space-small);
  border-top: 1px solid var(--line-strong);
  }
}

.links_frame {
  position: relative;
  display: block;
  height: 18rem;
  margin-bottom: var(--space-small);
  overflow: hidden;
  border-radius: var(--radius-small);
  background-color: var(--photo-ground);
}

@media screen and (max-width: 767px) {
  .links_frame {
  grid-row: 1 / span 3;
  height: 6.5rem;
  margin-bottom: 0px;
  }
}

.links_image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.8s var(--ease);
}

.links_card:hover .links_image {
  transform: scale(1.05);
}

.links_name {
  padding-top: var(--space-small);
  border-top: 1px solid var(--line-strong);
  font-family: var(--font-display);
  font-size: var(--size-h5);
  line-height: 1.12;
  transition: color 0.3s ease;
}

@media screen and (max-width: 767px) {
  .links_name {
  grid-column: 2;
  padding-top: 0px;
  border-top-width: 0px;
  border-top-style: initial;
  border-top-color: initial;
  }
}

.links_card:hover .links_name {
  color: var(--accent);
}

.links_text {
  margin-top: var(--space-xsmall);
  font-size: var(--size-text-small);
  color: var(--fg-mute);
}

@media screen and (max-width: 767px) {
  .links_text {
  grid-column: 2;
  }
}

.links_more {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  margin-top: auto;
  font-size: var(--size-text-label);
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

@media screen and (max-width: 767px) {
  .links_more {
  grid-column: 2;
  }
}

.quote_grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: var(--grid-gap);
  align-items: center;
}

@media screen and (max-width: 767px) {
  .quote_grid {
  grid-template-columns: minmax(0, 1fr);
  row-gap: var(--space-large);
  }
}

.quote_photo {
  grid-column: 1 / 5;
  position: relative;
  height: 30rem;
  overflow: hidden;
  border-top-left-radius: 15rem;
  border-top-right-radius: 15rem;
  border-bottom-right-radius: 0px;
  border-bottom-left-radius: 0px;
}

@media screen and (max-width: 991px) {
  .quote_photo {
  grid-column: 1 / 6;
  }
}

@media screen and (max-width: 767px) {
  .quote_photo {
  grid-column: 1 / -1;
  height: 24rem;
  }
}

.quote_image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.quote_text {
  grid-column: 6 / 13;
  font-family: var(--font-display);
  font-size: calc(2.75rem * var(--t-display));
  line-height: 1.15;
  letter-spacing: -0.02em;
  color: var(--fg);
}

@media screen and (max-width: 991px) {
  .quote_text {
  grid-column: 7 / 13;
  }
}

@media screen and (max-width: 767px) {
  .quote_text {
  grid-column: 1 / -1;
  }
}

.quote_text.is-text {
  grid-column: 2 / 12;
}

@media screen and (max-width: 767px) {
  .quote_text.is-text {
  grid-column: 1 / -1;
  }
}

.quote_cite {
  grid-column: 6 / 13;
  margin-top: var(--space-medium);
  font-size: var(--size-text-label);
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--accent);
}

@media screen and (max-width: 991px) {
  .quote_cite {
  grid-column: 7 / 13;
  }
}

@media screen and (max-width: 767px) {
  .quote_cite {
  grid-column: 1 / -1;
  }
}

.quote_cite.is-text {
  grid-column: 2 / 12;
}

@media screen and (max-width: 767px) {
  .quote_cite.is-text {
  grid-column: 1 / -1;
  }
}

.numbers_head {
  margin-bottom: var(--space-medium);
}

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

.articles_head {
  max-width: 48rem;
  margin-bottom: var(--space-xlarge);
}

.articles_heading {
  font-size: calc(4.6rem * var(--t-display));
}

.articles_intro {
  margin-top: var(--space-small);
  color: var(--fg-mute);
}

.articles_list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  column-gap: var(--space-small);
  row-gap: var(--space-xlarge);
}

@media screen and (max-width: 991px) {
  .articles_list {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media screen and (max-width: 767px) {
  .articles_list {
  grid-template-columns: minmax(0, 1fr);
  }
}

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

.articles_card.is-lead {
  grid-column: span 2;
}

@media screen and (max-width: 767px) {
  .articles_card.is-lead {
  grid-column: auto;
  }
}

.articles_frame {
  position: relative;
  display: block;
  height: 16rem;
  margin-bottom: var(--space-small);
  overflow: hidden;
  border-radius: var(--radius-small);
  background-color: var(--photo-ground);
}

.articles_card.is-lead .articles_frame {
  height: 24rem;
}

@media screen and (max-width: 767px) {
  .articles_card.is-lead .articles_frame {
  height: 16rem;
  }
}

.articles_image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.8s var(--ease);
}

.articles_card:hover .articles_image {
  transform: scale(1.04);
}

.articles_meta {
  font-size: var(--size-text-label);
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--accent);
}

.articles_name {
  margin-top: var(--space-xsmall);
  font-family: var(--font-display);
  font-size: var(--size-h5);
  line-height: 1.15;
  transition: color 0.3s ease;
}

.articles_card:hover .articles_name {
  color: var(--accent);
}

.articles_text {
  margin-top: var(--space-xsmall);
  font-size: var(--size-text-small);
  color: var(--fg-mute);
}

.articles_more {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  margin-top: auto;
  font-size: var(--size-text-label);
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.cta_grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: var(--grid-gap);
  align-items: center;
}

.cta_content {
  grid-column: 1 / 8;
}

@media screen and (max-width: 991px) {
  .cta_content {
  grid-column: 1 / -1;
  }
}

.cta_content.is-text {
  grid-column: 1 / 10;
}

@media screen and (max-width: 991px) {
  .cta_content.is-text {
  grid-column: 1 / -1;
  }
}

.cta_heading {
  margin-bottom: var(--space-medium);
  font-size: calc(5rem * var(--t-display));
}

@media screen and (max-width: 479px) {
  .cta_heading {
  font-size: var(--size-h2);
  }
}

.cta_text {
  max-width: 30rem;
  margin-bottom: var(--space-medium);
  color: var(--fg-mute);
}

.cta_photo {
  grid-column: 9 / 13;
  position: relative;
  height: 30rem;
  overflow: hidden;
  border-top-left-radius: 0px;
  border-top-right-radius: 0px;
  border-bottom-right-radius: 0px;
  border-bottom-left-radius: 5.625rem;
}

@media screen and (max-width: 991px) {
  .cta_photo {
  grid-column: 1 / -1;
  grid-row: auto;
  margin-top: var(--space-large);
  }
}

@media screen and (max-width: 767px) {
  .cta_photo {
  height: 26rem;
  }
}

.cta_image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.visit_grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 0.95fr);
  gap: var(--space-xxlarge);
  align-items: start;
}

@media screen and (max-width: 767px) {
  .visit_grid {
  grid-template-columns: minmax(0, 1fr);
  row-gap: var(--space-large);
  }
}

.visit_heading {
  margin-bottom: var(--space-medium);
  font-size: calc(3.75rem * var(--t-display));
}

.visit_list {
  border-top: 1px solid var(--line-strong);
}

.visit_item {
  display: grid;
  grid-template-columns: 10rem minmax(0, 1fr);
  column-gap: var(--grid-gap);
  padding: var(--space-small) 0;
  border-bottom: 1px solid var(--line);
}

@media screen and (max-width: 767px) {
  .visit_item {
  grid-template-columns: minmax(0, 1fr);
  row-gap: var(--space-xxsmall);
  }
}

.visit_term {
  padding-top: var(--space-xxsmall);
  font-size: var(--size-text-label);
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--accent);
}

.visit_value {
  font-family: var(--font-display);
  font-size: calc(1.375rem * var(--t-sub));
  line-height: 1.3;
  color: var(--fg);
}

.visit_link {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  transition: color 0.3s ease;
}

.visit_link:hover {
  color: var(--accent);
}

.visit_actions {
  margin-top: var(--space-medium);
}

.map_frame {
  position: relative;
  height: 32rem;
  overflow: hidden;
  background-color: var(--photo-ground);
}

@media screen and (max-width: 767px) {
  .map_frame {
  height: 22rem;
  }
}

.map_embed {
  display: block;
  width: 100%;
  height: 100%;
}

.map_embed > iframe {
  display: block;
  width: 100%;
  height: 100%;
  border-top-width: 0px;
  border-right-width: 0px;
  border-bottom-width: 0px;
  border-left-width: 0px;
  border-top-style: initial;
  border-right-style: initial;
  border-bottom-style: initial;
  border-left-style: initial;
  border-top-color: initial;
  border-right-color: initial;
  border-bottom-color: initial;
  border-left-color: initial;
  border-image-source: initial;
  border-image-slice: initial;
  border-image-width: initial;
  border-image-outset: initial;
  border-image-repeat: initial;
  filter: grayscale(0.35) sepia(0.12);
}

@media screen and (max-width: 991px) {
  .index_body {
  grid-column: 2 / -1;
  }
}

@media screen and (max-width: 767px) {
  .index_body {
  grid-column: 1 / -1;
  }
}