@charset "UTF-8";
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  margin: 0;
  padding: 0;
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block;
}

body {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after, q:before, q:after {
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

a {
  text-decoration: none;
}

* {
  box-sizing: border-box;
}

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

img {
  max-width: 100%;
}

::-moz-selection {
  background-color: rgba(37, 37, 37, 0.77);
  color: #fff;
}

::selection {
  background-color: rgba(37, 37, 37, 0.77);
  color: #fff;
}

.h1 em, .h2 em, .h3 em, .h4 em {
  font-style: italic;
}

.h1 {
  font-family: ivypresto-display, serif;
  font-weight: 100;
  font-style: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 34px;
  line-height: 40px;
  letter-spacing: 0.02em;
}
@media screen and (min-width: 500px) {
  .h1 {
    font-size: 6.8vw;
    line-height: 8vw;
  }
}
@media screen and (min-width: 768px) {
  .h1 {
    font-size: 4.43vw;
    line-height: 5.21vw;
  }
}
@media screen and (min-width: 1024px) {
  .h1 {
    font-size: 3.47vw;
    line-height: 1.14;
  }
}

.basic h1,
.h2 {
  font-family: ivypresto-display, serif;
  font-weight: 100;
  font-style: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 28px;
  line-height: 32px;
  letter-spacing: 0.02em;
}
@media screen and (min-width: 500px) {
  .basic h1,
.h2 {
    font-size: 5.6vw;
    line-height: 6.4vw;
  }
}
@media screen and (min-width: 768px) {
  .basic h1,
.h2 {
    font-size: 3.65vw;
    line-height: 4.17vw;
  }
}
@media screen and (min-width: 1024px) {
  .basic h1,
.h2 {
    font-size: 2.43vw;
    line-height: 1.29;
  }
}

@media screen and (min-width: 1024px) {
  .h2b {
    font-size: 3.47vw;
    line-height: 1.14;
  }
}

.basic h2,
.h3 {
  font-family: ivypresto-display, serif;
  font-weight: 100;
  font-style: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 28px;
  line-height: 32px;
  letter-spacing: 0.02em;
}
@media screen and (min-width: 500px) {
  .basic h2,
.h3 {
    font-size: 5.6vw;
    line-height: 6.4vw;
  }
}
@media screen and (min-width: 768px) {
  .basic h2,
.h3 {
    font-size: 3.65vw;
    line-height: 4.17vw;
  }
}
@media screen and (min-width: 1024px) {
  .basic h2,
.h3 {
    font-size: 1.94vw;
    line-height: 1.14;
  }
}

.basic blockquote,
.basic blockquote p,
.basic h3,
.h4 {
  font-family: ivypresto-display, serif;
  font-weight: 100;
  font-style: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 22px;
  line-height: 28px;
  letter-spacing: 0.02em;
}
@media screen and (min-width: 500px) {
  .basic blockquote,
.basic blockquote p,
.basic h3,
.h4 {
    font-size: 4.4vw;
    line-height: 5.6vw;
  }
}
@media screen and (min-width: 768px) {
  .basic blockquote,
.basic blockquote p,
.basic h3,
.h4 {
    font-size: 2.86vw;
    line-height: 3.65vw;
  }
}
@media screen and (min-width: 1024px) {
  .basic blockquote,
.basic blockquote p,
.basic h3,
.h4 {
    font-size: 1.94vw;
    line-height: 1.14;
  }
}

@media screen and (min-width: 1024px) {
  .basic blockquote,
.basic blockquote p,
.h4b {
    font-size: 2.43vw;
    line-height: 1.29;
  }
}

.text.style p,
.basic,
.basic p,
.basic ul,
.basic ol,
.p {
  font-family: acumin-pro, sans-serif;
  font-weight: 200;
  font-style: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 15px;
  line-height: 1.53;
  letter-spacing: 0.03em;
}
.text.style p b, .text.style p strong,
.basic b,
.basic strong,
.basic p b,
.basic p strong,
.basic ul b,
.basic ul strong,
.basic ol b,
.basic ol strong,
.p b,
.p strong {
  font-weight: 600;
}
.text.style p em,
.basic em,
.basic p em,
.basic ul em,
.basic ol em,
.p em {
  font-style: italic;
}
.text.style p p + p,
.basic p + p,
.basic p p + p,
.basic ul p + p,
.basic ol p + p,
.p p + p {
  margin-top: 1em;
}
.text.style p a,
.basic a,
.basic p a,
.basic ul a,
.basic ol a,
.p a {
  display: inline-block;
  text-decoration: underline;
  transition: transform 0.5s, opacity 0.5s;
}
.text.style p a:hover,
.basic a:hover,
.basic p a:hover,
.basic ul a:hover,
.basic ol a:hover,
.p a:hover {
  opacity: 0.5;
}
.text.style p a:active,
.basic a:active,
.basic p a:active,
.basic ul a:active,
.basic ol a:active,
.p a:active {
  transform: scale(0.95);
  opacity: 0.75;
  transition: transform 0.15s, opacity 0.15s;
}
@media screen and (min-width: 500px) {
  .text.style p,
.basic,
.basic p,
.basic ul,
.basic ol,
.p {
    font-size: 3vw;
  }
}
@media screen and (min-width: 768px) {
  .text.style p,
.basic,
.basic p,
.basic ul,
.basic ol,
.p {
    font-size: 1.95vw;
  }
}
@media screen and (min-width: 1024px) {
  .text.style p,
.basic,
.basic p,
.basic ul,
.basic ol,
.p {
    font-size: 1.04vw;
  }
}

.basic ul,
ul.p,
.p ul {
  list-style-type: disc;
}

.basic ol,
ol.p,
.p ol {
  list-style-type: decimal;
}

.basic h1 + h1,
.basic h1 + h2,
.basic h1 + h3,
.basic h2 + h1,
.basic h2 + h2,
.basic h2 + h3,
.basic h3 + h1,
.basic h3 + h2,
.basic h3 + h3 {
  margin-top: 13.07vw;
}
.basic h1 + ul,
.basic h1 + ol,
.basic h1 + p {
  margin-top: 13.07vw;
}
.basic h2 + ul,
.basic h2 + ol,
.basic h2 + p,
.basic h3 + ul,
.basic h3 + ol,
.basic h3 + p {
  margin-top: 1.07vw;
}
.basic ul + h1,
.basic ul + h2,
.basic ul + h3,
.basic ol + h1,
.basic ol + h2,
.basic ol + h3,
.basic p + h1,
.basic p + h2,
.basic p + h3 {
  margin-top: 8vw;
}
.basic ul + ul,
.basic ul + ol,
.basic ul + p,
.basic ol + ul,
.basic ol + ol,
.basic ol + p,
.basic p + ul,
.basic p + ol,
.basic p + p {
  margin-top: 1em;
}
.basic img {
  margin-top: 3.4vw;
  margin-bottom: 3.4vw;
  height: auto;
}
.basic blockquote {
  position: relative;
  margin-top: calc(2em + 13.07vw);
}
.basic blockquote:before {
  content: "“";
  position: absolute;
  bottom: 100%;
  left: 0;
  font-size: 2em;
  line-height: 0.25;
}
.basic blockquote cite {
  display: block;
}
.basic blockquote + * {
  margin-top: 13.07vw;
}
.basic blockquote * + cite {
  margin-top: 3.2vw;
}
.basic ul,
.basic ol {
  padding-left: 1em;
}
.basic ul li::marker,
.basic ol li::marker {
  font-size: 0.85em;
}
.basic ul li + li,
.basic ol li + li {
  margin-top: 1.07vw;
}
@media screen and (min-width: 768px) {
  .basic h1 + h1,
.basic h1 + h2,
.basic h1 + h3,
.basic h2 + h1,
.basic h2 + h2,
.basic h2 + h3,
.basic h3 + h1,
.basic h3 + h2,
.basic h3 + h3 {
    margin-top: 3.03vw;
  }
  .basic h1 + ul,
.basic h1 + ol,
.basic h1 + p {
    margin-top: 3.03vw;
  }
  .basic h2 + ul,
.basic h2 + ol,
.basic h2 + p,
.basic h3 + ul,
.basic h3 + ol,
.basic h3 + p {
    margin-top: 1.27vw;
  }
  .basic ul + h1,
.basic ul + h2,
.basic ul + h3,
.basic ol + h1,
.basic ol + h2,
.basic ol + h3,
.basic p + h1,
.basic p + h2,
.basic p + h3 {
    margin-top: 3.13vw;
  }
  .basic * + img img + * {
    margin-top: 5.86vw;
  }
  .basic blockquote {
    margin-top: calc(1em + 5.86vw);
    margin-left: 1em;
    margin-right: 20vw;
  }
  .basic blockquote:before {
    left: auto;
    right: 100%;
    margin-right: 0.39vw;
  }
  .basic blockquote + * {
    margin-top: 5.86vw;
  }
  .basic blockquote * + cite {
    margin-top: 1.95vw;
  }
  .basic ul li + li,
.basic ol li + li {
    margin-top: 0.39vw;
  }
}
@media screen and (min-width: 1024px) {
  .basic h1 + h1,
.basic h1 + h2,
.basic h1 + h3,
.basic h2 + h1,
.basic h2 + h2,
.basic h2 + h3,
.basic h3 + h1,
.basic h3 + h2,
.basic h3 + h3 {
    margin-top: 2.15vw;
  }
  .basic h1 + ul,
.basic h1 + ol,
.basic h1 + p {
    margin-top: 2.15vw;
  }
  .basic h2 + ul,
.basic h2 + ol,
.basic h2 + p,
.basic h3 + ul,
.basic h3 + ol,
.basic h3 + p {
    margin-top: 0.9vw;
  }
  .basic * + img img + * {
    margin-top: 4.17vw;
  }
  .basic blockquote {
    margin-top: calc(1em + 4.17vw);
    margin-left: 0.75em;
    margin-right: 0vw;
  }
  .basic blockquote:before {
    margin-right: 0.28vw;
  }
  .basic blockquote + * {
    margin-top: 4.17vw;
  }
  .basic blockquote * + cite {
    margin-top: 1.39vw;
  }
  .basic ul + h1,
.basic ul + h2,
.basic ul + h3,
.basic ol + h1,
.basic ol + h2,
.basic ol + h3,
.basic p + h1,
.basic p + h2,
.basic p + h3 {
    margin-top: 2.22vw;
  }
  .basic ul li + li,
.basic ol li + li {
    margin-top: 0.28vw;
  }
}

a.hover,
a.link {
  display: inline-block;
  transition: transform 0.5s, opacity 0.5s;
}
a.hover:hover,
a.link:hover {
  opacity: 0.5;
}
a.hover:active,
a.link:active {
  transform: scale(0.95);
  opacity: 0.75;
  transition: transform 0.15s, opacity 0.15s;
}

a .hover,
a .link {
  display: inline-block;
  transition: transform 0.5s, opacity 0.5s;
}
a:hover .hover,
a:hover .link {
  opacity: 0.5;
}
a:active .hover,
a:active .link {
  transform: scale(0.95);
  opacity: 0.75;
  transition: transform 0.15s, opacity 0.15s;
}

.link {
  font-family: acumin-pro, sans-serif;
  font-weight: 600;
  font-style: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 12px;
  line-height: 1;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
@media screen and (min-width: 500px) {
  .link {
    font-size: 2.4vw;
  }
}
@media screen and (min-width: 768px) {
  .link {
    font-size: 1.56vw;
  }
}
@media screen and (min-width: 1024px) {
  .link {
    font-size: 0.83vw;
  }
}

.cta .link {
  width: 100%;
  padding: 4.53vw 5.33vw;
  background-color: var(--theme-color);
  color: #fff;
  border-radius: 100px;
  cursor: pointer;
  transition: opacity 0.5s, transform 0.5s;
  text-align: center;
}
.cta .link:hover {
  opacity: 0.75;
}
.cta .link:active {
  transform: scale(0.975);
  opacity: 0.9;
  transition: opacity 0.15s, transform 0.15s;
}
@media screen and (min-width: 768px) {
  .cta .link {
    padding: 2.21vw 2.6vw;
    min-width: 25.26vw;
    width: auto;
  }
}
@media screen and (min-width: 1024px) {
  .cta .link {
    padding: 1.18vw 1.39vw;
    min-width: 13.47vw;
  }
}

.basic cite,
.label {
  font-family: acumin-pro, sans-serif;
  font-weight: 400;
  font-style: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 12px;
  line-height: 1;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
@media screen and (min-width: 500px) {
  .basic cite,
.label {
    font-size: 2.4vw;
  }
}
@media screen and (min-width: 768px) {
  .basic cite,
.label {
    font-size: 1.56vw;
  }
}
@media screen and (min-width: 1024px) {
  .basic cite,
.label {
    font-size: 0.83vw;
  }
}

.text.style h2 {
  font-family: ivypresto-display, serif;
  font-weight: 100;
  font-style: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 28px;
  line-height: 32px;
  letter-spacing: 0.02em;
  margin-top: 13.07vw;
}
@media screen and (min-width: 500px) {
  .text.style h2 {
    font-size: 5.6vw;
    line-height: 6.4vw;
  }
}
@media screen and (min-width: 768px) {
  .text.style h2 {
    font-size: 3.65vw;
    line-height: 4.17vw;
  }
}
@media screen and (min-width: 1024px) {
  .text.style h2 {
    font-size: 2.43vw;
    line-height: 1.29;
  }
}
@media screen and (min-width: 500px) {
  .text.style h2 {
    margin-top: 9.8vw;
  }
}
@media screen and (min-width: 768px) {
  .text.style h2 {
    margin-top: 6.38vw;
  }
}
@media screen and (min-width: 1024px) {
  .text.style h2 {
    margin-top: 3.4vw;
  }
}
.text.style h3 {
  font-family: acumin-pro, sans-serif;
  font-weight: 400;
  font-style: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  margin-top: 7.2vw;
  font-size: 12px;
  line-height: 1;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
@media screen and (min-width: 500px) {
  .text.style h3 {
    margin-top: 5.4vw;
    font-size: 2.4vw;
  }
}
@media screen and (min-width: 768px) {
  .text.style h3 {
    margin-top: 3.52vw;
    font-size: 1.56vw;
  }
}
@media screen and (min-width: 1024px) {
  .text.style h3 {
    margin-top: 1.88vw;
    font-size: 0.83vw;
  }
}
.text.style p {
  margin-top: 0.5em;
}
.text.style *:first-child {
  margin-top: 0;
}

:root {
  --vp-height: 100%;
  --theme-color: #252525;
  --footer-color: #252525;
}

html,
body {
  width: 100%;
  min-height: 100vh;
  min-height: var(--vp-height);
}

body {
  background-color: #F6F0E4;
  color: var(--theme-color);
  transition: opacity 0.5s;
}
body.theme-ad {
  --theme-color: #CFA85F;
  --footer-color: #C69F56;
}
body.theme-aviation {
  --theme-color: #1C5040;
  --footer-color: #154334;
}
body.noscroll {
  height: var(--vp-height);
  overflow: hidden;
}
body.is-loading {
  overflow: hidden;
}
body.is-loading .entry,
body.is-loading header,
body.is-loading .main,
body.is-loading .newsletter,
body.is-loading footer {
  opacity: 0;
  transition: opacity 1s;
}
body.is-loading #smooth-wrapper {
  pointer-events: none;
}
body.is-loading #smooth-wrapper:before {
  transform: translateX(0);
  transition: transform 1s cubic-bezier(0.22, 0.61, 0.36, 1);
}
body.is-done-loading .entry,
body.is-done-loading header,
body.is-done-loading .main,
body.is-done-loading .newsletter,
body.is-done-loading footer {
  opacity: 1;
  transition: opacity 1s;
}
body.is-done-loading #smooth-wrapper:before {
  transform: translateX(-100%);
  opacity: 0;
  transition: transform 0s, opacity 0s;
}
@media screen and (min-width: 768px) {
  body.is-loading #smooth-wrapper:before {
    transform: translateY(0);
  }
  body.is-done-loading #smooth-wrapper:before {
    transform: translateY(100%);
  }
}

#smooth-wrapper:before {
  content: "";
  display: block;
  position: fixed;
  z-index: 105;
  transform: translateX(-100%);
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #F6F0E4;
  pointer-events: none;
}
@media screen and (min-width: 768px) {
  #smooth-wrapper:before {
    transform: translateY(100%);
  }
}

#smooth-content {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

.main {
  flex: 1;
}

.image .desktop, .video .desktop, .media .desktop {
  display: none;
}
@media (min-width: 768px) {
  .image .mobile, .video .mobile, .media .mobile {
    display: none;
  }
  .image .desktop, .video .desktop, .media .desktop {
    display: block;
  }
}

video,
img {
  display: block;
  width: 100%;
}

a {
  color: inherit;
}

[data-split] div {
  will-change: transform, opacity;
  font-kerning: none;
  text-rendering: optimizeSpeed;
  transform: translateZ(0);
}

.splide__container {
  box-sizing: border-box;
  position: relative;
}

.splide__list {
  backface-visibility: hidden;
  display: -ms-flexbox;
  display: flex;
  height: 100%;
  margin: 0 !important;
  padding: 0 !important;
}

.splide.is-initialized:not(.is-active) .splide__list {
  display: block;
}

.splide__pagination {
  -ms-flex-align: center;
  align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -ms-flex-pack: center;
  justify-content: center;
  margin: 0;
  pointer-events: none;
}

.splide__pagination li {
  display: inline-block;
  line-height: 1;
  list-style-type: none;
  margin: 0;
  pointer-events: auto;
}

.splide:not(.is-overflow) .splide__pagination {
  display: none;
}

.splide__progress__bar {
  width: 0;
}

.splide {
  position: relative;
  visibility: hidden;
}

.splide.is-initialized, .splide.is-rendered {
  visibility: visible;
}

.splide__slide {
  backface-visibility: hidden;
  box-sizing: border-box;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  list-style-type: none !important;
  margin: 0;
  position: relative;
}

.splide__slide img {
  vertical-align: bottom;
}

.splide__spinner {
  animation: splide-loading 1s linear infinite;
  border: 2px solid #999;
  border-left-color: transparent;
  border-radius: 50%;
  bottom: 0;
  contain: strict;
  display: inline-block;
  height: 20px;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  top: 0;
  width: 20px;
}

.splide__sr {
  clip: rect(0 0 0 0);
  border: 0;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}

.splide__toggle.is-active .splide__toggle__play, .splide__toggle__pause {
  display: none;
}

.splide__toggle.is-active .splide__toggle__pause {
  display: inline;
}

.splide__track {
  overflow: hidden;
  position: relative;
  z-index: 0;
}

@keyframes splide-loading {
  0% {
    transform: rotate(0);
  }
  to {
    transform: rotate(1turn);
  }
}
.splide__track--draggable {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.splide__track--fade > .splide__list > .splide__slide {
  margin: 0 !important;
  opacity: 0;
  z-index: 0;
}

.splide__track--fade > .splide__list > .splide__slide.is-active {
  opacity: 1;
  z-index: 1;
}

.splide--rtl {
  direction: rtl;
}

.splide__track--ttb > .splide__list {
  display: block;
}

.splide__arrow {
  -ms-flex-align: center;
  align-items: center;
  background: #ccc;
  border: 0;
  border-radius: 50%;
  cursor: pointer;
  display: -ms-flexbox;
  display: flex;
  height: 2em;
  -ms-flex-pack: center;
  justify-content: center;
  opacity: 0.7;
  padding: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 2em;
  z-index: 1;
}

.splide__arrow svg {
  fill: #000;
  height: 1.2em;
  width: 1.2em;
}

.splide__arrow:hover:not(:disabled) {
  opacity: 0.9;
}

.splide__arrow:disabled {
  opacity: 0.3;
}

.splide__arrow:focus-visible {
  outline: 3px solid #0bf;
  outline-offset: 3px;
}

.splide__arrow--prev {
  left: 1em;
}

.splide__arrow--prev svg {
  transform: scaleX(-1);
}

.splide__arrow--next {
  right: 1em;
}

.splide.is-focus-in .splide__arrow:focus {
  outline: 3px solid #0bf;
  outline-offset: 3px;
}

.splide__pagination {
  bottom: 0.5em;
  left: 0;
  padding: 0 1em;
  position: absolute;
  right: 0;
  z-index: 1;
}

.splide__pagination__page {
  background: #ccc;
  border: 0;
  border-radius: 50%;
  display: inline-block;
  height: 8px;
  margin: 3px;
  opacity: 0.7;
  padding: 0;
  position: relative;
  transition: transform 0.2s linear;
  width: 8px;
}

.splide__pagination__page.is-active {
  background: #fff;
  transform: scale(1.4);
  z-index: 1;
}

.splide__pagination__page:hover {
  cursor: pointer;
  opacity: 0.9;
}

.splide__pagination__page:focus-visible {
  outline: 3px solid #0bf;
  outline-offset: 3px;
}

.splide.is-focus-in .splide__pagination__page:focus {
  outline: 3px solid #0bf;
  outline-offset: 3px;
}

.splide__progress__bar {
  background: #ccc;
  height: 3px;
}

.splide__slide {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

.splide__slide:focus {
  outline: 0;
}

@supports (outline-offset: -3px) {
  .splide__slide:focus-visible {
    outline: 3px solid #0bf;
    outline-offset: -3px;
  }
}
@media screen and (-ms-high-contrast: none) {
  .splide__slide:focus-visible {
    border: 3px solid #0bf;
  }
}
@supports (outline-offset: -3px) {
  .splide.is-focus-in .splide__slide:focus {
    outline: 3px solid #0bf;
    outline-offset: -3px;
  }
}
@media screen and (-ms-high-contrast: none) {
  .splide.is-focus-in .splide__slide:focus {
    border: 3px solid #0bf;
  }
  .splide.is-focus-in .splide__track > .splide__list > .splide__slide:focus {
    border-color: #0bf;
  }
}
.splide__toggle {
  cursor: pointer;
}

.splide__toggle:focus-visible {
  outline: 3px solid #0bf;
  outline-offset: 3px;
}

.splide.is-focus-in .splide__toggle:focus {
  outline: 3px solid #0bf;
  outline-offset: 3px;
}

.splide__track--nav > .splide__list > .splide__slide {
  border: 3px solid transparent;
  cursor: pointer;
}

.splide__track--nav > .splide__list > .splide__slide.is-active {
  border: 3px solid #000;
}

.splide__arrows--rtl .splide__arrow--prev {
  left: auto;
  right: 1em;
}

.splide__arrows--rtl .splide__arrow--prev svg {
  transform: scaleX(1);
}

.splide__arrows--rtl .splide__arrow--next {
  left: 1em;
  right: auto;
}

.splide__arrows--rtl .splide__arrow--next svg {
  transform: scaleX(-1);
}

.splide__arrows--ttb .splide__arrow {
  left: 50%;
  transform: translate(-50%);
}

.splide__arrows--ttb .splide__arrow--prev {
  top: 1em;
}

.splide__arrows--ttb .splide__arrow--prev svg {
  transform: rotate(-90deg);
}

.splide__arrows--ttb .splide__arrow--next {
  bottom: 1em;
  top: auto;
}

.splide__arrows--ttb .splide__arrow--next svg {
  transform: rotate(90deg);
}

.splide__pagination--ttb {
  bottom: 0;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
  flex-direction: column;
  left: auto;
  padding: 1em 0;
  right: 0.5em;
  top: 0;
}

.entry {
  position: fixed;
  z-index: 100;
  top: 0;
  left: 0;
  width: 100vw;
  height: var(--vp-height);
}
.entry ~ header .main,
.entry ~ header .newsletter,
.entry ~ header footer,
.entry ~ #smooth-wrapper .main,
.entry ~ #smooth-wrapper .newsletter,
.entry ~ #smooth-wrapper footer {
  opacity: 0;
  transition: opacity 1s;
}
.entry.ready .logo svg {
  transform: translateY(0);
  opacity: 1;
  transition: 1s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
@media screen and (max-width: 767px) {
  .entry.ready .section {
    transform: translateX(0);
    transition: 0.75s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.9s;
  }
  .entry.ready .section a:before {
    opacity: 1;
    transform: translateX(0);
    transition: opacity 1s linear 0.9s, transform 1s cubic-bezier(0.55, 0.06, 0.68, 0.19) 0.9s;
  }
  .entry.ready .section .label {
    opacity: 1;
    transition: 1s cubic-bezier(0.25, 0.46, 0.45, 0.94) 1.9s;
  }
}
@media screen and (min-width: 768px) {
  .entry.ready .section a:before {
    opacity: 0;
    transition: 0.35s cubic-bezier(0.55, 0.06, 0.68, 0.19);
  }
  .entry.ready .section a:hover {
    pointer-events: all;
  }
  .entry.ready .section a:hover:before {
    opacity: 1;
    transform: translateX(0);
    transition: 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  }
  .entry.ready .section a:hover .label {
    transform: translateX(0);
    opacity: 1;
    transition: 1s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  }
  .entry.ready .section .label {
    transform: translateX(0);
    opacity: 1;
    transition: 1s cubic-bezier(0.25, 0.46, 0.45, 0.94) 1.1s;
  }
}
.entry .media,
.entry video,
.entry img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.entry .media:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #252525;
  opacity: 0.2;
}
.entry video,
.entry img {
  object-fit: cover;
}
.entry .sections {
  display: flex;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.entry .sections.is-loading + .logo {
  transform: scale(0.975);
  opacity: 0;
  transition: transform 0.5s linear 0.25s, opacity 0.5s linear 0.25s;
}
@media screen and (max-width: 767px) {
  .entry .sections {
    flex-direction: column;
  }
  .entry .sections.is-loading .section.is-selected a:before {
    height: 200%;
    transition: height 1s cubic-bezier(0.55, 0.06, 0.68, 0.19);
  }
}
@media screen and (min-width: 768px) {
  .entry .sections.is-loading .section.is-selected a:before {
    width: 200%;
    transition: width 1s cubic-bezier(0.55, 0.06, 0.68, 0.19);
  }
}
.entry .section {
  flex: 1;
  position: relative;
  color: #fff;
}
.entry .section.is-selected {
  z-index: 2;
}
.entry .section.is-selected .label {
  opacity: 0;
  transition: 1s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.entry .section--ad {
  transform: translateX(-50%);
}
.entry .section--ad a:before {
  transform: translateX(-5%);
  top: 0;
  left: 0;
  background-color: #CFA85F;
}
.entry .section--aviation {
  transform: translateX(50%);
}
.entry .section--aviation a:before {
  transform: translateX(5%);
  bottom: 0;
  right: 0;
  background-color: #1C5040;
}
.entry .section a {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.entry .section a:before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  opacity: 0;
}
.entry .section .label {
  position: relative;
  z-index: 2;
  padding: 2em 3em;
  pointer-events: all;
  border-radius: 100%;
  opacity: 0;
}
@media screen and (min-width: 768px) {
  .entry .section--ad {
    transform: translateX(0);
  }
  .entry .section--ad .label {
    transform: translateX(-5%);
  }
  .entry .section--aviation {
    transform: translateX(0);
  }
  .entry .section--aviation .label {
    transform: translateX(5%);
  }
  .entry .section a {
    pointer-events: none;
  }
}
.entry .logo {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
  color: #fff;
  pointer-events: none;
}
.entry .logo svg {
  transform: translateY(20px);
  width: 54.13vw;
  opacity: 0;
}
.entry .logo svg path {
  fill: currentColor;
  stroke-width: 0.035em;
}
@media screen and (max-width: 767px) {
  .entry .logo svg {
    margin-top: 0.05em;
  }
}
@media screen and (min-width: 768px) {
  .entry .logo svg {
    width: 26.27vw;
  }
  .entry .logo svg path {
    stroke-width: 0.0175em;
  }
}
@media screen and (min-width: 1024px) {
  .entry .logo svg {
    width: 18.68vw;
  }
}

.newsletter {
  position: relative;
  padding: 5.87vw 5.33vw;
  color: #fff;
  background-color: var(--theme-color);
}
.newsletter ~ footer {
  background-color: var(--footer-color);
}
.newsletter form {
  position: relative;
  z-index: 2;
}
.newsletter form.is-submitting .fields {
  pointer-events: none;
  opacity: 0.5;
  transition: opacity 0.5s;
}
.newsletter form.is-submitted .fields {
  opacity: 0;
  transform: translateY(-50%);
  transition: opacity 0.5s, transform 0.5s;
}
.newsletter form.is-submitted .message {
  opacity: 1;
  transform: translateY(0);
  transition: opacity 0.5s ease-out 0.2s, transform 0.5s ease-out 0.2s;
  pointer-events: unset;
}
.newsletter .fields {
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: center;
}
.newsletter .message {
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  transform: translateY(50%);
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  pointer-events: none;
}
.newsletter input,
.newsletter button {
  margin-top: 5.87vw;
  padding: 0;
  border: 0;
  color: currentColor;
  appearance: none;
  -webkit-appearance: none;
  width: 100%;
  outline: none;
}
.newsletter input:placeholder-shown ~ label,
.newsletter button:placeholder-shown ~ label {
  transform: translateY(0) scale(1);
  color: #9F8D6A;
}
.newsletter input:focus ~ label,
.newsletter button:focus ~ label {
  transform: translateY(-100%) scale(0.8);
  color: var(--theme-color);
}
.newsletter input {
  padding: 1.07vw 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.39);
  background-color: transparent;
  color: currentColor;
  text-align: center;
}
.newsletter input::placeholder {
  color: currentColor;
  opacity: 1;
}
.newsletter input:-ms-input-placeholder {
  color: currentColor;
  opacity: 1;
}
.newsletter input::-ms-input-placeholder {
  color: currentColor;
  opacity: 1;
}
.newsletter button {
  padding: 2.67vw;
  background-color: transparent;
  border: 1px solid currentColor;
  border-radius: 100px;
  color: #fff;
  cursor: pointer;
  transition: opacity 0.5s, transform 0.5s;
}
.newsletter button:hover {
  opacity: 0.75;
}
.newsletter button:active {
  transform: scale(0.975);
  opacity: 0.9;
  transition: opacity 0.15s, transform 0.15s;
}
@media screen and (min-width: 768px) {
  .newsletter .fields {
    flex-direction: row;
    align-items: center;
  }
  .newsletter input,
.newsletter button {
    margin-top: 0;
  }
  .newsletter input {
    margin-left: 4.59vw;
    width: 21.48vw;
    padding: 0.39vw 0;
    text-align: left;
  }
  .newsletter button {
    margin-left: 1.95vw;
    padding: 0.98vw 2.34vw;
    width: auto;
  }
}
@media screen and (min-width: 1024px) {
  .newsletter {
    padding: 1.53vw 1.39vw;
  }
  .newsletter input {
    margin-left: 3.26vw;
    padding: 0.28vw 0;
    width: 15.28vw;
  }
  .newsletter button {
    margin-left: 1.39vw;
    padding: 0.69vw 1.67vw;
  }
}

footer {
  padding: 8.27vw 5.33vw 5.6vw;
  background-color: var(--theme-color);
  color: #fff;
}
footer a {
  display: block;
  transition: opacity 0.5s, transform 0.5s;
}
footer a:hover {
  opacity: 0.5;
}
footer a:active {
  transform: scale(0.95);
  opacity: 0.75;
  transition: opacity 0.15s, transform 0.15s;
}
footer .nav {
  text-align: center;
}
footer .nav li + li {
  margin-top: 5.87vw;
}
footer .nav + .more {
  margin-top: 9.6vw;
}
footer .more {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  font-family: acumin-pro, sans-serif;
  font-weight: 400;
  font-style: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 10px;
  line-height: 1;
  letter-spacing: 0.05em;
}
footer .more .social {
  width: 100%;
  margin-bottom: 5.87vw;
}
footer .more .social ul {
  display: flex;
  align-items: center;
  justify-content: center;
}
footer .more .social svg {
  display: block;
  width: 5.33vw;
}
footer .more .social svg path {
  fill: #fff;
}
footer .more .social li + li {
  margin-left: 4.27vw;
}
footer .more .copyright + .siteby {
  margin-left: 6.67vw;
}
@media screen and (min-width: 500px) {
  footer .more .social {
    margin-bottom: 4.4vw;
  }
  footer .more .social svg {
    width: 4vw;
  }
  footer .more .social li + li {
    margin-left: 3.2vw;
  }
}
@media screen and (min-width: 768px) {
  footer .more .social {
    margin-bottom: 2.86vw;
  }
  footer .more .social svg {
    width: 2.6vw;
  }
  footer .more .social li + li {
    margin-left: 2.08vw;
  }
}
@media screen and (min-width: 1024px) {
  footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1.67vw 2.78vw;
  }
  footer .nav {
    display: flex;
  }
  footer .nav li + li {
    margin-top: 0;
    margin-left: 3.47vw;
  }
  footer .nav + .more {
    margin-top: 0;
  }
  footer .more {
    align-items: center;
    font-size: 0.69vw;
  }
  footer .more .social {
    width: auto;
    margin-bottom: 0;
    margin-right: 2.57vw;
  }
  footer .more .social svg {
    width: 1.39vw;
  }
  footer .more .social li + li {
    margin-left: 1.11vw;
  }
  footer .more .copyright + .siteby {
    margin-left: 2.57vw;
  }
}

.orderModal,
.contactModal {
  position: fixed;
  z-index: 10;
  top: 0;
  left: 0;
  width: 100%;
  height: var(--vp-height);
  opacity: 0;
  pointer-events: none;
}
.orderModal.is-visible,
.contactModal.is-visible {
  opacity: 1;
  pointer-events: unset;
}
.orderModal:before,
.contactModal:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #000;
  opacity: 0.5;
}
.orderModal .modalInner,
.contactModal .modalInner {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 2;
  width: 100%;
  height: 100%;
}
.orderModal .form,
.contactModal .form {
  position: relative;
  width: 80vw;
  padding: 5.87vw 6.67vw;
  background-color: #fff;
}
.orderModal form > div:nth-child(1):not(.field),
.orderModal .textbox,
.orderModal .hs-form-field,
.contactModal form > div:nth-child(1):not(.field),
.contactModal .textbox,
.contactModal .hs-form-field {
  position: relative;
}
.orderModal form > div:nth-child(1):not(.field) + .textbox,
.orderModal form > div:nth-child(1):not(.field) + .hs-form-field,
.orderModal .textbox + .textbox,
.orderModal .textbox + .hs-form-field,
.orderModal .hs-form-field + .textbox,
.orderModal .hs-form-field + .hs-form-field,
.contactModal form > div:nth-child(1):not(.field) + .textbox,
.contactModal form > div:nth-child(1):not(.field) + .hs-form-field,
.contactModal .textbox + .textbox,
.contactModal .textbox + .hs-form-field,
.contactModal .hs-form-field + .textbox,
.contactModal .hs-form-field + .hs-form-field {
  margin-top: 8vw;
}
.orderModal .submit,
.orderModal .hs-submit,
.contactModal .submit,
.contactModal .hs-submit {
  margin-top: 10.67vw;
}
.orderModal label,
.contactModal label {
  color: var(--theme-color);
  font-family: acumin-pro, sans-serif;
  font-weight: 400;
  font-style: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 12px;
  line-height: 1;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
@media screen and (min-width: 500px) {
  .orderModal label,
.contactModal label {
    font-size: 2.4vw;
  }
}
@media screen and (min-width: 768px) {
  .orderModal label,
.contactModal label {
    font-size: 1.56vw;
  }
}
@media screen and (min-width: 1024px) {
  .orderModal label,
.contactModal label {
    font-size: 0.83vw;
  }
}
.orderModal input,
.orderModal textarea,
.orderModal select,
.orderModal button,
.contactModal input,
.contactModal textarea,
.contactModal select,
.contactModal button {
  padding: 0;
  border: 0;
  color: currentColor;
  appearance: none;
  -webkit-appearance: none;
  width: 100%;
  outline: none;
}
.orderModal input:placeholder-shown ~ label,
.orderModal textarea:placeholder-shown ~ label,
.orderModal select:placeholder-shown ~ label,
.orderModal button:placeholder-shown ~ label,
.contactModal input:placeholder-shown ~ label,
.contactModal textarea:placeholder-shown ~ label,
.contactModal select:placeholder-shown ~ label,
.contactModal button:placeholder-shown ~ label {
  transform: translateY(0) scale(1);
  color: #9F8D6A;
}
.orderModal input:focus ~ label,
.orderModal textarea:focus ~ label,
.orderModal select:focus ~ label,
.orderModal button:focus ~ label,
.contactModal input:focus ~ label,
.contactModal textarea:focus ~ label,
.contactModal select:focus ~ label,
.contactModal button:focus ~ label {
  transform: translateY(-100%) scale(0.8);
  color: var(--theme-color);
}
.orderModal .hs-richtext,
.contactModal .hs-richtext {
  font-family: ivypresto-display, serif;
  font-weight: 100;
  font-style: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 28px;
  line-height: 32px;
  letter-spacing: 0.02em;
}
@media screen and (min-width: 500px) {
  .orderModal .hs-richtext,
.contactModal .hs-richtext {
    font-size: 5.6vw;
    line-height: 6.4vw;
  }
}
@media screen and (min-width: 768px) {
  .orderModal .hs-richtext,
.contactModal .hs-richtext {
    font-size: 3.65vw;
    line-height: 4.17vw;
  }
}
@media screen and (min-width: 1024px) {
  .orderModal .hs-richtext,
.contactModal .hs-richtext {
    font-size: 2.43vw;
    line-height: 1.29;
  }
}
.orderModal .submitted-message,
.orderModal input:not([type=submit]),
.orderModal select,
.orderModal textarea,
.contactModal .submitted-message,
.contactModal input:not([type=submit]),
.contactModal select,
.contactModal textarea {
  font-family: acumin-pro, sans-serif;
  font-weight: 200;
  font-style: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 15px;
  line-height: 1.53;
  letter-spacing: 0.03em;
}
@media screen and (min-width: 500px) {
  .orderModal .submitted-message,
.orderModal input:not([type=submit]),
.orderModal select,
.orderModal textarea,
.contactModal .submitted-message,
.contactModal input:not([type=submit]),
.contactModal select,
.contactModal textarea {
    font-size: 3vw;
  }
}
@media screen and (min-width: 768px) {
  .orderModal .submitted-message,
.orderModal input:not([type=submit]),
.orderModal select,
.orderModal textarea,
.contactModal .submitted-message,
.contactModal input:not([type=submit]),
.contactModal select,
.contactModal textarea {
    font-size: 1.95vw;
  }
}
@media screen and (min-width: 1024px) {
  .orderModal .submitted-message,
.orderModal input:not([type=submit]),
.orderModal select,
.orderModal textarea,
.contactModal .submitted-message,
.contactModal input:not([type=submit]),
.contactModal select,
.contactModal textarea {
    font-size: 1.04vw;
  }
}
.orderModal input:not([type=submit]),
.contactModal input:not([type=submit]) {
  padding: 1.07vw 0;
  border-bottom: 1px solid rgba(159, 141, 106, 0.32);
  background-color: transparent;
}
.orderModal .hs-fieldtype-select .input,
.contactModal .hs-fieldtype-select .input {
  position: relative;
  margin-top: 2.13vw;
}
.orderModal .hs-fieldtype-select .input:before,
.contactModal .hs-fieldtype-select .input:before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  right: 2.13vw;
  width: 0px;
  height: 0px;
  margin-top: -0.27vw;
  border-style: solid;
  border-width: 1.07vw 1.33vw 0 1.33vw;
  border-color: var(--theme-color) transparent transparent transparent;
  transform: rotate(0deg);
  pointer-events: none;
}
.orderModal select,
.contactModal select {
  padding: 1.07vw 2.13vw;
  border: 1px solid rgba(159, 141, 106, 0.32);
  background-color: transparent;
}
.orderModal .hs-fieldtype-textarea label ~ .input,
.contactModal .hs-fieldtype-textarea label ~ .input {
  margin-top: max(10px, 0.69vw);
}
.orderModal .hs-error-msgs,
.contactModal .hs-error-msgs {
  padding-top: max(10px, 0.69vw);
}
.orderModal .hs-error-msgs label,
.contactModal .hs-error-msgs label {
  color: #252525;
}
.orderModal textarea,
.contactModal textarea {
  padding: 1.07vw;
  border: 1px solid rgba(159, 141, 106, 0.32);
  height: 6em;
  background-color: transparent;
}
.orderModal textarea:placeholder-shown ~ label,
.contactModal textarea:placeholder-shown ~ label {
  transform: translateY(0) translateX(1.07vw) scale(1);
}
.orderModal textarea:focus ~ label,
.contactModal textarea:focus ~ label {
  transform: translateY(-125%) scale(0.8);
}
.orderModal input[type=submit],
.contactModal input[type=submit] {
  font-family: acumin-pro, sans-serif;
  font-weight: 600;
  font-style: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 12px;
  line-height: 1;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
@media screen and (min-width: 500px) {
  .orderModal input[type=submit],
.contactModal input[type=submit] {
    font-size: 2.4vw;
  }
}
@media screen and (min-width: 768px) {
  .orderModal input[type=submit],
.contactModal input[type=submit] {
    font-size: 1.56vw;
  }
}
@media screen and (min-width: 1024px) {
  .orderModal input[type=submit],
.contactModal input[type=submit] {
    font-size: 0.83vw;
  }
}
.orderModal button,
.orderModal input[type=submit],
.contactModal button,
.contactModal input[type=submit] {
  padding: 5.33vw;
  background-color: var(--theme-color);
  color: #fff;
  border-radius: 100px;
  cursor: pointer;
  transition: opacity 0.5s, transform 0.5s;
}
.orderModal button:hover,
.orderModal input[type=submit]:hover,
.contactModal button:hover,
.contactModal input[type=submit]:hover {
  opacity: 0.75;
}
.orderModal button:active,
.orderModal input[type=submit]:active,
.contactModal button:active,
.contactModal input[type=submit]:active {
  transform: scale(0.975);
  opacity: 0.9;
  transition: opacity 0.15s, transform 0.15s;
}
.orderModal .close,
.contactModal .close {
  position: absolute;
  z-index: 2;
  top: 5.33vw;
  right: 4.53vw;
  display: flex;
  justify-content: center;
}
.orderModal .close i,
.contactModal .close i {
  display: block;
  position: relative;
  width: 5.6vw;
  height: 5.6vw;
}
.orderModal .close i:before, .orderModal .close i:after,
.contactModal .close i:before,
.contactModal .close i:after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #9F8D6A;
}
.orderModal .close i:before,
.contactModal .close i:before {
  transform: rotate(45deg);
}
.orderModal .close i:after,
.contactModal .close i:after {
  transform: rotate(-45deg);
}
.orderModal .close a,
.contactModal .close a {
  display: block;
  transition: opacity 0.5s, transform 0.5s;
}
.orderModal .close a:hover,
.contactModal .close a:hover {
  opacity: 0.5;
}
.orderModal .close a:active,
.contactModal .close a:active {
  transform: scale(0.95);
  opacity: 0.75;
  transition: opacity 0.15s, transform 0.15s;
}
@media (max-width: 767px) {
  .orderModal .close a,
.contactModal .close a {
    font-size: 0;
  }
}
@media screen and (min-width: 768px) {
  .orderModal .close,
.contactModal .close {
    flex: 1;
    order: 3;
    top: 1.95vw;
    right: 1.66vw;
  }
  .orderModal .close i,
.contactModal .close i {
    display: none;
  }
}
@media screen and (min-width: 1024px) {
  .orderModal .close,
.contactModal .close {
    top: 1.39vw;
    right: 1.39vw;
  }
}
@media screen and (min-width: 768px) {
  .orderModal .form,
.contactModal .form {
    width: 50vw;
    padding: 4.3vw 4.88vw 5.27vw;
  }
  .orderModal form > div:nth-child(1):not(.field) + .textbox,
.orderModal form > div:nth-child(1):not(.field) + .hs-form-field,
.orderModal .textbox + .textbox,
.orderModal .textbox + .hs-form-field,
.orderModal .hs-form-field + .textbox,
.orderModal .hs-form-field + .hs-form-field,
.contactModal form > div:nth-child(1):not(.field) + .textbox,
.contactModal form > div:nth-child(1):not(.field) + .hs-form-field,
.contactModal .textbox + .textbox,
.contactModal .textbox + .hs-form-field,
.contactModal .hs-form-field + .textbox,
.contactModal .hs-form-field + .hs-form-field {
    margin-top: 2.93vw;
  }
  .orderModal .submit,
.orderModal .hs-submit,
.contactModal .submit,
.contactModal .hs-submit {
    margin-top: 3.91vw;
  }
  .orderModal label,
.contactModal label {
    top: 0.39vw;
  }
  .orderModal textarea,
.contactModal textarea {
    padding: 0.39vw;
    height: 6em;
  }
  .orderModal textarea:placeholder-shown ~ label,
.contactModal textarea:placeholder-shown ~ label {
    transform: translateY(0) translateX(0.39vw) scale(1);
  }
  .orderModal textarea:focus ~ label,
.contactModal textarea:focus ~ label {
    transform: translateY(-125%) scale(0.8);
  }
  .orderModal input:not([type=submit]),
.contactModal input:not([type=submit]) {
    padding: 0.39vw 0;
  }
  .orderModal .hs-fieldtype-select .input,
.contactModal .hs-fieldtype-select .input {
    margin-top: 0.78vw;
  }
  .orderModal .hs-fieldtype-select .input:before,
.contactModal .hs-fieldtype-select .input:before {
    right: 1.17vw;
    margin-top: -0.1vw;
    border-width: 0.39vw 0.49vw 0 0.49vw;
  }
  .orderModal select,
.contactModal select {
    padding: 0.39vw 0.78vw;
  }
  .orderModal button,
.orderModal input[type=submit],
.contactModal button,
.contactModal input[type=submit] {
    padding: 1.95vw;
  }
}
@media screen and (min-width: 1024px) {
  .orderModal .form,
.contactModal .form {
    width: 33vw;
    padding: 3.06vw 3.47vw 3.75vw;
  }
  .orderModal form > div:nth-child(1):not(.field) + .textbox,
.orderModal form > div:nth-child(1):not(.field) + .hs-form-field,
.orderModal .textbox + .textbox,
.orderModal .textbox + .hs-form-field,
.orderModal .hs-form-field + .textbox,
.orderModal .hs-form-field + .hs-form-field,
.contactModal form > div:nth-child(1):not(.field) + .textbox,
.contactModal form > div:nth-child(1):not(.field) + .hs-form-field,
.contactModal .textbox + .textbox,
.contactModal .textbox + .hs-form-field,
.contactModal .hs-form-field + .textbox,
.contactModal .hs-form-field + .hs-form-field {
    margin-top: 2.08vw;
  }
  .orderModal .submit,
.orderModal .hs-submit,
.contactModal .submit,
.contactModal .hs-submit {
    margin-top: 2.78vw;
  }
  .orderModal label,
.contactModal label {
    top: 0.28vw;
  }
  .orderModal textarea,
.contactModal textarea {
    padding: 0.28vw;
  }
  .orderModal textarea:placeholder-shown ~ label,
.contactModal textarea:placeholder-shown ~ label {
    transform: translateY(0) translateX(0.28vw) scale(1);
  }
  .orderModal textarea:focus ~ label,
.contactModal textarea:focus ~ label {
    transform: translateY(-125%) scale(0.8);
  }
  .orderModal input:not([type=submit]),
.contactModal input:not([type=submit]) {
    padding: 0.28vw 0;
  }
  .orderModal .hs-fieldtype-select .input,
.contactModal .hs-fieldtype-select .input {
    margin-top: 0.56vw;
  }
  .orderModal .hs-fieldtype-select .input:before,
.contactModal .hs-fieldtype-select .input:before {
    right: 0.83vw;
    margin-top: -0.07vw;
    border-width: 0.28vw 0.35vw 0 0.35vw;
  }
  .orderModal select,
.contactModal select {
    padding: 0.28vw 0.56vw;
  }
  .orderModal button,
.orderModal input[type=submit],
.contactModal button,
.contactModal input[type=submit] {
    width: auto;
    padding: 0.69vw 2.57vw;
  }
}

header {
  display: flex;
  align-items: flex-start;
  position: fixed;
  z-index: 7;
  top: 0;
  left: 0;
  width: 100%;
  padding: 4vw 5.33vw;
  pointer-events: none;
  transition: background-color 0.5s, transform 0.5s, color 0.5s, padding 0.5s;
}
header.white {
  color: #fff;
  z-index: 8;
  clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);
}
header.themed {
  color: var(--theme-color);
  z-index: 7;
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
}
header a {
  pointer-events: all;
  display: block;
  transition: opacity 0.5s, transform 0.5s;
}
header a:hover {
  opacity: 0.5;
}
header a:active {
  transform: scale(0.95);
  opacity: 0.75;
  transition: opacity 0.15s, transform 0.15s;
}
header .view,
header .account {
  display: none;
}
header .menu,
header .logo,
header .cart {
  display: flex;
}
header .menu,
header .cart {
  flex: 2;
}
header svg {
  display: block;
  pointer-events: all;
  color: currentColor;
}
header svg path {
  stroke: currentColor;
}
header .menu {
  margin-top: 0.53vw;
}
header .menu svg {
  width: 4.27vw;
}
header .logo {
  flex: 4;
  justify-content: center;
}
header .logo svg {
  width: 54.13vw;
  transition: transform 0.5s, width 0.5s;
}
header .logo svg path {
  fill: currentColor;
  stroke: none;
}
header .cart {
  justify-content: flex-end;
}
header .cart svg {
  width: 4.27vw;
}
@media (max-width: 767px) {
  header .menu a,
header .cart a {
    font-size: 0;
  }
}
@media screen and (min-width: 768px) {
  header {
    align-items: center;
    padding: 4.69vw 3.91vw;
  }
  header .menu i,
header .cart i {
    display: none;
  }
  header .menu {
    margin-top: 0;
  }
  header .logo {
    flex: 2;
    position: relative;
  }
  header .logo svg {
    position: absolute;
    top: 50%;
    left: 50%;
    margin-top: -2.64vw;
    margin-left: -13.18vw;
    width: 26.27vw;
  }
}
@media screen and (min-width: 1024px) {
  header {
    padding: 3.33vw 2.78vw;
  }
  header .account {
    flex: 1;
    display: block;
    text-align: right;
  }
  header .account ~ .cart {
    flex: 1;
  }
  header .view {
    flex: 1;
    display: block;
  }
  header .view .select {
    position: relative;
    pointer-events: all;
  }
  header .view .select.has-selection .option.is-active {
    transition: opacity 0.35s, transform 0.35s;
  }
  header .view .select.has-selection .option.is-active i {
    opacity: 1;
    transition: opacity 0.35s linear 0.25s;
  }
  header .view .select.has-selection .option.is-active:hover {
    opacity: 0.5;
  }
  header .view .select.has-selection .option.is-active:active {
    transform: scale(0.95);
    opacity: 0.75;
    transition: opacity 0.15s, transform 0.15s;
  }
  header .view .select.is-selecting .p,
header .view .select.is-selecting .option:not(.is-active) {
    opacity: 1;
    pointer-events: inherit;
  }
  header .view .select.is-selecting span {
    transition: opacity 0.5s, transform 0.5s;
  }
  header .view .select.is-selecting li:active span {
    transform: scale(0.95);
    opacity: 0.75;
    transition: opacity 0.15s, transform 0.15s;
  }
  header .view .select.is-selecting li.is-hovered span {
    opacity: 0.5;
  }
  header .view .select.is-selecting li.is-unhovered span {
    opacity: 1;
  }
  header .view .select.is-selecting .p {
    transition: opacity 0.5s linear 0.05s;
  }
  header .view .select.is-selecting .option {
    transform: translateY(calc(var(--index) * 200%));
    transition: opacity 0.5s, transform 0.5s;
  }
  header .view .select.is-selecting .option:not(.is-active) {
    transition: opacity 0.5s linear 0.15s, transform 0.5s;
  }
  header .view .select.is-selecting .option i {
    opacity: 0;
  }
  header .view span {
    display: flex;
    align-items: center;
    justify-content: flex-start;
  }
  header .view i {
    position: relative;
    width: 1.95vw;
    transition: opacity 0.15s;
  }
  header .view i:before, header .view i:after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    width: 25%;
    height: 1px;
    background-color: currentColor;
  }
  header .view i:before {
    left: 30%;
    transform: rotate(45deg);
  }
  header .view i:after {
    right: 30%;
    transform: rotate(-45deg);
  }
  header .view .p,
header .view .option {
    opacity: 0;
    cursor: pointer;
    pointer-events: none;
    transition: opacity 0.25s, transform 0.25s;
  }
  header .view .p {
    line-height: 0.83vw;
    font-style: italic;
  }
  header .view .p span {
    font-size: 0.8em;
  }
  header .view .p i {
    transform: translateY(0.14vw) rotate(180deg);
  }
  header .view .option {
    position: absolute;
    top: 0;
    left: 0;
  }
  header .view .option.is-active {
    opacity: 1;
    pointer-events: initial;
  }
  header .menu {
    flex: 1;
  }
  header .logo {
    flex: 4;
  }
  header .logo svg {
    margin-top: -1.88vw;
    margin-left: -9.38vw;
    width: 18.68vw;
  }
}

.main .hero,
.main .hero-flexible-module {
  display: flex;
  align-items: flex-end;
  position: relative;
  min-height: 80vh;
}
.main .hero > a,
.main .hero-flexible-module > a {
  width: 100%;
}
.main .hero .video,
.main .hero .image,
.main .hero .media,
.main .hero picture,
.main .hero video,
.main .hero img,
.main .hero-flexible-module .video,
.main .hero-flexible-module .image,
.main .hero-flexible-module .media,
.main .hero-flexible-module picture,
.main .hero-flexible-module video,
.main .hero-flexible-module img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.main .hero video,
.main .hero img,
.main .hero-flexible-module video,
.main .hero-flexible-module img {
  object-fit: cover;
}
.main .hero .text,
.main .hero-flexible-module .text {
  position: relative;
  z-index: 2;
  width: 100%;
  padding: 14.93vw 10.67vw;
  color: #fff;
}
.main .hero h2 + .action,
.main .hero-flexible-module h2 + .action {
  margin-top: 6.4vw;
}
.main .hero.short,
.main .hero-flexible-module.short {
  min-height: 60vh;
}
@media screen and (min-width: 768px) {
  .main .hero,
.main .hero-flexible-module {
    min-height: var(--vp-height);
  }
  .main .hero:not(.head) .text,
.main .hero-flexible-module:not(.head) .text {
    display: flex;
    align-items: flex-end;
  }
  .main .hero .text,
.main .hero-flexible-module .text {
    padding-left: 11.82vw;
    padding-bottom: 8.98vw;
  }
  .main .hero h2,
.main .hero-flexible-module h2 {
    flex: 1;
  }
  .main .hero h2 + .action,
.main .hero-flexible-module h2 + .action {
    margin-top: 0;
  }
  .main .hero .action,
.main .hero-flexible-module .action {
    color: #9F8D6A;
  }
  .main .hero.short,
.main .hero-flexible-module.short {
    min-height: var(--vp-height);
  }
}
@media (min-width: 768px) and (min-height: 720px) {
  .main .hero.short,
.main .hero-flexible-module.short {
    min-height: 80vh;
  }
}
@media screen and (min-width: 1024px) {
  .main .hero .text,
.main .hero-flexible-module .text {
    padding-left: 8.4vw;
    padding-bottom: 6.39vw;
  }
}
.main .hero-flexible-module {
  min-height: 90vh;
}
@media screen and (min-width: 768px) {
  .main .hero-flexible-module {
    min-height: var(--vp-height);
  }
}

.hoverimg .image,
.hoverimgb .image,
.hoverimgt .image,
.hoverimgw .image,
.hoverimgbw .image,
.hoverimgwb .image,
.hoverimgbt .image,
.hoverimgwt .image {
  position: relative;
  overflow: hidden;
}
.hoverimg .image picture,
.hoverimgb .image picture,
.hoverimgt .image picture,
.hoverimgw .image picture,
.hoverimgbw .image picture,
.hoverimgwb .image picture,
.hoverimgbt .image picture,
.hoverimgwt .image picture {
  display: block;
  overflow: hidden;
  background-color: var(--theme-color);
  transition: 0.35s;
}
.hoverimg .image picture.desktop,
.hoverimgb .image picture.desktop,
.hoverimgt .image picture.desktop,
.hoverimgw .image picture.desktop,
.hoverimgbw .image picture.desktop,
.hoverimgwb .image picture.desktop,
.hoverimgbt .image picture.desktop,
.hoverimgwt .image picture.desktop {
  display: none;
}
@media (min-width: 768px) {
  .hoverimg .image picture.mobile,
.hoverimgb .image picture.mobile,
.hoverimgt .image picture.mobile,
.hoverimgw .image picture.mobile,
.hoverimgbw .image picture.mobile,
.hoverimgwb .image picture.mobile,
.hoverimgbt .image picture.mobile,
.hoverimgwt .image picture.mobile {
    display: none;
  }
  .hoverimg .image picture.desktop,
.hoverimgb .image picture.desktop,
.hoverimgt .image picture.desktop,
.hoverimgw .image picture.desktop,
.hoverimgbw .image picture.desktop,
.hoverimgwb .image picture.desktop,
.hoverimgbt .image picture.desktop,
.hoverimgwt .image picture.desktop {
    display: block;
  }
}
.hoverimg .image img,
.hoverimgb .image img,
.hoverimgt .image img,
.hoverimgw .image img,
.hoverimgbw .image img,
.hoverimgwb .image img,
.hoverimgbt .image img,
.hoverimgwt .image img {
  transition: transform 1.5s, opacity 0.3s;
}
.hoverimg:hover .image img,
.hoverimgb:hover .image img,
.hoverimgt:hover .image img,
.hoverimgw:hover .image img,
.hoverimgbw:hover .image img,
.hoverimgwb:hover .image img,
.hoverimgbt:hover .image img,
.hoverimgwt:hover .image img {
  transform: scale(1.025);
}
.hoverimg:hover .carousel,
.hoverimgb:hover .carousel,
.hoverimgt:hover .carousel,
.hoverimgw:hover .carousel,
.hoverimgbw:hover .carousel,
.hoverimgwb:hover .carousel,
.hoverimgbt:hover .carousel,
.hoverimgwt:hover .carousel {
  transform: scale(1.05);
}
.hoverimg:active .image img,
.hoverimgb:active .image img,
.hoverimgt:active .image img,
.hoverimgw:active .image img,
.hoverimgbw:active .image img,
.hoverimgwb:active .image img,
.hoverimgbt:active .image img,
.hoverimgwt:active .image img {
  opacity: 0.5;
}
@media screen and (min-width: 1440px) and (min-height: 560px) {
  .hoverimg:hover .image img,
.hoverimgb:hover .image img,
.hoverimgt:hover .image img,
.hoverimgw:hover .image img,
.hoverimgbw:hover .image img,
.hoverimgwb:hover .image img,
.hoverimgbt:hover .image img,
.hoverimgwt:hover .image img {
    transform: scale(1.025);
  }
}

.main .more {
  padding: 21.33vw 0 20.27vw;
  background-color: #FEFCF8;
}
.main .more .pages {
  display: flex;
  padding: 0 5.33vw;
  overflow-x: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}
.main .more .card + .card {
  margin-left: 5.33vw;
}
.main .more .image {
  width: 55.47vw;
  position: relative;
}
.main .more .image:before {
  content: "";
  display: block;
  width: 100%;
  height: 0;
  padding-top: 125%;
}
.main .more .image picture,
.main .more .image img,
.main .more .image video,
.main .more .image iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.main .more .image video,
.main .more .image img {
  object-fit: cover;
}
.main .more .image + .text {
  margin-top: 5.07vw;
}
.main .more h3 {
  color: #9F8D6A;
}
.main .more h3 + h2 {
  margin-top: 0.53vw;
}
@media screen and (min-width: 768px) {
  .main .more {
    padding: 7.81vw 9.57vw 7.42vw;
  }
  .main .more .pages {
    justify-content: space-between;
    padding: 0;
    overflow: hidden;
  }
  .main .more .card + .card {
    margin-left: 0;
  }
  .main .more .image {
    width: 24.41vw;
  }
  .main .more .image + .text {
    margin-top: 2.73vw;
  }
  .main .more h3 + h2 {
    margin-top: 0.39vw;
  }
}
@media screen and (min-width: 1024px) {
  .main .more {
    padding: 5.56vw 8.4vw 5.28vw;
  }
  .main .more .image {
    width: 23.61vw;
  }
  .main .more .image + .text {
    margin-top: 1.94vw;
  }
  .main .more h3 + h2 {
    margin-top: 0.28vw;
  }
}

nav {
  display: flex;
  flex-direction: column;
  position: fixed;
  z-index: 10;
  top: 0;
  width: 100%;
  height: 0;
  background-color: #FEFCF8;
  overscroll-behavior: contain;
  overflow: hidden;
}
nav.is-open {
  height: 100%;
}
nav.is-compact ~ header {
  background-color: rgba(255, 255, 255, 0.97);
}
nav.is-compact ~ header.white {
  color: var(--theme-color);
}
@media screen and (max-width: 767px) {
  nav.is-compact ~ header .logo svg {
    width: 26.67vw;
  }
}
@media screen and (min-width: 768px) {
  nav.is-compact .top {
    padding: 3.52vw 3.91vw;
  }
  nav.is-compact ~ header {
    padding: 3.52vw 3.91vw;
  }
  nav.is-compact ~ header .logo svg {
    transform: scale(0.75);
  }
}
@media screen and (min-width: 1024px) {
  nav.is-compact .top {
    padding: 2.5vw 2.78vw;
  }
  nav.is-compact ~ header {
    padding: 2.5vw 2.78vw;
  }
  nav.is-compact ~ header .view .select {
    transition: transform 0.35s;
  }
  nav.is-compact ~ header .view .select.is-selecting {
    transform: translateY(-1.67vw);
  }
}
nav.is-hiding ~ header {
  transform: translateY(-100%);
}
@media screen and (min-width: 768px) {
  nav.is-open {
    height: auto;
  }
}
@media screen and (min-width: 1024px) {
  nav.is-open {
    height: 47.5vw;
  }
}
nav .view {
  position: absolute;
  z-index: 3;
  top: 0;
  left: 0;
  padding: 4.53vw 5.33vw;
}
nav .view .select {
  display: flex;
  align-items: center;
  position: relative;
  height: 5.6vw;
  pointer-events: all;
}
nav .view span {
  display: flex;
  align-items: center;
  justify-content: flex-start;
}
nav .view i {
  position: relative;
  transform: rotate(180deg) translateY(-1px);
  margin-left: 1.95vw;
  width: 1.95vw;
  transition: opacity 0.15s;
}
nav .view i:before, nav .view i:after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  width: 100%;
  height: 1px;
  background-color: currentColor;
}
nav .view i:before {
  left: 35%;
  transform: rotate(45deg);
}
nav .view i:after {
  right: 35%;
  transform: rotate(-45deg);
}
nav .view .p,
nav .view .option {
  cursor: pointer;
  transition: opacity 0.25s, transform 0.25s;
}
nav .view .p {
  line-height: 0.83vw;
  font-style: italic;
}
nav .view .p span {
  font-size: 0.8em;
}
nav .view .p i {
  transform: translateY(0.14vw) rotate(180deg);
}
nav .view .option {
  display: none;
}
nav .view .option.is-active {
  display: block;
}
nav .view .option i {
  opacity: 1;
}
@media screen and (min-width: 768px) {
  nav .view {
    right: auto;
    left: 0;
    padding: 4.69vw 3.91vw;
  }
  nav .view .select {
    height: auto;
  }
  nav .view i:before, nav .view i:after {
    width: 1.39vw;
  }
  nav .view i:before {
    left: 40%;
  }
  nav .view i:after {
    right: 40%;
  }
}
@media screen and (min-width: 1024px) {
  nav .view {
    display: none;
  }
}
nav .top {
  position: relative;
}
nav .top:after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: rgba(159, 141, 106, 0.16);
}
nav .top ul {
  display: flex;
  padding: 3.73vw 5.33vw;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
nav .top li {
  display: flex;
  white-space: nowrap;
}
nav .top li:first-child {
  margin-left: auto;
}
nav .top li:last-child {
  margin-right: auto;
}
nav .top li a {
  display: block;
  opacity: 0.5;
  transition: opacity 0.5s, transform 0.5s;
}
nav .top li a:active {
  transform: scale(0.95);
  opacity: 0.75;
  transition: opacity 0.15s, transform 0.15s;
}
nav .top li a.is-hovered {
  opacity: 0.5;
}
nav .top li a.is-unhovered {
  opacity: 1;
}
nav .top li a.is-active {
  transform: scale(1);
  opacity: 1;
}
nav .top li + li {
  margin-left: 8.53vw;
}
@media screen and (min-width: 768px) {
  nav .top {
    display: flex;
    align-items: center;
    padding: 4.69vw 3.91vw;
  }
  nav .top:after {
    content: none;
  }
  nav .top ul {
    order: 2;
    flex: 3;
    padding: 0;
    overflow: hidden;
  }
  nav .top li + li {
    margin-left: 5.27vw;
  }
}
@media screen and (min-width: 1024px) {
  nav .top {
    padding: 3.33vw 2.78vw;
  }
  nav .top li + li {
    margin-left: 3.75vw;
  }
}
nav .menu a,
nav .close a {
  display: block;
  transition: opacity 0.5s, transform 0.5s;
}
nav .menu a:hover,
nav .close a:hover {
  opacity: 0.5;
}
nav .menu a:active,
nav .close a:active {
  transform: scale(0.95);
  opacity: 0.75;
  transition: opacity 0.15s, transform 0.15s;
}
nav .menu {
  display: none;
}
@media screen and (min-width: 768px) {
  nav .menu {
    flex: 1;
    order: 1;
    display: flex;
    visibility: hidden;
  }
  nav .menu a {
    display: inline-flex;
  }
}
@media screen and (min-width: 1024px) {
  nav .menu {
    visibility: visible;
  }
}
nav .close {
  display: flex;
  justify-content: center;
  padding: 4.53vw 5.33vw;
}
nav .close i {
  display: block;
  position: relative;
  width: 5.6vw;
  height: 5.6vw;
}
nav .close i:before, nav .close i:after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #9F8D6A;
}
nav .close i:before {
  transform: rotate(45deg);
}
nav .close i:after {
  transform: rotate(-45deg);
}
@media (max-width: 767px) {
  nav .close a {
    font-size: 0;
  }
}
@media screen and (min-width: 768px) {
  nav .close {
    flex: 1;
    order: 3;
    padding: 0;
    justify-content: flex-end;
  }
  nav .close i {
    display: none;
  }
}
nav .sub {
  flex: 1;
  position: relative;
  overflow: auto;
}
@media screen and (min-width: 1024px) {
  nav .sub {
    flex-direction: column;
    align-items: center;
    overflow: hidden;
  }
}
nav .screen {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 0;
  padding: 9.6vw 5.33vw 14.67vw;
  overflow: hidden;
  opacity: 0;
  pointer-events: none;
}
nav .screen.is-active {
  height: auto;
  overflow: auto;
  position: relative;
  opacity: 1;
  pointer-events: initial;
}
nav .screen.is-active .form.is-active,
nav .screen.is-active ul.is-active {
  position: relative;
  opacity: 1;
  pointer-events: initial;
}
@media screen and (min-width: 768px) {
  nav .screen {
    padding: 0 4.39vw 3.91vw;
  }
  nav .screen.is-active {
    overflow: visible;
  }
  nav .screen[data-screen=login], nav .screen[data-screen=contact] {
    display: flex;
    align-items: center;
  }
}
@media screen and (min-width: 1024px) {
  nav .screen {
    padding: 0 7.22vw;
  }
  nav .screen[data-screen=login], nav .screen[data-screen=contact] {
    padding: 3.33vw 10.76vw 0 5.9vw;
  }
}
nav .toggle {
  display: flex;
  position: relative;
  margin: 0 7.73vw;
  background-color: #F6F0E4;
  border-radius: 100vw;
  --active: 0;
}
nav .toggle:before {
  content: "";
  display: block;
  position: absolute;
  transform: translateX(calc(100% * var(--active)));
  z-index: 1;
  width: 50%;
  height: 100%;
  background-color: #9F8D6A;
  border-radius: inherit;
  transition: transform 0.5s cubic-bezier(0.65, 0.05, 0.36, 1);
}
nav .toggle .b {
  flex: 1;
  position: relative;
  z-index: 2;
  padding: 4.27vw;
  text-align: center;
  color: #9F8D6A;
  cursor: pointer;
  transition: color 0.5s linear 0.15s, opacity 0.5s;
}
nav .toggle .b:hover {
  opacity: 0.5;
}
nav .toggle .b.is-active {
  color: #fff;
  opacity: 1;
}
nav .toggle + .links {
  margin-top: 9.6vw;
}
@media screen and (min-width: 768px) {
  nav .toggle {
    margin: 0 auto;
    width: 46.78vw;
  }
  nav .toggle .b {
    padding: 1.56vw;
  }
  nav .toggle + .links {
    margin-top: 4.39vw;
  }
}
@media screen and (min-width: 768px) {
  nav .toggle {
    width: 33.26vw;
  }
  nav .toggle .b {
    padding: 0.9vw 0 1.04vw;
  }
  nav .toggle + .links {
    margin-top: 3.13vw;
  }
}
nav .links {
  position: relative;
}
nav .links:first-child {
  padding-top: 5.33vw;
}
nav .links ul {
  display: grid;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  grid-template-columns: 1fr 1fr;
  column-gap: 4vw;
  row-gap: 9.07vw;
  opacity: 0;
  pointer-events: none;
}
@media (max-width: 767px) {
  nav .links .image {
    position: relative;
  }
  nav .links .image:before {
    content: "";
    display: block;
    width: 100%;
    height: 0;
    padding-top: 69.3042291951%;
  }
  nav .links .image picture,
nav .links .image img,
nav .links .image video,
nav .links .image iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
  nav .links .image video,
nav .links .image img {
    object-fit: cover;
  }
  nav .links .image img {
    object-position: bottom;
  }
}
nav .links .image + .text {
  margin-top: 2.67vw;
}
@media screen and (max-width: 499px) {
  nav .links .text .h4 {
    font-size: 18px;
    line-height: 20px;
  }
}
@media screen and (min-width: 768px) {
  nav .links:first-child {
    padding-top: 1.95vw;
    padding-bottom: 3.91vw;
  }
  nav .links ul {
    display: flex;
    justify-content: center;
    column-gap: 3.06vw;
  }
  nav .links li {
    width: 19.1vw;
  }
  nav .links .image {
    position: relative;
  }
  nav .links .image:before {
    content: "";
    display: block;
    width: 100%;
    height: 0;
    padding-top: 125.0909090909%;
  }
  nav .links .image picture,
nav .links .image img,
nav .links .image video,
nav .links .image iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
  nav .links .image video,
nav .links .image img {
    object-fit: cover;
  }
  nav .links .image + .text {
    margin-top: 2.15vw;
  }
}
@media screen and (min-width: 1024px) {
  nav .links:first-child {
    padding-top: 6.46vw;
    padding-bottom: 0;
  }
  nav .links .image + .text {
    margin-top: 1.53vw;
  }
}
nav .forms {
  position: relative;
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  nav .forms {
    padding-left: 8.33vw;
  }
}
@media screen and (min-width: 768px) {
  nav .forms {
    order: 2;
    width: 50%;
  }
}
@media screen and (min-width: 1024px) {
  nav .forms {
    width: 19.65vw;
    margin-left: 7.85vw;
  }
}
nav .contact .image,
nav .apply .image {
  position: relative;
}
nav .contact .image:before,
nav .apply .image:before {
  content: "";
  display: block;
  width: 100%;
  height: 0;
  padding-top: 55.223880597%;
}
nav .contact .image picture,
nav .contact .image img,
nav .contact .image video,
nav .contact .image iframe,
nav .apply .image picture,
nav .apply .image img,
nav .apply .image video,
nav .apply .image iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
nav .contact .image video,
nav .contact .image img,
nav .apply .image video,
nav .apply .image img {
  object-fit: cover;
}
nav .contact .text,
nav .apply .text {
  color: #9F8D6A;
}
nav .contact h2 + .p,
nav .apply h2 + .p {
  margin-top: 2.13vw;
}
nav .contact .p + .action,
nav .apply .p + .action {
  margin-top: 5.6vw;
}
@media screen and (max-width: 767px) {
  nav .contact,
nav .apply {
    padding-top: 6.13vw;
  }
  nav .contact .image + .text,
nav .apply .image + .text {
    margin-top: 9.33vw;
  }
}
@media screen and (min-width: 768px) {
  nav .contact,
nav .apply {
    order: 1;
    flex: 1;
    padding-bottom: 3.91vw;
  }
  nav .contact h2 + .p,
nav .apply h2 + .p {
    margin-top: 0.78vw;
  }
  nav .contact .p + .action,
nav .apply .p + .action {
    margin-top: 2.05vw;
  }
}
@media screen and (max-width: 1023px) {
  nav .contact .image img,
nav .apply .image img {
    object-position: bottom;
  }
}
@media screen and (min-width: 1024px) {
  nav .contact,
nav .apply {
    display: flex;
    align-items: center;
    padding-bottom: 0;
  }
  nav .contact .image,
nav .apply .image {
    order: 2;
    width: 23.26vw;
  }
  nav .contact .image:before,
nav .apply .image:before {
    padding-top: 125%;
  }
  nav .contact .text,
nav .apply .text {
    order: 1;
    flex: 1;
    padding-right: 8.26vw;
  }
  nav .contact h2 + .p,
nav .apply h2 + .p {
    margin-top: 1.11vw;
  }
  nav .contact .p + .action,
nav .apply .p + .action {
    margin-top: 1.94vw;
  }
}
nav .forms .form {
  position: absolute;
  top: 0;
  left: 0;
  padding-top: 5.33vw;
  width: 100%;
  opacity: 0;
  pointer-events: none;
  color: #9F8D6A;
}
nav .forms .form.is-active {
  position: relative;
  opacity: 1;
}
nav .forms h2 + form {
  margin-top: 11.73vw;
}
nav .forms h2 + .p {
  margin-top: 2.67vw;
}
nav .forms .p + form {
  margin-top: 6.4vw;
}
nav .forms .textbox {
  position: relative;
}
nav .forms .textbox + .textbox {
  margin-top: 5.33vw;
}
nav .forms .textbox + .change {
  margin-top: 2.13vw;
}
nav .forms .change a {
  font-size: 0.8em;
}
nav .forms .change + h2 {
  margin-top: 15.2vw;
}
nav .forms .submit {
  margin-top: 15.2vw;
}
nav .forms label {
  position: absolute;
  left: 0;
  top: 1.07vw;
  transform: translateY(-100%) scale(0.8);
  cursor: text;
  transform-origin: left;
  transition: transform 0.35s, color 0.35s;
  color: var(--theme-color);
}
nav .forms input,
nav .forms button {
  padding: 0;
  border: 0;
  color: currentColor;
  appearance: none;
  -webkit-appearance: none;
  width: 100%;
  outline: none;
}
nav .forms input:placeholder-shown ~ label,
nav .forms button:placeholder-shown ~ label {
  transform: translateY(0) scale(1);
  color: #9F8D6A;
}
nav .forms input:focus ~ label,
nav .forms button:focus ~ label {
  transform: translateY(-100%) scale(0.8);
  color: var(--theme-color);
}
nav .forms input {
  padding: 1.07vw 0;
  border-bottom: 1px solid rgba(159, 141, 106, 0.32);
  background-color: transparent;
}
nav .forms button {
  padding: 5.33vw;
  background-color: var(--theme-color);
  color: #fff;
  border-radius: 100px;
  cursor: pointer;
  transition: opacity 0.5s, transform 0.5s;
}
nav .forms button:hover {
  opacity: 0.75;
}
nav .forms button:active {
  transform: scale(0.975);
  opacity: 0.9;
  transition: opacity 0.15s, transform 0.15s;
}
@media screen and (max-width: 767px) {
  nav .forms + .apply {
    position: relative;
    margin-top: 28.27vw;
  }
  nav .forms + .apply:before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 50%;
    margin-left: -50vw;
    width: 150vw;
    height: 1px;
    background-color: #F3EDE0;
  }
}
@media screen and (min-width: 768px) {
  nav .forms .form {
    padding-top: 0;
  }
  nav .forms h2 + form {
    margin-top: 4.3vw;
  }
  nav .forms h2 + .p {
    margin-top: 0.98vw;
  }
  nav .forms .p + form {
    margin-top: 2.34vw;
  }
  nav .forms .textbox + .textbox {
    margin-top: 1.95vw;
  }
  nav .forms .textbox + .change {
    margin-top: 0.78vw;
  }
  nav .forms .change + h2 {
    margin-top: 2.73vw;
  }
  nav .forms .submit {
    margin-top: 5.57vw;
  }
  nav .forms label {
    top: 0.39vw;
  }
  nav .forms input {
    padding: 0.39vw 0;
  }
  nav .forms button {
    padding: 1.95vw;
  }
}
@media screen and (min-width: 1024px) {
  nav .forms h2 + form {
    margin-top: 3.06vw;
  }
  nav .forms h2 + .p {
    margin-top: 0.69vw;
  }
  nav .forms .p + form {
    margin-top: 1.67vw;
  }
  nav .forms .textbox + .textbox {
    margin-top: 1.39vw;
  }
  nav .forms .textbox + .change {
    margin-top: 0.56vw;
  }
  nav .forms .change + h2 {
    margin-top: 1.94vw;
  }
  nav .forms .submit {
    margin-top: 3.96vw;
  }
  nav .forms label {
    top: 0.28vw;
  }
  nav .forms input {
    padding: 0.28vw 0;
  }
  nav .forms button {
    width: auto;
    padding: 0.69vw 2.57vw;
  }
}
nav .apply .action {
  color: var(--theme-color);
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  nav .apply .image .mobile {
    display: block;
  }
  nav .apply .image .desktop {
    display: block;
  }
  nav .apply .image + .text {
    margin-top: 3.42vw;
  }
}
nav .visit {
  padding: 15.73vw 0;
}
nav .visit .text {
  color: #9F8D6A;
}
nav .visit h2 + h3 {
  margin-top: 2.13vw;
}
nav .visit h3 {
  font-family: ivypresto-display, serif;
  font-weight: 100;
  font-style: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: italic;
  font-size: 26px;
  line-height: 44px;
  letter-spacing: 0.02em;
}
@media screen and (min-width: 500px) {
  nav .visit h3 {
    font-size: 5.2vw;
    line-height: 8.8vw;
  }
}
@media screen and (min-width: 768px) {
  nav .visit h3 {
    font-size: 3.39vw;
    line-height: 5.73vw;
  }
}
@media screen and (min-width: 1024px) {
  nav .visit h3 {
    font-size: 1.81vw;
    line-height: 1.69;
  }
}
nav .visit .p + .action {
  margin-top: 5.6vw;
}
nav .visit .action {
  color: var(--theme-color);
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  nav .visit {
    padding-top: 0;
    padding-bottom: 0;
    padding-right: 0;
  }
}
@media screen and (min-width: 768px) {
  nav .visit h2 + h3 {
    margin-top: 1.66vw;
  }
  nav .visit .p + .action {
    margin-top: 2.05vw;
  }
}
@media screen and (min-width: 1024px) {
  nav .visit {
    padding: 0;
  }
  nav .visit h2 + h3 {
    margin-top: 1.18vw;
  }
  nav .visit .p + .action {
    margin-top: 1.46vw;
  }
}
nav .visit {
  position: relative;
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  nav .visit {
    padding-left: 8.33vw;
  }
}
@media screen and (min-width: 768px) {
  nav .visit {
    order: 2;
    width: 50%;
  }
}
@media screen and (min-width: 1024px) {
  nav .visit {
    width: 19.65vw;
    margin-left: 7.85vw;
  }
}
nav .contact .action {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
nav .contact .action a {
  font-family: ivypresto-display, serif;
  font-weight: 100;
  font-style: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: italic;
  font-size: 26px;
  line-height: 44px;
  letter-spacing: 0.02em;
  transition: opacity 0.5s, transform 0.5s;
}
nav .contact .action a:hover {
  opacity: 0.5;
}
nav .contact .action a:active {
  transform: scale(0.95);
  opacity: 0.75;
  transition: opacity 0.15s, transform 0.15s;
}
@media screen and (min-width: 500px) {
  nav .contact .action a {
    font-size: 5.2vw;
    line-height: 8.8vw;
  }
}
@media screen and (min-width: 768px) {
  nav .contact .action a {
    font-size: 3.39vw;
    line-height: 5.73vw;
  }
}
@media screen and (min-width: 1024px) {
  nav .contact .action a {
    font-size: 1.81vw;
    line-height: 1.69;
  }
}
@media screen and (max-width: 1023px) {
  nav .contact .image {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  nav .contact + .visit {
    position: relative;
    margin-top: 15.73vw;
  }
  nav .contact + .visit:before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 50%;
    margin-left: -50vw;
    width: 150vw;
    height: 1px;
    background-color: #F3EDE0;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  nav .contact {
    display: flex;
    flex-direction: column;
  }
  nav .contact .image {
    order: 1;
  }
  nav .contact .image .mobile {
    display: block;
  }
  nav .contact .image .desktop {
    display: block;
  }
  nav .contact .text {
    order: 2;
    margin-top: 3.42vw;
  }
}
nav .badge i {
  display: block;
  margin: 0 auto 5.33vw;
  width: 14.67vw;
}
@media screen and (min-width: 768px) {
  nav .badge {
    margin-top: 5.18vw;
  }
  nav .badge i {
    display: none;
  }
}
@media screen and (min-width: 1024px) {
  nav .badge {
    display: none;
  }
}

.mobile-entry {
  position: fixed;
  z-index: 100;
  top: 0;
  left: 0;
  width: 100vw;
  height: var(--vp-height);
  pointer-events: none;
}
@media screen and (min-width: 1024px) {
  .mobile-entry {
    display: none;
  }
}
@media screen and (max-width: 1023px) {
  .mobile-entry.ready .section {
    transform: translateX(0);
    opacity: 1;
    transition: 0.75s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  }
  .mobile-entry.ready .section a:before {
    opacity: 1;
    transform: translateX(0);
    transition: opacity 1s linear, transform 1s cubic-bezier(0.55, 0.06, 0.68, 0.19);
  }
  .mobile-entry.ready .section .label {
    opacity: 1;
    transition: 1s cubic-bezier(0.25, 0.46, 0.45, 0.94) 1s;
  }
}
@media screen and (min-width: 1024px) {
  .mobile-entry.ready .section a:before {
    opacity: 0;
    transition: 0.35s cubic-bezier(0.55, 0.06, 0.68, 0.19);
  }
  .mobile-entry.ready .section a:hover {
    pointer-events: all;
  }
  .mobile-entry.ready .section a:hover:before {
    opacity: 1;
    transform: translateX(0);
    transition: 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  }
  .mobile-entry.ready .section a:hover .label {
    transform: translateX(0);
    opacity: 1;
    transition: 1s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  }
  .mobile-entry.ready .section .label {
    transform: translateX(0);
    opacity: 1;
    transition: 1s cubic-bezier(0.25, 0.46, 0.45, 0.94) 1.1s;
  }
}
.mobile-entry .sections {
  display: flex;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.mobile-entry .sections.is-loading + .logo {
  transform: scale(0.975);
  opacity: 0;
  transition: transform 0.5s linear 0.25s, opacity 0.5s linear 0.25s;
}
@media screen and (max-width: 1023px) {
  .mobile-entry .sections {
    flex-direction: column;
  }
  .mobile-entry .sections.is-loading .section.is-selected a:before {
    height: 200%;
    transition: height 1s cubic-bezier(0.55, 0.06, 0.68, 0.19);
  }
}
@media screen and (min-width: 1024px) {
  .mobile-entry .sections.is-loading .section.is-selected a:before {
    width: 200%;
    transition: width 1s cubic-bezier(0.55, 0.06, 0.68, 0.19);
  }
}
.mobile-entry .section {
  flex: 1;
  position: relative;
  color: #fff;
}
.mobile-entry .section.is-selected {
  z-index: 2;
}
.mobile-entry .section.is-selected .label {
  opacity: 0;
  transition: 1s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.mobile-entry .section--ad {
  transform: translateX(-50%);
}
.mobile-entry .section--ad a:before {
  transform: translateX(-5%);
  top: 0;
  left: 0;
  background-color: #CFA85F;
}
.mobile-entry .section--aviation {
  transform: translateX(50%);
}
.mobile-entry .section--aviation a:before {
  transform: translateX(5%);
  bottom: 0;
  right: 0;
  background-color: #1C5040;
}
.mobile-entry .section a {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.mobile-entry .section a:before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  opacity: 0;
}
.mobile-entry .section .label {
  position: relative;
  z-index: 2;
  padding: 2em 3em;
  pointer-events: all;
  border-radius: 100%;
  opacity: 0;
}
@media screen and (min-width: 1024px) {
  .mobile-entry .section--ad {
    transform: translateX(0);
  }
  .mobile-entry .section--ad .label {
    transform: translateX(-5%);
  }
  .mobile-entry .section--aviation {
    transform: translateX(0);
  }
  .mobile-entry .section--aviation .label {
    transform: translateX(5%);
  }
  .mobile-entry .section a {
    pointer-events: none;
  }
}
.mobile-entry .logo {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
  color: #fff;
  pointer-events: none;
}
.mobile-entry .logo svg {
  transform: translateY(20px);
  width: 54.13vw;
  opacity: 0;
}
.mobile-entry .logo svg path {
  fill: currentColor;
  stroke-width: 0.035em;
}
@media screen and (max-width: 1023px) {
  .mobile-entry .logo svg {
    margin-top: 0.05em;
  }
}
@media screen and (min-width: 1024px) {
  .mobile-entry .logo svg {
    width: 26.27vw;
  }
  .mobile-entry .logo svg path {
    stroke-width: 0.0175em;
  }
}
@media screen and (min-width: 1024px) {
  .mobile-entry .logo svg {
    width: 18.68vw;
  }
}

.main.basic {
  padding: 36.8vw 5.33vw 26.67vw;
  color: #9F8D6A;
}
@media screen and (min-width: 768px) {
  .main.basic {
    padding: 13.48vw 5.86vw 11.23vw;
  }
}
@media screen and (min-width: 1024px) {
  .main.basic {
    padding: 12.5vw 20.83vw 7.99vw 20.83vw;
  }
}
@media screen and (min-width: 1440px) and (min-height: 560px) {
  .main.basic {
    padding-left: 23.4vw;
    padding-right: 31.53vw;
  }
}

.main.care .intro {
  padding: 34.93vw 5.33vw 20.27vw;
}
.main.care .intro .header + .body {
  margin-top: 14.67vw;
}
.main.care .intro .images {
  display: flex;
}
.main.care .intro .images + .text {
  margin-top: 14.13vw;
}
.main.care .intro .image {
  flex: 1;
  position: relative;
}
.main.care .intro .image:before {
  content: "";
  display: block;
  width: 100%;
  height: 0;
  padding-top: 125%;
}
.main.care .intro .image picture,
.main.care .intro .image img,
.main.care .intro .image video,
.main.care .intro .image iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.main.care .intro .image video,
.main.care .intro .image img {
  object-fit: cover;
}
.main.care .intro .image + .image {
  margin-left: 5.07vw;
}
.main.care .intro .text {
  text-align: center;
}
.main.care .intro h1 {
  margin: auto;
  width: 80%;
}
.main.care .intro h1 + .p {
  margin-top: 2.13vw;
}
.main.care .intro h2 {
  margin: auto;
  width: 80%;
}
.main.care .intro h2 + .p {
  margin-top: 2.13vw;
}
.main.care .intro .p {
  color: #9F8D6A;
}
.main.care .intro .p + .action {
  margin-top: 6.4vw;
}
.main.care .intro .action a {
  transition: opacity 0.5s, transform 0.5s;
}
.main.care .intro .action a:hover {
  opacity: 0.75;
}
.main.care .intro .action a:active {
  transform: scale(0.975);
  opacity: 0.9;
  transition: opacity 0.15s, transform 0.15s;
}
@media screen and (min-width: 768px) {
  .main.care .intro {
    padding: 17.48vw 10.84vw 9.77vw;
  }
  .main.care .intro .header + .body {
    margin-top: 7.13vw;
  }
  .main.care .intro .images + .text {
    margin-top: 8.11vw;
  }
  .main.care .intro .image + .image {
    margin-left: 9.77vw;
  }
  .main.care .intro .text {
    padding: 0 9.77vw;
  }
  .main.care .intro h2 + .p {
    margin-top: 2.15vw;
  }
}
@media screen and (min-width: 1024px) {
  .main.care .intro {
    padding: 12.43vw 13.61vw 6.94vw;
  }
  .main.care .intro .header + .body {
    margin-top: 5.07vw;
  }
  .main.care .intro .images + .text {
    margin-top: 5.76vw;
  }
  .main.care .intro .image + .image {
    margin-left: 8.96vw;
  }
  .main.care .intro .text {
    padding: 0 12.64vw;
  }
  .main.care .intro h2 + .p {
    margin-top: 1.53vw;
  }
}
.main.care .methods {
  background-color: #FEFCF8;
}
.main.care .methods .header {
  padding: 21.33vw 5.33vw;
  text-align: center;
}
.main.care .methods .header h2 {
  margin: auto;
  width: 70%;
}
.main.care .methods h2 + .p {
  margin-top: 2.13vw;
}
.main.care .methods h3 + .basic {
  margin-top: 1.6vw;
}
.main.care .methods .p + .actions {
  margin-top: 9.07vw;
}
.main.care .methods .p, .main.care .methods .basic {
  color: #9F8D6A;
}
.main.care .methods .basic + h3 {
  margin-top: 7.73vw;
}
.main.care .methods .actions {
  display: flex;
  flex-direction: column;
}
.main.care .methods .actions a + a {
  margin-top: 4vw;
}
.main.care .methods .method {
  position: relative;
  padding: 14.4vw 5.33vw 15.73vw;
}
.main.care .methods .method:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: rgba(159, 141, 106, 0.16);
}
.main.care .methods .method:first-child {
  padding-top: 19.47vw;
}
@media screen and (min-width: 768px) {
  .main.care .methods .header {
    padding: 9.77vw 20.61vw 9.57vw;
  }
  .main.care .methods .header h2 {
    width: 100%;
  }
  .main.care .methods h2 + .p {
    margin-top: 2.15vw;
  }
  .main.care .methods h3 + .basic {
    margin-top: 0.88vw;
  }
  .main.care .methods .p + .actions {
    margin-top: 3.42vw;
  }
  .main.care .methods .basic + h3 {
    margin-top: 2.83vw;
  }
  .main.care .methods .actions {
    align-items: center;
  }
  .main.care .methods .actions a + a {
    margin-top: 1.46vw;
  }
  .main.care .methods .method {
    padding: 5.27vw 14.65vw 5.76vw;
  }
  .main.care .methods .method:first-child {
    padding-top: 5.27vw;
  }
  .main.care .methods .method:last-child {
    padding-bottom: 11.82vw;
  }
}
@media screen and (min-width: 1024px) {
  .main.care .methods .header {
    padding: 6.94vw 27.5vw 6.81vw;
  }
  .main.care .methods h2 + .p {
    margin-top: 1.53vw;
  }
  .main.care .methods h3 + .basic {
    margin-top: 0.63vw;
  }
  .main.care .methods .p + .actions {
    margin-top: 2.43vw;
  }
  .main.care .methods .basic + h3 {
    margin-top: 2.01vw;
  }
  .main.care .methods .actions a + a {
    margin-top: 1.04vw;
  }
  .main.care .methods .method {
    padding: 3.75vw 30.14vw 4.1vw 24.03vw;
  }
  .main.care .methods .method:before {
    left: 6.5%;
    width: 87%;
  }
  .main.care .methods .method:first-child {
    padding-top: 3.75vw;
  }
  .main.care .methods .method:last-child {
    padding-bottom: 8.4vw;
  }
}
.main.care .help {
  padding: 13.6vw 0 15.73vw;
  background-color: var(--theme-color);
  color: #fff;
}
.main.care .help .header {
  padding: 0 5.33vw;
}
.main.care .help .header + .body {
  margin-top: 5.33vw;
}
.main.care .help .cards {
  display: flex;
  padding: 0 5.33vw;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.main.care .help .card + .card {
  margin-left: 5.33vw;
}
.main.care .help .image {
  width: 55.47vw;
  position: relative;
}
.main.care .help .image:before {
  content: "";
  display: block;
  width: 100%;
  height: 0;
  padding-top: 125%;
}
.main.care .help .image picture,
.main.care .help .image img,
.main.care .help .image video,
.main.care .help .image iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.main.care .help .image video,
.main.care .help .image img {
  object-fit: cover;
}
.main.care .help .image + .text {
  margin-top: 3.73vw;
}
.main.care .help h2 + h3 {
  margin-top: 4vw;
}
@media screen and (min-width: 768px) {
  .main.care .help {
    padding: 7.81vw 9.57vw 7.42vw;
  }
  .main.care .help .cards {
    justify-content: space-between;
    padding: 0;
    overflow: visible;
  }
  .main.care .help .header {
    padding: 0 14.17vw;
    text-align: center;
  }
  .main.care .help .header + .body {
    margin-top: 3.89vw;
  }
  .main.care .help .card {
    width: 24.41vw;
  }
  .main.care .help .card + .card {
    margin-left: 0;
  }
  .main.care .help .image {
    width: 100%;
  }
  .main.care .help .image + .text {
    margin-top: 2.73vw;
  }
  .main.care .help h2 + h3 {
    margin-top: 1.46vw;
  }
}
@media screen and (min-width: 1024px) {
  .main.care .help {
    padding: 5.83vw 14.17vw 4.86vw;
  }
  .main.care .help .header {
    padding: 0 14.17vw;
  }
  .main.care .help .header + .body {
    margin-top: 3.89vw;
  }
  .main.care .help .card {
    width: 19.1vw;
  }
  .main.care .help .image + .text {
    margin-top: 1.53vw;
  }
  .main.care .help h2 + h3 {
    margin-top: 1.6vw;
  }
}
.main.care ~ .newsletter,
.main.care ~ footer {
  position: relative;
}
.main.care ~ .newsletter:before,
.main.care ~ footer:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: rgba(255, 255, 255, 0.27);
}

.main.careers .intro {
  padding: 20.27vw 5.33vw;
}
.main.careers .intro .image + .text {
  margin-top: 13.33vw;
}
.main.careers .intro h1 + .p {
  margin-top: 5.07vw;
}
.main.careers .intro .p {
  color: #9F8D6A;
}
.main.careers .intro + .roles {
  position: relative;
}
.main.careers .intro + .roles:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: rgba(159, 141, 106, 0.16);
}
@media screen and (min-width: 768px) {
  .main.careers .intro {
    display: flex;
    align-items: flex-start;
    padding: 14.26vw 9.77vw 10.84vw 9.77vw;
  }
  .main.careers .intro .image {
    order: 2;
    width: 40%;
  }
  .main.careers .intro .image + .text {
    margin-top: 0;
  }
  .main.careers .intro .text {
    order: 1;
    flex: 1;
    padding-right: 9.77vw;
  }
  .main.careers .intro h1 + .p {
    margin-top: 5.47vw;
  }
}
@media screen and (min-width: 1024px) {
  .main.careers .intro {
    align-items: center;
    padding: 10.14vw 12.71vw 7.71vw 13.61vw;
  }
  .main.careers .intro .image {
    width: 33.33vw;
  }
  .main.careers .intro .text {
    padding-right: 10.56vw;
  }
  .main.careers .intro h1 + .p {
    margin-top: 3.89vw;
  }
  .main.careers .intro + .roles:before {
    left: 6.5%;
    width: 87%;
  }
}
.main.careers .roles {
  padding: 21.33vw 5.33vw 25.87vw;
}
.main.careers .roles .header {
  color: #9F8D6A;
}
.main.careers .roles .header + .body {
  margin-top: 7.47vw;
}
.main.careers .roles .role {
  font-size: 0;
}
.main.careers .roles .role a {
  display: inline-block;
  transition: 0.5s;
}
.main.careers .roles .role a:hover {
  opacity: 0.5;
}
.main.careers .roles .role a:active {
  transform: scale(0.95);
  opacity: 0.75;
  transition: 0.15s;
}
.main.careers .roles .role + .role {
  margin-top: 6.93vw;
}
.main.careers .roles h3 {
  color: #9F8D6A;
}
.main.careers .roles h3 + h4 {
  margin-top: 2.4vw;
}
@media screen and (min-width: 768px) {
  .main.careers .roles {
    padding: 9.77vw 9.77vw 12.99vw;
  }
  .main.careers .roles .header + .body {
    margin-top: 2.83vw;
  }
  .main.careers .roles .role + .role {
    margin-top: 3.42vw;
  }
  .main.careers .roles h3 + h4 {
    margin-top: 1.37vw;
  }
}
@media screen and (min-width: 1024px) {
  .main.careers .roles {
    padding: 6.94vw 13.61vw 9.24vw;
  }
  .main.careers .roles .header + .body {
    margin-top: 2.01vw;
  }
  .main.careers .roles .role + .role {
    margin-top: 2.43vw;
  }
  .main.careers .roles h3 + h4 {
    margin-top: 0.97vw;
  }
}

.main.craftsmanship .intro:before {
  content: "";
  display: block;
  position: absolute;
  z-index: 5;
  top: 0;
  left: 0;
  width: 100%;
  height: 20%;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0.75), rgba(0, 0, 0, 0));
  opacity: 0.5;
}
.main.craftsmanship .intro .media {
  position: relative;
  min-height: 66vh;
}
.main.craftsmanship .intro .media video,
.main.craftsmanship .intro .media img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.main.craftsmanship .intro .media .sizer {
  position: relative;
  width: 100%;
  height: auto;
  --pad: 50%;
}
.main.craftsmanship .intro .media .sizer:before {
  content: "";
  display: block;
  position: relative;
  width: 100%;
  height: 0;
  padding-top: var(--pad);
}
.main.craftsmanship .intro .media video.desktop ~ picture.desktop {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.main.craftsmanship .intro .media video.desktop.is-loaded ~ picture.desktop {
  opacity: 0;
  transition: 0.35s;
}
.main.craftsmanship .intro .media video.mobile ~ picture.mobile {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.main.craftsmanship .intro .media video.mobile.is-loaded ~ picture.mobile {
  opacity: 0;
  transition: 0.35s;
}
.main.craftsmanship .intro .text {
  position: relative;
  padding: 21.33vw 5.33vw 20.27vw;
}
.main.craftsmanship .intro h1 {
  position: absolute;
  bottom: 100%;
  padding: 14.93vw 4.27vw;
  color: #fff;
}
.main.craftsmanship .intro .p {
  color: #9F8D6A;
}
@media screen and (min-width: 768px) {
  .main.craftsmanship .intro .media {
    position: relative;
    min-height: 0;
  }
  .main.craftsmanship .intro .media video,
.main.craftsmanship .intro .media img {
    max-height: var(--vp-height);
  }
  .main.craftsmanship .intro .media img {
    position: static;
  }
  .main.craftsmanship .intro .text {
    text-align: center;
    padding: 10.45vw 17.09vw 11.13vw;
  }
  .main.craftsmanship .intro h1 {
    position: static;
    padding: 0;
    color: inherit;
  }
  .main.craftsmanship .intro h1 + .p {
    margin-top: 2.93vw;
  }
}
@media screen and (min-width: 1024px) {
  .main.craftsmanship .intro .text {
    padding: 7.43vw 24.31vw 7.92vw;
  }
  .main.craftsmanship .intro h1 + .p {
    margin-top: 2.08vw;
  }
}
.main.craftsmanship .modules {
  padding: 21.33vw 5.33vw 20.27vw;
}
.main.craftsmanship .modules .module + .module {
  margin-top: 20.27vw;
}
.main.craftsmanship .modules a {
  pointer-events: none;
}
.main.craftsmanship .modules .image {
  position: relative;
  pointer-events: all;
}
.main.craftsmanship .modules .image:before {
  content: "";
  display: block;
  width: 100%;
  height: 0;
  padding-top: 65.9701492537%;
}
.main.craftsmanship .modules .image picture,
.main.craftsmanship .modules .image img,
.main.craftsmanship .modules .image video,
.main.craftsmanship .modules .image iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.main.craftsmanship .modules .image video,
.main.craftsmanship .modules .image img {
  object-fit: cover;
}
.main.craftsmanship .modules .image + .text {
  margin-top: 9.07vw;
}
.main.craftsmanship .modules h2,
.main.craftsmanship .modules .p {
  color: #9F8D6A;
}
.main.craftsmanship .modules h2 + .p {
  margin-top: 2.4vw;
}
.main.craftsmanship .modules .p + .action {
  margin-top: 6.4vw;
}
.main.craftsmanship .modules .link {
  pointer-events: all;
}
@media screen and (min-width: 768px) {
  .main.craftsmanship .modules {
    padding: 11.72vw 7.32vw 13.09vw 6.25vw;
  }
  .main.craftsmanship .modules .module + .module {
    margin-top: 11.72vw;
  }
  .main.craftsmanship .modules a {
    display: flex;
    align-items: flex-start;
  }
  .main.craftsmanship .modules .image {
    width: 50%;
  }
  .main.craftsmanship .modules .image + .text {
    margin-top: 0;
  }
  .main.craftsmanship .modules .text {
    flex: 1;
    padding-left: 5.86vw;
  }
  .main.craftsmanship .modules h2 + .p {
    margin-top: 1.37vw;
  }
  .main.craftsmanship .modules .p + .action {
    margin-top: 3.42vw;
  }
}
@media screen and (min-width: 1024px) {
  .main.craftsmanship .modules {
    padding: 8.33vw 10.42vw 9.31vw 8.61vw;
  }
  .main.craftsmanship .modules .module + .module {
    margin-top: 8.33vw;
  }
  .main.craftsmanship .modules a {
    align-items: center;
  }
  .main.craftsmanship .modules .image {
    width: 43.06vw;
  }
  .main.craftsmanship .modules .text {
    padding-left: 8.19vw;
  }
  .main.craftsmanship .modules h2 + .p {
    margin-top: 0.97vw;
  }
  .main.craftsmanship .modules .p + .action {
    margin-top: 2.43vw;
  }
}
.main.craftsmanship .materials {
  padding: 21.33vw 0 20.27vw;
}
.main.craftsmanship .materials .header,
.main.craftsmanship .materials .footer {
  padding: 0 5.33vw;
}
.main.craftsmanship .materials .header + .body {
  margin-top: 10.13vw;
}
.main.craftsmanship .materials .body + .footer {
  margin-top: 16.8vw;
}
.main.craftsmanship .materials .cards {
  display: flex;
  padding: 0 5.33vw;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.main.craftsmanship .materials .card + .card {
  margin-left: 5.33vw;
}
.main.craftsmanship .materials .image {
  width: 55.47vw;
  position: relative;
}
.main.craftsmanship .materials .image:before {
  content: "";
  display: block;
  width: 100%;
  height: 0;
  padding-top: 125%;
}
.main.craftsmanship .materials .image picture,
.main.craftsmanship .materials .image img,
.main.craftsmanship .materials .image video,
.main.craftsmanship .materials .image iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.main.craftsmanship .materials .image video,
.main.craftsmanship .materials .image img {
  object-fit: cover;
}
.main.craftsmanship .materials .image + .text {
  margin-top: 5.07vw;
}
.main.craftsmanship .materials h2 + .p {
  margin-top: 8.53vw;
}
.main.craftsmanship .materials h3 + .p {
  margin-top: 0.53vw;
}
.main.craftsmanship .materials .p {
  color: #9F8D6A;
}
@media screen and (min-width: 768px) {
  .main.craftsmanship .materials {
    padding: 10.35vw 5.86vw 11.43vw;
  }
  .main.craftsmanship .materials .header,
.main.craftsmanship .materials .footer {
    text-align: center;
  }
  .main.craftsmanship .materials .header + .body {
    margin-top: 7.03vw;
  }
  .main.craftsmanship .materials .body + .footer {
    margin-top: 9.86vw;
  }
  .main.craftsmanship .materials .footer {
    padding: 0 11.23vw;
  }
  .main.craftsmanship .materials .cards {
    justify-content: space-between;
    padding: 0;
    overflow: hidden;
  }
  .main.craftsmanship .materials .card {
    width: 33.33%;
  }
  .main.craftsmanship .materials .card + .card {
    margin-left: 8.59vw;
    margin-left: 3.91vw;
  }
  .main.craftsmanship .materials .image {
    width: 100%;
  }
  .main.craftsmanship .materials .image + .text {
    margin-top: 2.73vw;
  }
  .main.craftsmanship .materials h2 + .p {
    margin-top: 3.13vw;
  }
  .main.craftsmanship .materials h3 + .p {
    margin-top: 0.68vw;
  }
}
@media screen and (min-width: 1024px) {
  .main.craftsmanship .materials {
    padding: 7.36vw 8.33vw 8.13vw;
  }
  .main.craftsmanship .materials .header + .body {
    margin-top: 5vw;
  }
  .main.craftsmanship .materials .body + .footer {
    margin-top: 7.01vw;
  }
  .main.craftsmanship .materials .footer {
    padding: 0 15.97vw;
  }
  .main.craftsmanship .materials .card + .card {
    margin-left: 6.11vw;
  }
  .main.craftsmanship .materials .image + .text {
    margin-top: 1.94vw;
  }
  .main.craftsmanship .materials h2 + .p {
    margin-top: 2.22vw;
  }
  .main.craftsmanship .materials h3 + .p {
    margin-top: 0.49vw;
  }
}

.main.faq .page {
  padding: 36.8vw 0 28.8vw;
}
.main.faq .page .header {
  padding: 0 5.33vw;
}
.main.faq .page .header + .body {
  margin-top: 5.87vw;
}
.main.faq .page .sidebar ul {
  display: flex;
  padding: 3.73vw 5.33vw;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.main.faq .page .sidebar li {
  white-space: nowrap;
}
.main.faq .page .sidebar li a {
  opacity: 0.5;
}
.main.faq .page .sidebar li a.is-active {
  opacity: 1;
}
.main.faq .page .sidebar li + li {
  margin-left: 8.53vw;
}
.main.faq .page .b {
  border-top: 1px solid rgba(159, 141, 106, 0.16);
}
.main.faq .page .c {
  color: #9F8D6A;
  padding: 14.93vw 5.33vw 21.33vw;
}
.main.faq .page .c:last-child {
  padding-bottom: 0;
}
.main.faq .page .c + .c {
  border-top: 1px solid rgba(159, 141, 106, 0.16);
}
.main.faq .page h2 + h3 {
  margin-top: 8.27vw;
}
.main.faq .page h3 + .p {
  margin-top: 1.87vw;
}
.main.faq .page .p + h3 {
  margin-top: 8vw;
}
@media screen and (min-width: 500px) {
  .main.faq .page {
    padding-top: 28vw;
  }
}
@media screen and (min-width: 768px) {
  .main.faq .page {
    padding: 13.48vw 0 12.21vw;
  }
  .main.faq .page .header {
    padding: 0 5.86vw;
    color: #9F8D6A;
  }
  .main.faq .page .header + .body {
    margin-top: 0;
  }
  .main.faq .page .body {
    display: flex;
    align-items: flex-start;
    padding: 1.66vw 5.86vw 0 5.86vw;
  }
  .main.faq .page .sidebar {
    flex: 1;
    position: sticky;
    top: 8.98vw;
    padding-top: 7.32vw;
  }
  .main.faq .page .sidebar ul {
    display: flex;
    flex-direction: column;
    padding: 0;
    overflow-x: visible;
  }
  .main.faq .page .sidebar li {
    display: flex;
  }
  .main.faq .page .sidebar li a {
    color: #9F8D6A;
    opacity: 1;
    transition: color 0.35s, opacity 0.5s, transform 0.5s;
  }
  .main.faq .page .sidebar li a:hover {
    opacity: 0.5;
  }
  .main.faq .page .sidebar li a:active {
    transform: scale(0.95);
    opacity: 0.75;
    transition: opacity 0.15s, transform 0.15s;
  }
  .main.faq .page .sidebar li a.is-active {
    opacity: 1;
    color: var(--theme-color);
  }
  .main.faq .page .sidebar li + li {
    margin-top: 2.54vw;
    margin-left: 0;
  }
  .main.faq .page .b {
    border-top: 0;
    padding: 0;
    width: 91.89vw;
  }
  .main.faq .page .c {
    color: #9F8D6A;
    padding: 7.32vw 2.73vw 7.71vw 8.59vw;
  }
  .main.faq .page h2 + h3 {
    margin-top: 2.05vw;
  }
  .main.faq .page h3 + .p {
    margin-top: 1.17vw;
  }
  .main.faq .page .p + h3 {
    margin-top: 3.03vw;
  }
}
@media screen and (min-width: 1024px) {
  .main.faq .page {
    padding: 9.58vw 0 8.68vw;
  }
  .main.faq .page .header {
    padding: 0 13.19vw;
  }
  .main.faq .page .body {
    padding: 1.18vw 6.46vw 0 13.19vw;
  }
  .main.faq .page .sidebar {
    padding-top: 5.21vw;
    top: 6.39vw;
  }
  .main.faq .page .sidebar li + li {
    margin-top: 1.81vw;
  }
  .main.faq .page .b {
    width: 65.35vw;
  }
  .main.faq .page .c {
    padding: 5.21vw 14.24vw 5.49vw 6.11vw;
  }
  .main.faq .page h2 + h3 {
    margin-top: 1.46vw;
  }
  .main.faq .page h3 + .p {
    margin-top: 0.83vw;
  }
  .main.faq .page .p + h3 {
    margin-top: 2.15vw;
  }
}

.main.gallery.modal-open {
  z-index: 15;
}
.main.gallery .intro {
  padding: 22.67vw 5.33vw 8.8vw;
  text-align: center;
  color: #9F8D6A;
}
@media screen and (min-width: 768px) {
  .main.gallery .intro {
    padding: 20.31vw 2.6vw 4.3vw;
  }
}
@media screen and (min-width: 1024px) {
  .main.gallery .intro {
    padding: 10.83vw 1.39vw 2.29vw;
  }
}
.main.gallery .entries {
  padding: 0 5.33vw 18.67vw;
}
.main.gallery .entries ul {
  display: grid;
  column-gap: 4vw;
  row-gap: 3.2vw;
}
.main.gallery .entries .image {
  position: relative;
}
.main.gallery .entries .image:before {
  content: "";
  display: block;
  width: 100%;
  height: 0;
  padding-top: 141.25%;
}
.main.gallery .entries .image picture,
.main.gallery .entries .image img,
.main.gallery .entries .image video,
.main.gallery .entries .image iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.main.gallery .entries .image video,
.main.gallery .entries .image img {
  object-fit: cover;
}
@media screen and (min-width: 300px) {
  .main.gallery .entries ul {
    grid-template-columns: 1fr 1fr;
  }
}
@media screen and (min-width: 768px) {
  .main.gallery .entries {
    padding: 0 6.53vw 11.04vw;
  }
  .main.gallery .entries ul {
    grid-template-columns: 1fr 1fr 1fr;
    column-gap: 4.03vw;
    row-gap: 3.33vw;
  }
}

.galleryModal {
  position: fixed;
  z-index: 20;
  top: 0;
  left: 0;
  width: 100%;
  height: var(--vp-height);
  background-color: #fff;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.5s;
}
.galleryModal.is-open {
  opacity: 1;
  pointer-events: all;
}
.galleryModal.is-open .close a,
.galleryModal.is-open .prev a,
.galleryModal.is-open .next a {
  pointer-events: all;
}
.galleryModal .controls {
  position: absolute;
  z-index: 2;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  --height: 50vh;
}
.galleryModal .controls .close {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 11.73vw;
}
.galleryModal .controls .close i {
  display: block;
  position: relative;
  width: 5.6vw;
  height: 5.6vw;
}
.galleryModal .controls .close i:before, .galleryModal .controls .close i:after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: currentColor;
}
.galleryModal .controls .close i:before {
  transform: rotate(45deg);
}
.galleryModal .controls .close i:after {
  transform: rotate(-45deg);
}
.galleryModal .controls .prev,
.galleryModal .controls .next {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 11.73vw;
  height: var(--height);
  width: 13.87vw;
}
.galleryModal .controls .prev a,
.galleryModal .controls .next a {
  padding: 10px;
}
.galleryModal .controls .prev i,
.galleryModal .controls .next i {
  display: block;
  position: relative;
  transform: rotate(90deg);
  width: 4.8vw;
  transition: opacity 0.15s;
}
.galleryModal .controls .prev i:before, .galleryModal .controls .prev i:after,
.galleryModal .controls .next i:before,
.galleryModal .controls .next i:after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  width: 100%;
  height: 1px;
  background-color: currentColor;
}
.galleryModal .controls .prev i:before,
.galleryModal .controls .next i:before {
  left: 35%;
  transform: rotate(45deg);
}
.galleryModal .controls .prev i:after,
.galleryModal .controls .next i:after {
  right: 35%;
  transform: rotate(-45deg);
}
.galleryModal .controls .prev {
  transform: rotate(180deg);
  left: 0;
}
.galleryModal .controls .next {
  right: 0;
}
.galleryModal .screens {
  width: 100%;
  height: 100%;
}
.galleryModal .screen {
  display: flex;
  flex-direction: column;
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  pointer-events: none;
  transition: 0.5s linear 0.5s;
}
.galleryModal .screen.is-active {
  opacity: 1;
  pointer-events: all;
  transition: 0s;
}
.galleryModal .left {
  flex: 1;
  padding: 11.73vw 13.87vw 0;
}
.galleryModal .right {
  padding: 3.73vw 5.33vw 5.87vw;
}
.galleryModal .image {
  width: 100%;
  height: 100%;
}
.galleryModal .image img {
  height: 100%;
  object-fit: contain;
}
.galleryModal .text {
  text-align: center;
}
.galleryModal .text h2 + h3 {
  margin-top: 1.07vw;
}
.galleryModal .text h3 + .credit {
  margin-top: 6.13vw;
}
.galleryModal .text .credit h4 + p {
  margin-top: 2.13vw;
}
.galleryModal .text .credit p {
  font-family: ivypresto-display, serif;
  font-weight: 100;
  font-style: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 16px;
  line-height: 18px;
  letter-spacing: 0.02em;
}
@media screen and (min-width: 500px) {
  .galleryModal .text .credit p {
    font-size: 4.4vw;
    line-height: 5.6vw;
  }
}
@media screen and (min-width: 768px) {
  .galleryModal .text .credit p {
    font-size: 2.86vw;
    line-height: 3.65vw;
  }
}
@media screen and (min-width: 1024px) {
  .galleryModal .text .credit p {
    font-size: 1.94vw;
    line-height: 1.14;
  }
}
.galleryModal .text .credit + .credit {
  margin-top: 5.07vw;
}
.galleryModal .text .cta {
  margin-top: 8.27vw;
}
@media screen and (min-width: 768px) {
  .galleryModal {
    padding: 3.06vw 6.94vw;
  }
  .galleryModal .screens {
    position: relative;
  }
  .galleryModal .screen {
    flex-direction: row;
  }
  .galleryModal .controls .close {
    position: absolute;
    top: 2.08vw;
    right: 2.5vw;
    height: auto;
  }
  .galleryModal .controls .close i {
    width: 2.22vw;
    height: 2.22vw;
  }
  .galleryModal .controls .prev,
.galleryModal .controls .next {
    top: 0;
    height: 100%;
    width: 4.31vw;
  }
  .galleryModal .controls .prev i,
.galleryModal .controls .next i {
    width: 1.39vw;
  }
  .galleryModal .left {
    width: 40.14vw;
    padding: 0;
  }
  .galleryModal .right {
    flex: 1;
    display: flex;
    align-items: center;
    padding: 0 0 0 7.29vw;
  }
  .galleryModal .text {
    text-align: left;
  }
  .galleryModal .text h2 + h3 {
    margin-top: 1.04vw;
  }
  .galleryModal .text h3 + .credit {
    margin-top: 6.64vw;
  }
  .galleryModal .text .credit h4 + p {
    margin-top: 1.04vw;
  }
  .galleryModal .text .credit + .credit {
    margin-top: 3.13vw;
  }
  .galleryModal .text .cta {
    margin-top: 6.77vw;
  }
}
@media screen and (min-width: 1024px) {
  .galleryModal {
    padding: 3.06vw 15.76vw;
  }
  .galleryModal .left {
    flex: none;
    width: 40.14vw;
  }
  .galleryModal .right {
    flex: 1;
    padding: 0 0 0 7.29vw;
  }
  .galleryModal .text h2 + h3 {
    margin-top: 0.56vw;
  }
  .galleryModal .text h3 + .credit {
    margin-top: 3.54vw;
  }
  .galleryModal .text .credit h4 + p {
    margin-top: 0.56vw;
  }
  .galleryModal .text .credit + .credit {
    margin-top: 1.67vw;
  }
  .galleryModal .text .cta {
    margin-top: 3.61vw;
  }
}

.main.home .hero {
  overflow: hidden;
}
.main.home .hero:before {
  content: "";
  display: block;
  position: absolute;
  z-index: 5;
  top: 0;
  left: 0;
  width: 100%;
  height: 20%;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0.75), rgba(0, 0, 0, 0));
  opacity: 0.5;
}
.main.home .hero > a {
  width: 100%;
}
.main.home .hero .media:before, .main.home .hero .media:after {
  display: block;
  position: absolute;
  z-index: 2;
}
.main.home .hero .media:before {
  background: linear-gradient(180deg, #18646c, transparent);
  opacity: 0.3;
}
.main.home .hero .media:after {
  content: "";
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to top, rgb(0, 0, 0) 0%, rgba(0, 0, 0, 0) 100%);
  opacity: 0.48;
}
.main.home .hero .text {
  position: relative;
  z-index: 2;
  width: 100%;
  padding: 14.93vw 10.67vw;
  color: #fff;
}
.main.home .hero h1 + .action,
.main.home .hero h2 + .action {
  margin-top: 6.4vw;
}
.main.home .hero.short {
  min-height: 90vh;
}
.main.home .hero.short .text {
  padding: 21.33vw 5.33vw 20.27vw;
}
@media screen and (min-width: 768px) {
  .main.home .hero.short .text {
    padding: 7.81vw 7.81vw 7.42vw;
  }
}
@media screen and (min-width: 1024px) {
  .main.home .hero.short .text {
    padding: 5.56vw 8.33vw 5.28vw;
  }
}
@media screen and (min-width: 768px) {
  .main.home .hero .text {
    padding-left: 11.82vw;
    padding-bottom: 8.98vw;
  }
  .main.home .hero h1 + .action {
    margin-top: 2.34vw;
  }
  .main.home .hero .action {
    color: #fff;
  }
  .main.home .hero.short {
    min-height: 90vh;
  }
}
@media screen and (min-width: 1024px) {
  .main.home .hero .text {
    padding-left: 8.4vw;
    padding-bottom: 6.39vw;
  }
  .main.home .hero h1 + .action {
    margin-top: 1.67vw;
  }
}
.main.home .singleModule {
  padding: 40px;
}
.main.home .singleModule picture,
.main.home .singleModule img {
  height: 100%;
  object-fit: cover;
}
.main.home .singleModule .image + .text {
  margin-top: 8vw;
}
.main.home .singleModule h2 + .action {
  margin-top: 6.4vw;
}
.main.home .singleModule .link {
  color: #9F8D6A;
}
@media screen and (min-width: 768px) {
  .main.home .singleModule {
    padding: 50px 0;
  }
  .main.home .singleModule a {
    display: flex;
    align-items: center;
    pointer-events: none;
  }
  .main.home .singleModule .image {
    width: 50%;
    pointer-events: all;
  }
  .main.home .singleModule .image + .text {
    margin-top: 0;
  }
  .main.home .singleModule .text {
    flex: 1;
    padding-left: 60px;
  }
  .main.home .singleModule h2 {
    cursor: text;
  }
  .main.home .singleModule h2 + .action {
    margin-top: 2.93vw;
  }
  .main.home .singleModule .link {
    pointer-events: all;
  }
}
@media screen and (min-width: 1024px) {
  .main.home .singleModule {
    padding: 50px 0;
  }
  .main.home .singleModule .image {
    width: 55.56vw;
    height: 34.72vw;
  }
  .main.home .singleModule .text {
    padding-left: 60px;
  }
  .main.home .singleModule h2 {
    cursor: text;
  }
  .main.home .singleModule h2 + .action {
    margin-top: 2.08vw;
  }
}
.main.home .explore {
  padding: 21.33vw 5.33vw 20.27vw;
  background-color: #fff;
}
.main.home .explore .header + .body {
  margin-top: 7.2vw;
}
.main.home .explore .collections {
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 5.6vw;
  row-gap: 8.53vw;
}
.main.home .explore .card .image {
  position: relative;
}
.main.home .explore .card .image:before {
  content: "";
  display: block;
  width: 100%;
  height: 0;
  padding-top: 124.9042145594%;
}
.main.home .explore .card .image picture,
.main.home .explore .card .image img,
.main.home .explore .card .image video,
.main.home .explore .card .image iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.main.home .explore .card .image video,
.main.home .explore .card .image img {
  object-fit: cover;
}
.main.home .explore .card .image + .text {
  margin-top: 2.13vw;
}
@media screen and (min-width: 768px) {
  .main.home .explore {
    padding: 7.81vw 7.81vw 7.42vw;
  }
  .main.home .explore .header + .body {
    margin-top: 2.73vw;
  }
  .main.home .explore .collections {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    column-gap: 2.93vw;
  }
  .main.home .explore .card .image + .text {
    margin-top: 1.46vw;
  }
}
@media screen and (min-width: 1024px) {
  .main.home .explore {
    padding: 5.56vw 8.33vw 5.28vw;
  }
  .main.home .explore .header + .body {
    margin-top: 1.94vw;
  }
  .main.home .explore .collections {
    column-gap: 3.68vw;
  }
  .main.home .explore .card .image + .text {
    margin-top: 1.04vw;
  }
}
.main.home .modules {
  padding: 21.33vw 0 20.27vw;
}
.main.home .modules .module {
  padding: 0 5.33vw;
}
.main.home .modules .module .image + .text {
  margin-top: 8vw;
}
.main.home .modules .module h2 + .action {
  margin-top: 6.4vw;
}
.main.home .modules .module .link {
  color: #9F8D6A;
}
.main.home .modules .module.full {
  padding: 0;
}
.main.home .modules .module.full .text {
  padding: 0 5.33vw;
}
.main.home .modules .module.full h2 {
  padding: 0 12.27vw 0 0.53vw;
}
.main.home .modules .module + .module {
  margin-top: 20.8vw;
}
@media screen and (min-width: 768px) {
  .main.home .modules {
    padding: 10.94vw 0 11.72vw;
  }
  .main.home .modules .module {
    padding: 0;
  }
  .main.home .modules .module a {
    pointer-events: none;
  }
  .main.home .modules .module .image {
    pointer-events: all;
  }
  .main.home .modules .module .image + .text {
    margin-top: 2.93vw;
  }
  .main.home .modules .module h2 {
    cursor: text;
  }
  .main.home .modules .module h2 + .action {
    margin-top: 3.32vw;
  }
  .main.home .modules .module .link {
    pointer-events: all;
  }
  .main.home .modules .module.left, .main.home .modules .module.right {
    display: flex;
    align-items: center;
  }
  .main.home .modules .module.left a, .main.home .modules .module.right a {
    display: inherit;
    align-items: inherit;
  }
  .main.home .modules .module.left .image + .text, .main.home .modules .module.right .image + .text {
    margin-top: 0;
  }
  .main.home .modules .module.left .text, .main.home .modules .module.right .text {
    flex: 1;
  }
  .main.home .modules .module.left .image {
    width: 48.83vw;
  }
  .main.home .modules .module.left .text {
    padding-left: 8.79vw;
    padding-right: 11.72vw;
  }
  .main.home .modules .module.right .image {
    order: 2;
    width: 48.83vw;
  }
  .main.home .modules .module.right .text {
    order: 1;
    padding-left: 11.72vw;
    padding-right: 8.79vw;
  }
  .main.home .modules .module.full h2 {
    padding: 0;
  }
  .main.home .modules .module.center {
    padding-left: 19.53vw;
    padding-right: 19.53vw;
  }
  .main.home .modules .module + .module {
    margin-top: 11.72vw;
  }
}
@media screen and (min-width: 1024px) {
  .main.home .modules {
    padding: 7.78vw 0 8.33vw;
  }
  .main.home .modules .module .image + .text {
    margin-top: 2.08vw;
  }
  .main.home .modules .module h2 + .action {
    margin-top: 2.36vw;
  }
  .main.home .modules .module.left .image {
    width: 48.61vw;
  }
  .main.home .modules .module.left .text {
    padding-left: 9.03vw;
    padding-right: 12.5vw;
  }
  .main.home .modules .module.right .image {
    width: 42.36vw;
  }
  .main.home .modules .module.right .text {
    padding-left: 12.5vw;
    padding-right: 9.03vw;
  }
  .main.home .modules .module.center {
    padding-left: 19.44vw;
    padding-right: 19.44vw;
  }
  .main.home .modules .module + .module {
    margin-top: 8.33vw;
  }
}
.main.home .instagram {
  padding: 21.33vw 5.33vw 20.27vw;
  background-color: #fff;
}
.main.home .instagram .header {
  display: flex;
  color: #9F8D6A;
}
.main.home .instagram .header a {
  display: block;
  transition: opacity 0.5s, transform 0.5s;
}
.main.home .instagram .header a:hover {
  opacity: 0.5;
}
.main.home .instagram .header a:active {
  transform: scale(0.95);
  opacity: 0.75;
  transition: opacity 0.15s, transform 0.15s;
}
.main.home .instagram .header + .body {
  margin-top: 7.2vw;
}
.main.home .instagram .feed {
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 5.07vw;
  row-gap: 5.07vw;
}
.main.home .instagram .feed .card {
  width: 100%;
}
.main.home .instagram .feed .card .image {
  position: relative;
}
.main.home .instagram .feed .card .image picture {
  background-color: transparent;
}
.main.home .instagram .feed .card .image:before {
  content: "";
  display: block;
  width: 100%;
  height: 0;
  padding-top: 100%;
}
.main.home .instagram .feed .card .image picture,
.main.home .instagram .feed .card .image img,
.main.home .instagram .feed .card .image video,
.main.home .instagram .feed .card .image iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.main.home .instagram .feed .card .image video,
.main.home .instagram .feed .card .image img {
  object-fit: cover;
}
@media screen and (min-width: 500px) {
  .main.home .instagram .feed {
    grid-template-columns: 1fr 1fr 1fr;
  }
}
@media screen and (min-width: 768px) {
  .main.home .instagram {
    padding: 4.2vw 3.32vw;
  }
  .main.home .instagram .header + .body {
    margin-top: 3.13vw;
  }
  .main.home .instagram .feed {
    grid-template-columns: 1fr 1fr 1fr 1fr;
    column-gap: 1.86vw;
  }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .main.home .instagram .feed .card:nth-child(5), .main.home .instagram .feed .card:nth-child(6) {
    display: none;
  }
}
@media screen and (min-width: 1024px) {
  .main.home .instagram {
    padding: 2.99vw 2.36vw;
  }
  .main.home .instagram .header + .body {
    margin-top: 2.22vw;
  }
  .main.home .instagram .feed {
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
    column-gap: 1.32vw;
  }
}

.main.home .hero-flexible-module {
  overflow: hidden;
}
.main.home .hero-flexible-module:before {
  content: "";
  display: block;
  position: absolute;
  z-index: 5;
  top: 0;
  left: 0;
  width: 100%;
  height: 20%;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0.75), rgba(0, 0, 0, 0));
  opacity: 0.5;
}
.main.home .hero-flexible-module > a {
  width: 100%;
}
.main.home .hero-flexible-module .static,
.main.home .hero-flexible-module .carousel {
  width: 100%;
  height: 100%;
}
.main.home .hero-flexible-module .carousel {
  position: absolute;
  top: 0;
  left: 0;
  height: 100vh;
  transition: transform 1.5s, opacity 0.3s;
}
.main.home .hero-flexible-module .carousel-desktop, .main.home .hero-flexible-module .carousel-mobile,
.main.home .hero-flexible-module .carousel .splide__list,
.main.home .hero-flexible-module .carousel .splide__slide,
.main.home .hero-flexible-module .carousel .splide__track {
  width: 100% !important;
  height: 100%;
}
@media (max-width: 767px) {
  .main.home .hero-flexible-module .carousel-desktop {
    display: none;
  }
}
@media (min-width: 768px) {
  .main.home .hero-flexible-module .carousel-mobile {
    display: none;
  }
}
.main.home .hero-flexible-module .media:before, .main.home .hero-flexible-module .media:after {
  display: block;
  position: absolute;
  z-index: 2;
}
.main.home .hero-flexible-module .media:before {
  background: linear-gradient(180deg, #18646c, transparent);
  opacity: 0.3;
}
.main.home .hero-flexible-module .media:after {
  content: "";
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to top, rgb(0, 0, 0) 0%, rgba(0, 0, 0, 0) 100%);
  opacity: 0.48;
}
.main.home .hero-flexible-module .text {
  position: relative;
  z-index: 2;
  width: 100%;
  padding: 80px 20px;
  color: #fff;
}
.main.home .hero-flexible-module h1 + .action,
.main.home .hero-flexible-module h2 + .action {
  margin-top: 6.4vw;
}
.main.home .hero-flexible-module.short {
  min-height: 60vh;
}
@media screen and (min-width: 768px) {
  .main.home .hero-flexible-module .text {
    padding-left: 2.78vw;
    padding-bottom: 120px;
  }
  .main.home .hero-flexible-module h1 + .action {
    margin-top: 2.34vw;
  }
  .main.home .hero-flexible-module:not(.head) .text {
    display: flex;
    align-items: flex-end;
    padding-left: 11.82vw;
    padding-bottom: 8.98vw;
  }
  .main.home .hero-flexible-module:not(.head) h2 {
    flex: 1;
  }
  .main.home .hero-flexible-module:not(.head) h2 + .action {
    margin-top: 0;
  }
  .main.home .hero-flexible-module .action {
    color: #fff;
  }
  .main.home .hero-flexible-module.short {
    min-height: 66vh;
  }
}
@media screen and (min-width: 1024px) {
  .main.home .hero-flexible-module .text {
    padding-left: 2.78vw;
    padding-bottom: 120px;
  }
  .main.home .hero-flexible-module h1 + .action {
    margin-top: 1.67vw;
  }
}
.main.home .hero-flexible-module.half-width {
  min-height: 90vh;
  position: relative;
}
@media screen and (min-width: 768px) {
  .main.home .hero-flexible-module.half-width {
    min-height: 100vh;
  }
}
.main.home .hero-flexible-module.half-width .static {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.main.home .hero-flexible-module.half-width .content-wrapper {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
}
@media screen and (min-width: 768px) {
  .main.home .hero-flexible-module.half-width .content-wrapper {
    flex-direction: row;
  }
}
.main.home .hero-flexible-module.half-width .media-column {
  position: relative;
  width: 100%;
  height: 60%;
}
.main.home .hero-flexible-module.half-width .media-column picture,
.main.home .hero-flexible-module.half-width .media-column video,
.main.home .hero-flexible-module.half-width .media-column img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media screen and (min-width: 768px) {
  .main.home .hero-flexible-module.half-width .media-column {
    width: 70%;
    height: 100%;
  }
}
.main.home .hero-flexible-module.half-width .text-column {
  position: relative;
  width: 100%;
  height: 40%;
  background-color: #9f8d69;
  display: flex;
}
@media screen and (min-width: 768px) {
  .main.home .hero-flexible-module.half-width .text-column {
    width: 30%;
    height: 100%;
    align-items: flex-end;
  }
}
.main.home .hero-flexible-module.half-width .text-column .text-inner {
  width: 100%;
  padding: 20px;
  color: #ffffff;
}
@media screen and (min-width: 768px) {
  .main.home .hero-flexible-module.half-width .text-column .text-inner {
    padding: 2.78vw;
    padding-bottom: 120px;
  }
}
@media screen and (min-width: 1024px) {
  .main.home .hero-flexible-module.half-width .text-column .text-inner {
    padding: 2.78vw;
    padding-bottom: 120px;
  }
}
.main.home .hero-flexible-module.half-width .text-column .text-inner h2 {
  font-size: 30px;
  line-height: 1.2;
}
@media screen and (min-width: 768px) {
  .main.home .hero-flexible-module.half-width .text-column .text-inner h2 {
    font-size: 3.91vw;
  }
}
@media screen and (min-width: 1024px) {
  .main.home .hero-flexible-module.half-width .text-column .text-inner h2 {
    font-size: 3.33vw;
  }
}
.main.home .hero-flexible-module.half-width .text-column .text-inner .description {
  margin-top: 5px;
}
@media screen and (min-width: 768px) {
  .main.home .hero-flexible-module.half-width .text-column .text-inner .description {
    margin-top: 15px;
  }
}
.main.home .hero-flexible-module.half-width .text-column .text-inner .description p {
  line-height: 1.5;
  font-family: acumin-pro, sans-serif;
  font-weight: 200;
  font-style: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  line-height: 1.53;
  letter-spacing: 0.03em;
  font-size: 14px;
}
@media screen and (min-width: 768px) {
  .main.home .hero-flexible-module.half-width .text-column .text-inner .description p {
    font-size: 1.56vw;
  }
}
@media screen and (min-width: 1024px) {
  .main.home .hero-flexible-module.half-width .text-column .text-inner .description p {
    font-size: 1.11vw;
  }
}
@media screen and (min-width: 768px) {
  .main.home .hero-flexible-module.half-width .text-column .text-inner .description {
    margin-top: 1.95vw;
  }
}
@media screen and (min-width: 1024px) {
  .main.home .hero-flexible-module.half-width .text-column .text-inner .description {
    margin-top: 1.39vw;
  }
}
.main.home .hero-flexible-module.half-width .text-column .text-inner .action {
  margin-top: 12px;
}
.main.home .hero-flexible-module.half-width .text-column .text-inner .action .link {
  display: inline-block;
  color: #ffffff;
}
@media screen and (min-width: 768px) {
  .main.home .hero-flexible-module.half-width .text-column .text-inner .action {
    margin-top: 2.93vw;
  }
}
@media screen and (min-width: 1024px) {
  .main.home .hero-flexible-module.half-width .text-column .text-inner .action {
    margin-top: 2.08vw;
  }
}
.main.home .hero-flexible-module.half-width.double-image .media-column .double-image-container {
  display: flex;
  flex-direction: row;
  width: 100%;
  height: 100%;
  gap: 10px;
}
.main.home .hero-flexible-module.half-width.double-image .media-column .double-image-container .image-left,
.main.home .hero-flexible-module.half-width.double-image .media-column .double-image-container .image-right {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .main.home .hero-flexible-module.half-width.double-image .media-column .double-image-container .image-left,
.main.home .hero-flexible-module.half-width.double-image .media-column .double-image-container .image-right {
    width: 50%;
    height: 100%;
  }
}
.main.home .hero-flexible-module.half-width.double-image .media-column .double-image-container .image-left picture,
.main.home .hero-flexible-module.half-width.double-image .media-column .double-image-container .image-left img,
.main.home .hero-flexible-module.half-width.double-image .media-column .double-image-container .image-right picture,
.main.home .hero-flexible-module.half-width.double-image .media-column .double-image-container .image-right img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media (max-width: 767px) {
  .main.home .hero-flexible-module.half-width.double-image .media-column .double-image-container .image-left .desktop,
.main.home .hero-flexible-module.half-width.double-image .media-column .double-image-container .image-right .desktop {
    display: none;
  }
}
@media (min-width: 768px) {
  .main.home .hero-flexible-module.half-width.double-image .media-column .double-image-container .image-left .mobile,
.main.home .hero-flexible-module.half-width.double-image .media-column .double-image-container .image-right .mobile {
    display: none;
  }
}
.main.home .hero-flexible {
  position: relative;
}
.main.home .hero-flexible .splide__arrows {
  position: absolute;
  bottom: 30px;
  left: 0;
  width: 100%;
  display: flex;
  justify-content: center;
  gap: 40px;
  z-index: 10;
}
@media screen and (min-width: 768px) {
  .main.home .hero-flexible .splide__arrows {
    bottom: 40px;
    gap: 60px;
  }
}
@media screen and (min-width: 1024px) {
  .main.home .hero-flexible .splide__arrows {
    bottom: 50px;
    gap: 80px;
  }
}
.main.home .hero-flexible .splide__arrows .splide__arrow {
  background: transparent;
  border: none;
  cursor: pointer;
  padding: 0;
  width: 30px;
  height: 30px;
  opacity: 0.7;
  transition: opacity 0.3s ease;
}
.main.home .hero-flexible .splide__arrows .splide__arrow:hover {
  opacity: 1;
}
.main.home .hero-flexible .splide__arrows .splide__arrow svg {
  width: 100%;
  height: 100%;
  fill: #fff;
}
.main.home .hero-flexible .splide__arrows .splide__arrow--prev {
  transform: scale(-1) translateY(50%);
  left: 20px;
}
@media screen and (min-width: 768px) {
  .main.home .hero-flexible .splide__arrows .splide__arrow--prev {
    left: 2.78vw;
  }
}
.main.home .hero-flexible .splide__arrows .splide__arrow--next {
  right: 20px;
}
@media screen and (min-width: 768px) {
  .main.home .hero-flexible .splide__arrows .splide__arrow--next {
    right: 2.78vw;
  }
}
@media screen and (min-width: 768px) {
  .main.home .hero-flexible .splide__arrows .splide__arrow {
    width: 40px;
    height: 40px;
  }
}
.main.home .hero-flexible .splide__pagination {
  bottom: 20px;
  display: flex;
  gap: 7px;
}
@media screen and (min-width: 768px) {
  .main.home .hero-flexible .splide__pagination {
    bottom: 30px;
  }
}

.main.process .intro {
  padding: 0 0 20.27vw;
}
.main.process .intro .text {
  padding: 0 5.33vw;
}
.main.process .intro .label,
.main.process .intro .p {
  color: #9F8D6A;
}
.main.process .intro .label + .p {
  margin-top: 2.4vw;
}
.main.process .intro .module:first-child .image {
  position: relative;
  min-height: 66vh;
}
.main.process .intro .module:first-child .image img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.main.process .intro .module:first-child .text {
  position: relative;
  padding-top: 21.33vw;
}
.main.process .intro .module:first-child h1 {
  position: absolute;
  bottom: 100%;
  padding: 14.93vw 4.27vw;
  color: #fff;
}
.main.process .intro .module.full .image + .text {
  margin-top: 8vw;
}
.main.process .intro .module.full .quote {
  position: relative;
  margin-top: 26.67vw;
}
.main.process .intro .module.full .quote:before {
  content: "“";
  position: absolute;
  bottom: 100%;
  left: 0;
  font-size: 2em;
  line-height: 0.25;
}
.main.process .intro .module.full .quote + .label {
  margin-top: 5.33vw;
}
.main.process .intro .module + .module {
  margin-top: 20.8vw;
}
@media screen and (min-width: 768px) {
  .main.process .intro {
    padding: 16.41vw 0 11.72vw;
  }
  .main.process .intro .module {
    padding: 0;
  }
  .main.process .intro .module .label + .p {
    margin-top: 1.56vw;
  }
  .main.process .intro .module:first-child .image {
    position: relative;
    min-height: 0;
  }
  .main.process .intro .module:first-child .image img {
    position: static;
  }
  .main.process .intro .module:first-child .text {
    padding-top: 0;
  }
  .main.process .intro .module:first-child h1 {
    position: static;
    padding: 0;
    color: inherit;
  }
  .main.process .intro .module:first-child h1 + .label {
    margin-top: 3.52vw;
  }
  .main.process .intro .module.left, .main.process .intro .module.right {
    display: flex;
    align-items: flex-start;
  }
  .main.process .intro .module.left .image, .main.process .intro .module.right .image {
    width: 48.83vw;
  }
  .main.process .intro .module.left .image + .text, .main.process .intro .module.right .image + .text {
    margin-top: 0;
  }
  .main.process .intro .module.left .text, .main.process .intro .module.right .text {
    flex: 1;
    padding-left: 8.79vw;
    padding-right: 11.72vw;
  }
  .main.process .intro .module.right .image {
    order: 2;
  }
  .main.process .intro .module.right .text {
    order: 1;
  }
  .main.process .intro .module.full h2 {
    padding: 0;
  }
  .main.process .intro .module.full .quote {
    margin-top: 2.93vw;
  }
  .main.process .intro .module.full .quote:before {
    left: auto;
    right: 100%;
    margin-right: 0.39vw;
  }
  .main.process .intro .module.full .quote + .label {
    margin-top: 1.95vw;
  }
  .main.process .intro .module + .module {
    margin-top: 11.72vw;
  }
}
@media screen and (min-width: 1024px) {
  .main.process .intro {
    padding: 11.67vw 0 8.33vw;
  }
  .main.process .intro .module .label + .p {
    margin-top: 1.11vw;
  }
  .main.process .intro .module:first-child h1 + .label {
    margin-top: 4.51vw;
  }
  .main.process .intro .module.left, .main.process .intro .module.right {
    align-items: center;
  }
  .main.process .intro .module.left .text, .main.process .intro .module.right .text {
    padding-left: 9.03vw;
  }
  .main.process .intro .module.left .image {
    width: 45.14vw;
  }
  .main.process .intro .module.left .text {
    padding-right: 13.89vw;
  }
  .main.process .intro .module.right .image {
    width: 42.36vw;
  }
  .main.process .intro .module.right .text {
    padding-right: 12.5vw;
  }
  .main.process .intro .module.full .quote {
    margin-top: 2.08vw;
  }
  .main.process .intro .module.full .quote:before {
    margin-right: 0.28vw;
  }
  .main.process .intro .module.full .quote + .label {
    margin-top: 1.39vw;
  }
  .main.process .intro .module + .module {
    margin-top: 8.33vw;
  }
}
.main.process .gallery {
  background-color: #fff;
  padding: 16vw 0;
}
.main.process .gallery .header {
  padding: 0 5.33vw;
}
.main.process .gallery .header + .body {
  margin-top: 7.2vw;
}
.main.process .gallery .splide__list {
  width: 69.33vw;
}
.main.process .gallery .image {
  width: 100%;
}
@media (max-width: 767px) {
  .main.process .gallery .image {
    position: relative;
  }
  .main.process .gallery .image:before {
    content: "";
    display: block;
    width: 100%;
    height: 0;
    padding-top: 100%;
  }
  .main.process .gallery .image picture,
.main.process .gallery .image img,
.main.process .gallery .image video,
.main.process .gallery .image iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
  .main.process .gallery .image video,
.main.process .gallery .image img {
    object-fit: cover;
  }
}
.main.process .gallery .image + .text {
  margin-top: 5.33vw;
}
.main.process .gallery h3 {
  color: #9F8D6A;
  line-height: 1.3;
}
@media screen and (min-width: 768px) {
  .main.process .gallery {
    padding: 7.81vw 0;
  }
  .main.process .gallery .header {
    padding: 0 7.81vw;
  }
  .main.process .gallery .header + .body {
    margin-top: 2.93vw;
  }
  .main.process .gallery .splide__list {
    width: 100%;
  }
  .main.process .gallery .image img {
    height: 52.64vw;
    width: auto;
  }
  .main.process .gallery .image + .text {
    margin-top: 2.73vw;
  }
}
@media screen and (min-width: 1024px) {
  .main.process .gallery {
    padding: 5.56vw 0;
  }
  .main.process .gallery .header {
    padding: 0 8.33vw;
  }
  .main.process .gallery .header + .body {
    margin-top: 2.08vw;
  }
  .main.process .gallery .image img {
    height: 37.43vw;
  }
  .main.process .gallery .image + .text {
    margin-top: 1.94vw;
  }
}
.main.process .steps {
  position: relative;
  padding: 21.33vw 0 20.27vw;
}
.main.process .steps h2 + .p,
.main.process .steps h3 + .p {
  margin-top: 1.87vw;
}
.main.process .steps .label,
.main.process .steps .p {
  color: #9F8D6A;
}
.main.process .steps .label + h2,
.main.process .steps .label + h3,
.main.process .steps .label + .p {
  margin-top: 2.4vw;
}
.main.process .steps .module.left {
  padding: 0 5.33vw;
}
.main.process .steps .module.left .image + .text {
  margin-top: 10.67vw;
}
@media (max-width: 767px) {
  .main.process .steps .module.center .image img {
    min-height: 50vh;
    object-fit: cover;
  }
}
.main.process .steps .module.center .image + .text {
  margin-top: 16vw;
}
.main.process .steps .module.center .text {
  padding: 0 5.33vw;
}
.main.process .steps .module + .features {
  margin-top: 8vw;
}
.main.process .steps .features {
  display: flex;
  padding: 0 5.33vw;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.main.process .steps .feature .p {
  width: 67.2vw;
}
.main.process .steps .feature + .feature {
  margin-left: 11.73vw;
}
.main.process .steps + .steps:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: rgba(159, 141, 106, 0.16);
}
@media screen and (min-width: 768px) {
  .main.process .steps {
    padding: 11.72vw 0 11.33vw;
  }
  .main.process .steps h2 + .p {
    margin-top: 2.22vw;
  }
  .main.process .steps h3 + .p {
    margin-top: 0.56vw;
  }
  .main.process .steps .module {
    padding: 0;
  }
  .main.process .steps .module .label + .p {
    margin-top: 1.56vw;
  }
  .main.process .steps .module .label + h2 {
    margin-top: 0.39vw;
  }
  .main.process .steps .module + .features {
    margin-top: 7.32vw;
  }
  .main.process .steps .module.left {
    display: flex;
    align-items: center;
    padding: 0;
  }
  .main.process .steps .module.left .image {
    width: 48.83vw;
  }
  .main.process .steps .module.left .image + .text {
    margin-top: 0;
  }
  .main.process .steps .module.left .text {
    flex: 1;
    padding-left: 8.79vw;
    padding-right: 11.72vw;
  }
  .main.process .steps .module.center .image + .text {
    margin-top: 7.91vw;
  }
  .main.process .steps .module.center .text {
    padding: 0 48.83vw 0 11.72vw;
  }
  .main.process .steps .module + .module {
    margin-top: 11.72vw;
  }
  .main.process .steps .features {
    padding: 0 5.86vw;
  }
  .main.process .steps .feature .p {
    width: 49.22vw;
  }
  .main.process .steps .feature + .feature {
    margin-left: 8.59vw;
  }
}
@media screen and (min-width: 1024px) {
  .main.process .steps {
    padding: 8.33vw 0 8.06vw;
  }
  .main.process .steps h2 + .p {
    margin-top: 2.22vw;
  }
  .main.process .steps h3 + .p {
    margin-top: 0.56vw;
  }
  .main.process .steps .module .label + h2 {
    margin-top: 0.28vw;
  }
  .main.process .steps .module + .features {
    margin-top: 5.21vw;
  }
  .main.process .steps .module.left .image {
    width: 45.14vw;
  }
  .main.process .steps .module.left .text {
    padding-left: 9.03vw;
    padding-right: 15.28vw;
  }
  .main.process .steps .module.center {
    padding: 0 19.44vw;
  }
  .main.process .steps .module.center .image + .text {
    margin-top: 5.63vw;
  }
  .main.process .steps .module.center .text {
    float: left;
    padding: 0;
    width: 24.44vw;
  }
  .main.process .steps .module.center + .features {
    flex-direction: column;
    padding-left: 7.5vw;
    padding-right: 19.44vw;
  }
  .main.process .steps .module.center + .features .feature + .feature {
    margin-left: 0;
    margin-top: 2.08vw;
  }
  .main.process .steps .features {
    padding: 0 8.33vw;
  }
  .main.process .steps .feature {
    flex: 1;
  }
  .main.process .steps .feature .p {
    width: auto;
  }
  .main.process .steps .feature + .feature {
    margin-left: 6.11vw;
  }
  .main.process .steps + .steps:before {
    left: 3%;
    width: 94%;
  }
}
.main.process .stepIntro .text {
  padding: 0 5.33vw;
  text-align: center;
}
.main.process .stepIntro + .steps {
  padding-top: 0;
}
.main.process .stepIntro + .steps:before {
  content: none;
}
@media screen and (min-width: 768px) {
  .main.process .stepIntro .p {
    margin: auto;
    width: 64.45vw;
  }
}
@media screen and (min-width: 1024px) {
  .main.process .stepIntro .p {
    width: 45.83vw;
  }
}
.main.process .hero .action {
  color: #fff;
}

.main.post .intro {
  padding: 35.47vw 5.33vw 8vw;
  text-align: center;
}
.main.post .intro .text + .image {
  margin-top: 7.2vw;
}
.main.post .intro h2 + h1 {
  margin-top: 3.2vw;
}
.main.post .intro h1 + .label {
  margin-top: 3.2vw;
}
.main.post .intro h3 {
  color: #9F8D6A;
}
.main.post .intro .image {
  position: relative;
}
.main.post .intro .image:before {
  content: "";
  display: block;
  width: 100%;
  height: 0;
  padding-top: 125.2173913043%;
}
.main.post .intro .image picture,
.main.post .intro .image img,
.main.post .intro .image video,
.main.post .intro .image iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.main.post .intro .image video,
.main.post .intro .image img {
  object-fit: cover;
}
@media screen and (min-width: 768px) {
  .main.post .intro {
    display: flex;
    align-items: center;
    padding: 12.21vw 7.81vw 8.3vw;
  }
  .main.post .intro .desktop {
    display: block;
  }
  .main.post .intro .mobile {
    display: none;
  }
  .main.post .intro .text {
    flex: 1;
  }
  .main.post .intro .text + .image {
    margin-top: 0;
    margin-left: 7.81vw;
  }
  .main.post .intro h2 + h1 {
    margin-top: 0.49vw;
  }
  .main.post .intro h1 + .label {
    margin-top: 3.71vw;
  }
  .main.post .intro .image {
    margin: 0;
    width: 44.92vw;
  }
}
@media screen and (min-width: 1024px) {
  .main.post .intro {
    padding: 8.68vw 12.99vw 5.35vw;
  }
  .main.post .intro .text + .image {
    margin-left: 9.44vw;
  }
  .main.post .intro h2 + h1 {
    margin-top: 0.35vw;
  }
  .main.post .intro h1 + .label {
    margin-top: 2.64vw;
  }
  .main.post .intro .image {
    width: 31.94vw;
  }
}
.main.post .blocks {
  padding: 19.73vw 0 21.33vw;
  background-color: #FEFCF8;
}
.main.post .blocks video,
.main.post .blocks img {
  max-height: 80svh;
  object-fit: contain;
}
.main.post .blocks .block {
  padding: 0 5.33vw;
}
.main.post .blocks .block .hoverimg .image picture {
  background-color: transparent;
}
.main.post .blocks .block--series h3 + h2,
.main.post .blocks .block .basic h3 + h2,
.main.post .blocks .block .text h3 + h2 {
  margin-top: 3.2vw;
}
.main.post .blocks .block--series h2 + .label,
.main.post .blocks .block .basic h2 + .label,
.main.post .blocks .block .text h2 + .label {
  margin-top: 3.2vw;
}
.main.post .blocks .block--series blockquote:first-child,
.main.post .blocks .block .basic blockquote:first-child,
.main.post .blocks .block .text blockquote:first-child {
  margin-top: 0;
}
.main.post .blocks .block--series blockquote p,
.main.post .blocks .block .basic blockquote p,
.main.post .blocks .block .text blockquote p {
  color: currentColor;
}
.main.post .blocks .block--series p, .main.post .blocks .block--series cite,
.main.post .blocks .block .basic p,
.main.post .blocks .block .basic cite,
.main.post .blocks .block .text p,
.main.post .blocks .block .text cite {
  color: #9F8D6A;
}
.main.post .blocks .block .label {
  color: #9F8D6A;
}
.main.post .blocks .block .image picture + .label,
.main.post .blocks .block .image a + .label {
  margin-top: 4.53vw;
  text-align: center;
}
.main.post .blocks .block + .block {
  margin-top: 14.93vw;
}
.main.post .blocks .block--text .text + .button {
  margin-top: 5.33vw;
}
.main.post .blocks .block--headline + .block--text {
  margin-top: 4.8vw;
}
.main.post .blocks .block--rendering img {
  max-height: calc(var(--vp-height) - 14.93vw);
  object-fit: contain;
}
.main.post .blocks .block--rendering .label {
  text-align: center;
}
.main.post .blocks .block--columns {
  display: grid;
  row-gap: 9.6vw;
}
.main.post .blocks .block--vimeo_video {
  row-gap: 9.6vw;
}
.main.post .blocks .block--vimeo_video .media {
  position: relative;
}
.main.post .blocks .block--vimeo_video .media:before {
  content: "";
  display: block;
  width: 100%;
  height: 0;
  padding-top: 56.25%;
}
.main.post .blocks .block--vimeo_video .media iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.main.post .blocks .block--hero {
  position: relative;
  padding: 0;
}
.main.post .blocks .block--hero .mobile img {
  height: 100vh;
  object-fit: cover;
}
.main.post .blocks .block--hero .text {
  margin-top: 4.53vw;
  text-align: center;
}
.main.post .blocks .block--hero .label + .h3 {
  margin-top: 3.2vw;
}
.main.post .blocks .block--cta {
  padding: 19.73vw 5.33vw 21.33vw;
  background-color: #fff;
}
.main.post .blocks .block--cta a {
  display: grid;
  row-gap: 9.6vw;
}
.main.post .blocks .block--cta .text {
  text-align: center;
}
.main.post .blocks .block--series h2 + .p {
  margin-top: 6.67vw;
}
.main.post .blocks .block--series .p {
  color: #9F8D6A;
}
@media screen and (min-width: 768px) {
  .main.post .blocks {
    padding: 7.81vw 0 11.72vw;
  }
  .main.post .blocks .block {
    padding: 0;
  }
  .main.post .blocks .block--series h3 + h2,
.main.post .blocks .block .basic h3 + h2,
.main.post .blocks .block .text h3 + h2 {
    margin-top: 1.17vw;
  }
  .main.post .blocks .block--series h2 + .label,
.main.post .blocks .block .basic h2 + .label,
.main.post .blocks .block .text h2 + .label {
    margin-top: 1.56vw;
  }
  .main.post .blocks .block .image picture + .label,
.main.post .blocks .block .image a + .label {
    margin-top: 1.66vw;
  }
  .main.post .blocks .block + .block {
    margin-top: 9.77vw;
  }
  .main.post .blocks .block--headline, .main.post .blocks .block--text, .main.post .blocks .block--vimeo_video, .main.post .blocks .block--rendering, .main.post .blocks .block--series {
    padding: 0 13.54vw;
  }
  .main.post .blocks .block--text .text + .button {
    margin-top: 2.93vw;
  }
  .main.post .blocks .block--headline + .block--text {
    margin-top: 2.93vw;
  }
  .main.post .blocks .block--rendering img {
    max-height: calc(var(--vp-height) - 9.77vw);
  }
  .main.post .blocks .block--columns .text, .main.post .blocks .block--cta .text {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 3.91vw;
  }
  .main.post .blocks .block--columns {
    grid-template-columns: 1fr 1fr;
    column-gap: 7.32vw;
    padding: 0 15.63vw;
  }
  .main.post .blocks .block--hero .text {
    margin-top: 1.66vw;
    margin-left: auto;
    margin-right: auto;
    max-width: 41.99vw;
  }
  .main.post .blocks .block--hero .label + .h3 {
    margin-top: 1.17vw;
  }
  .main.post .blocks .block--cta {
    padding: 7.42vw 15.63vw;
    background-color: #fff;
  }
  .main.post .blocks .block--cta a {
    grid-template-columns: 1fr 1fr;
    column-gap: 7.32vw;
  }
  .main.post .blocks .block--series h2 + .p {
    margin-top: 2.44vw;
  }
}
@media screen and (min-width: 1024px) {
  .main.post .blocks {
    padding: 5.56vw 0 8.33vw;
  }
  .main.post .blocks .block--series h3 + h2,
.main.post .blocks .block .basic h3 + h2,
.main.post .blocks .block .text h3 + h2 {
    margin-top: 0.83vw;
  }
  .main.post .blocks .block--series h2 + .label,
.main.post .blocks .block .basic h2 + .label,
.main.post .blocks .block .text h2 + .label {
    margin-top: 1.11vw;
  }
  .main.post .blocks .block .image picture + .label,
.main.post .blocks .block .image a + .label {
    margin-top: 1.18vw;
  }
  .main.post .blocks .block + .block {
    margin-top: 6.94vw;
  }
  .main.post .blocks .block--headline, .main.post .blocks .block--text, .main.post .blocks .block--rendering, .main.post .blocks .block--series {
    padding: 0 27.08vw;
  }
  .main.post .blocks .block--text .text + .button {
    margin-top: 2.08vw;
  }
  .main.post .blocks .block--headline + .block--text {
    margin-top: 2.08vw;
  }
  .main.post .blocks .block--rendering img {
    max-height: calc(var(--vp-height) - 6.94vw);
  }
  .main.post .blocks .block--columns .text, .main.post .blocks .block--cta .text {
    padding: 2.78vw;
  }
  .main.post .blocks .block--columns {
    column-gap: 5.21vw;
    padding: 0 11.11vw;
  }
  .main.post .blocks .block--vimeo_video {
    padding: 0 11.11vw;
  }
  .main.post .blocks .block--hero .text {
    margin-top: 1.18vw;
    max-width: 29.86vw;
  }
  .main.post .blocks .block--hero .label + .h3 {
    margin-top: 0.83vw;
  }
  .main.post .blocks .block--cta {
    padding: 5.28vw 11.11vw;
  }
  .main.post .blocks .block--cta a {
    column-gap: 5.21vw;
  }
  .main.post .blocks .block--series h2 + .p {
    margin-top: 1.74vw;
  }
}
.main.post .next {
  padding: 22.67vw 5.33vw 24.27vw;
  border-bottom: 1px solid rgba(255, 255, 255, 0.27);
  background-color: var(--theme-color);
  color: #fff;
  text-align: center;
}
.main.post .next .header + .body {
  margin-top: 7.2vw;
}
.main.post .next .image {
  position: relative;
}
.main.post .next .image:before {
  content: "";
  display: block;
  width: 100%;
  height: 0;
  padding-top: 56.1538461538%;
}
.main.post .next .image picture,
.main.post .next .image img,
.main.post .next .image video,
.main.post .next .image iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.main.post .next .image video,
.main.post .next .image img {
  object-fit: cover;
}
.main.post .next .image + .text {
  margin-top: 7.2vw;
}
.main.post .next h2 + h1 {
  margin-top: 1.33vw;
}
.main.post .next h1 + .label {
  margin-top: 13.07vw;
}
@media screen and (min-width: 768px) {
  .main.post .next {
    padding: 8.3vw 1.95vw 8.89vw;
  }
  .main.post .next .header + .body {
    margin-top: 2.64vw;
  }
  .main.post .next .body {
    padding: 0 17.58vw;
  }
  .main.post .next .image + .text {
    margin-top: 2.64vw;
  }
  .main.post .next h2 + h1 {
    margin-top: 0.49vw;
  }
  .main.post .next h1 + .label {
    margin-top: 4.79vw;
  }
}
@media screen and (min-width: 1024px) {
  .main.post .next {
    padding: 5.9vw 1.39vw 6.32vw;
  }
  .main.post .next .header + .body {
    margin-top: 1.88vw;
  }
  .main.post .next .body {
    padding: 0 25.69vw;
  }
  .main.post .next .image + .text {
    margin-top: 1.88vw;
  }
  .main.post .next h2 + h1 {
    margin-top: 0.35vw;
  }
  .main.post .next h1 + .label {
    margin-top: 3.4vw;
  }
}
.main.post .renderingModal {
  display: block;
  position: fixed;
  z-index: 10;
  top: 0;
  left: 0;
  width: 100%;
  height: var(--vp-height);
  opacity: 0;
  pointer-events: none;
  overscroll-behavior: contain;
}
.main.post .renderingModal.is-visible {
  opacity: 1;
  pointer-events: unset;
}
.main.post .renderingModal:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #000;
  opacity: 0.5;
}
.main.post .renderingModal .modalInner {
  display: flex;
  position: relative;
  z-index: 2;
  width: 100%;
  height: 100%;
}
.main.post .renderingModal .box,
.main.post .renderingModal .form {
  display: none;
  flex-direction: column;
  position: relative;
  margin: auto;
  background-color: #fff;
  max-height: var(--vp-height);
}
.main.post .renderingModal .box.is-active,
.main.post .renderingModal .form.is-active {
  display: flex;
}
.main.post .renderingModal .box {
  width: 80vw;
}
.main.post .renderingModal .form {
  width: 100vw;
}
.main.post .renderingModal .form .left {
  display: none;
}
.main.post .renderingModal .form .right {
  display: flex;
  flex-direction: column;
  max-height: var(--vp-height);
}
.main.post .renderingModal .box,
.main.post .renderingModal .form .formHeader,
.main.post .renderingModal .form form {
  padding: 5.87vw 6.67vw;
}
.main.post .renderingModal .form .formHeader {
  position: relative;
  padding-bottom: 2.93vw;
}
.main.post .renderingModal .form .formHeader h2 {
  color: #9F8D6A;
}
.main.post .renderingModal .form .formHeader:after {
  content: "";
  display: block;
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  height: 4.27vw;
  background: linear-gradient(to bottom, #fff 0%, rgba(255, 255, 255, 0) 100%);
}
.main.post .renderingModal .form form {
  padding-top: 2.93vw;
}
.main.post .renderingModal .form form.is-submitting fieldset {
  opacity: 0.5;
  pointer-events: none;
}
.main.post .renderingModal .form form.has-submitted fieldset {
  opacity: 0;
  pointer-events: none;
}
.main.post .renderingModal .form form.has-submitted .success {
  opacity: 1;
  transform: translateY(0);
  transition: 0.35s ease-out 0.15s;
}
.main.post .renderingModal .form form.has-submitted .success > * {
  pointer-events: all;
}
.main.post .renderingModal .success {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  position: absolute;
  transform: translateY(20px);
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  padding: inherit;
  opacity: 0;
  pointer-events: none;
}
.main.post .renderingModal .success .p {
  margin-top: 0.5em;
}
.main.post .renderingModal .success .close-rendering {
  margin-top: 2em;
}
.main.post .renderingModal .success .close-rendering a {
  transition: opacity 0.5s, transform 0.5s;
}
.main.post .renderingModal .success .close-rendering a:hover {
  opacity: 0.5;
}
.main.post .renderingModal .success .close-rendering a:active {
  transform: scale(0.95);
  opacity: 0.75;
  transition: opacity 0.15s, transform 0.15s;
}
.main.post .renderingModal .form form {
  overflow: auto;
}
.main.post .renderingModal .form form h4 + p {
  margin-top: 5.33vw;
}
.main.post .renderingModal .form form p {
  color: #9F8D6A;
}
.main.post .renderingModal .form form .label {
  color: #9F8D6A;
}
.main.post .renderingModal .form form button.label {
  color: #fff;
}
.main.post .renderingModal form > div:nth-child(1):not(.field),
.main.post .renderingModal .textbox,
.main.post .renderingModal .hs-form-field {
  position: relative;
}
.main.post .renderingModal form > div:nth-child(1):not(.field) + .textbox,
.main.post .renderingModal form > div:nth-child(1):not(.field) + .hs-form-field,
.main.post .renderingModal .textbox + .textbox,
.main.post .renderingModal .textbox + .hs-form-field,
.main.post .renderingModal .hs-form-field + .textbox,
.main.post .renderingModal .hs-form-field + .hs-form-field {
  margin-top: 8vw;
}
.main.post .renderingModal .submit,
.main.post .renderingModal .hs-submit {
  margin-top: 10.67vw;
}
.main.post .renderingModal input,
.main.post .renderingModal textarea,
.main.post .renderingModal select,
.main.post .renderingModal button {
  padding: 0;
  border: 0;
  color: currentColor;
  appearance: none;
  -webkit-appearance: none;
  width: 100%;
  outline: none;
}
.main.post .renderingModal input:placeholder-shown ~ label,
.main.post .renderingModal textarea:placeholder-shown ~ label,
.main.post .renderingModal select:placeholder-shown ~ label,
.main.post .renderingModal button:placeholder-shown ~ label {
  transform: translateY(0) scale(1);
  color: #9F8D6A;
}
.main.post .renderingModal input:focus ~ label,
.main.post .renderingModal textarea:focus ~ label,
.main.post .renderingModal select:focus ~ label,
.main.post .renderingModal button:focus ~ label {
  transform: translateY(-100%) scale(0.8);
  color: var(--theme-color);
}
.main.post .renderingModal .hs-richtext {
  font-family: ivypresto-display, serif;
  font-weight: 100;
  font-style: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 28px;
  line-height: 32px;
  letter-spacing: 0.02em;
}
@media screen and (min-width: 500px) {
  .main.post .renderingModal .hs-richtext {
    font-size: 5.6vw;
    line-height: 6.4vw;
  }
}
@media screen and (min-width: 768px) {
  .main.post .renderingModal .hs-richtext {
    font-size: 3.65vw;
    line-height: 4.17vw;
  }
}
@media screen and (min-width: 1024px) {
  .main.post .renderingModal .hs-richtext {
    font-size: 2.43vw;
    line-height: 1.29;
  }
}
.main.post .renderingModal .submitted-message,
.main.post .renderingModal input:not([type=submit]),
.main.post .renderingModal select,
.main.post .renderingModal textarea {
  font-family: acumin-pro, sans-serif;
  font-weight: 200;
  font-style: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 15px;
  line-height: 1.53;
  letter-spacing: 0.03em;
}
@media screen and (min-width: 500px) {
  .main.post .renderingModal .submitted-message,
.main.post .renderingModal input:not([type=submit]),
.main.post .renderingModal select,
.main.post .renderingModal textarea {
    font-size: 3vw;
  }
}
@media screen and (min-width: 768px) {
  .main.post .renderingModal .submitted-message,
.main.post .renderingModal input:not([type=submit]),
.main.post .renderingModal select,
.main.post .renderingModal textarea {
    font-size: 1.95vw;
  }
}
@media screen and (min-width: 1024px) {
  .main.post .renderingModal .submitted-message,
.main.post .renderingModal input:not([type=submit]),
.main.post .renderingModal select,
.main.post .renderingModal textarea {
    font-size: 1.04vw;
  }
}
.main.post .renderingModal .select-control {
  position: relative;
}
.main.post .renderingModal .select-control:before, .main.post .renderingModal .select-control:after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  right: 4.27vw;
  width: 2.13vw;
  height: 1px;
  background-color: currentColor;
}
.main.post .renderingModal .select-control:before {
  transform: rotate(45deg);
}
.main.post .renderingModal .select-control:after {
  transform: translateX(75%) rotate(-45deg);
}
.main.post .renderingModal label + input,
.main.post .renderingModal label + select,
.main.post .renderingModal label + textarea,
.main.post .renderingModal label + .select-control {
  margin-top: 1.07vw;
}
.main.post .renderingModal textarea:first-child {
  margin-top: 4.27vw;
}
.main.post .renderingModal input:not([type=submit]):not([type=checkbox]):not([type=radio]) {
  padding: 1.07vw 0;
  border-bottom: 1px solid rgba(159, 141, 106, 0.32);
  background-color: transparent;
}
.main.post .renderingModal select {
  padding: 1.07vw;
  border-bottom: 1px solid rgba(159, 141, 106, 0.32);
  background-color: transparent;
}
.main.post .renderingModal .checkbox {
  display: flex;
  align-items: center;
  position: relative;
  margin-top: 4.27vw;
}
.main.post .renderingModal .checkbox:before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  border: 1px solid rgba(159, 141, 106, 0.32);
  border-radius: 100px;
}
.main.post .renderingModal .checkbox input {
  appearance: none;
  margin: 0 3.2vw 0 0;
  background-color: #9F8D6A;
  border-radius: 100px;
  transform: scale(0.4);
  opacity: 0;
  transition: 0.35s;
}
.main.post .renderingModal .checkbox:before,
.main.post .renderingModal .checkbox input {
  width: 5.33vw;
  height: 5.33vw;
}
.main.post .renderingModal .checkbox span {
  flex: 1;
  margin-bottom: 0.2em;
  line-height: 1.2;
}
.main.post .renderingModal .checkbox:hover input {
  opacity: 0.5;
}
.main.post .renderingModal .checkbox input:checked {
  opacity: 1;
  transform: scale(0.55);
}
.main.post .renderingModal .hs-fieldtype-textarea label ~ .input {
  margin-top: max(10px, 0.69vw);
}
.main.post .renderingModal .hs-error-msgs {
  padding-top: max(10px, 0.69vw);
}
.main.post .renderingModal .hs-error-msgs label {
  color: #252525;
}
.main.post .renderingModal textarea {
  padding: 1.07vw;
  border: 1px solid rgba(159, 141, 106, 0.32);
  height: 6em;
  background-color: transparent;
}
.main.post .renderingModal textarea:placeholder-shown ~ label {
  transform: translateY(0) translateX(1.07vw) scale(1);
}
.main.post .renderingModal textarea:focus ~ label {
  transform: translateY(-125%) scale(0.8);
}
.main.post .renderingModal input[type=submit] {
  font-family: acumin-pro, sans-serif;
  font-weight: 600;
  font-style: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 12px;
  line-height: 1;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
@media screen and (min-width: 500px) {
  .main.post .renderingModal input[type=submit] {
    font-size: 2.4vw;
  }
}
@media screen and (min-width: 768px) {
  .main.post .renderingModal input[type=submit] {
    font-size: 1.56vw;
  }
}
@media screen and (min-width: 1024px) {
  .main.post .renderingModal input[type=submit] {
    font-size: 0.83vw;
  }
}
.main.post .renderingModal button,
.main.post .renderingModal input[type=submit] {
  padding: 5.33vw;
  background-color: var(--theme-color);
  color: #fff;
  border-radius: 100px;
  cursor: pointer;
  transition: opacity 0.5s, transform 0.5s;
}
.main.post .renderingModal button:hover,
.main.post .renderingModal input[type=submit]:hover {
  opacity: 0.75;
}
.main.post .renderingModal button:active,
.main.post .renderingModal input[type=submit]:active {
  transform: scale(0.975);
  opacity: 0.9;
  transition: opacity 0.15s, transform 0.15s;
}
.main.post .renderingModal .button,
.main.post .renderingModal .actions a.label {
  padding: 2.67vw 2.67vw 3.2vw;
  background-color: var(--theme-color);
  border-radius: 100px;
  color: #fff;
  cursor: pointer;
  transition: opacity 0.5s, transform 0.5s;
}
.main.post .renderingModal .button:hover,
.main.post .renderingModal .actions a.label:hover {
  opacity: 0.75;
}
.main.post .renderingModal .button:active,
.main.post .renderingModal .actions a.label:active {
  transform: scale(0.975);
  opacity: 0.9;
  transition: opacity 0.15s, transform 0.15s;
}
.main.post .renderingModal .h2 {
  min-height: 1em;
  width: calc(100% - 30px);
}
.main.post .renderingModal .actions {
  margin-top: 20px;
  display: flex;
  gap: 20px;
}
.main.post .renderingModal .actions a.label {
  flex: 1;
  text-align: center;
}
.main.post .renderingModal .close {
  position: absolute;
  top: 5.33vw;
  right: 4.53vw;
  display: flex;
  justify-content: center;
}
.main.post .renderingModal .close i {
  display: block;
  position: relative;
  width: 5.6vw;
  height: 5.6vw;
}
.main.post .renderingModal .close i:before, .main.post .renderingModal .close i:after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #9F8D6A;
}
.main.post .renderingModal .close i:before {
  transform: rotate(45deg);
}
.main.post .renderingModal .close i:after {
  transform: rotate(-45deg);
}
.main.post .renderingModal .close a {
  display: block;
  transition: opacity 0.5s, transform 0.5s;
}
.main.post .renderingModal .close a:hover {
  opacity: 0.5;
}
.main.post .renderingModal .close a:active {
  transform: scale(0.95);
  opacity: 0.75;
  transition: opacity 0.15s, transform 0.15s;
}
@media (max-width: 767px) {
  .main.post .renderingModal .close a {
    font-size: 0;
  }
}
@media screen and (min-width: 768px) {
  .main.post .renderingModal .close {
    flex: 1;
    order: 3;
    top: 1.95vw;
    right: 1.66vw;
  }
  .main.post .renderingModal .close i {
    display: none;
  }
}
@media screen and (min-width: 1024px) {
  .main.post .renderingModal .close {
    top: 1.39vw;
    right: 1.39vw;
  }
}
.main.post .renderingModal fieldset {
  margin-top: 8vw;
  transition: 0.35s;
}
.main.post .renderingModal fieldset.columns {
  display: grid;
  row-gap: 3.84vw;
}
@media screen and (min-width: 768px) {
  .main.post .renderingModal .box {
    width: 50vw;
  }
  .main.post .renderingModal .form .h2 {
    text-align: left;
  }
  .main.post .renderingModal .form .h2 br {
    display: none;
  }
  .main.post .renderingModal .box,
.main.post .renderingModal .form {
    max-width: calc(100vw - 7.81vw);
  }
  .main.post .renderingModal .box,
.main.post .renderingModal .form .right {
    max-height: calc(var(--vp-height) - 7.81vw);
  }
  .main.post .renderingModal .box,
.main.post .renderingModal .form .formHeader,
.main.post .renderingModal .form form {
    padding: 4.3vw 4.88vw 5.27vw;
  }
  .main.post .renderingModal .form .formHeader {
    padding-bottom: 2.15vw;
  }
  .main.post .renderingModal .form .formHeader:after {
    height: 2.15vw;
  }
  .main.post .renderingModal .form form {
    padding-top: 2.15vw;
  }
  .main.post .renderingModal .form form h4 + p {
    margin-top: 1.95vw;
  }
  .main.post .renderingModal .select-control:before, .main.post .renderingModal .select-control:after {
    right: 1.56vw;
    width: 0.78vw;
  }
  .main.post .renderingModal label + input,
.main.post .renderingModal label + select,
.main.post .renderingModal label + textarea,
.main.post .renderingModal label + .select-control {
    margin-top: 0.39vw;
  }
  .main.post .renderingModal textarea:first-child {
    margin-top: 1.56vw;
  }
  .main.post .renderingModal input:not([type=submit]):not([type=checkbox]):not([type=radio]) {
    padding: 0.39vw 0;
  }
  .main.post .renderingModal select {
    padding: 0.39vw;
  }
  .main.post .renderingModal .checkbox {
    margin-top: 1.56vw;
  }
  .main.post .renderingModal .checkbox input {
    margin: 0 1.17vw 0 0;
  }
  .main.post .renderingModal .checkbox:before,
.main.post .renderingModal .checkbox input {
    width: 1.95vw;
    height: 1.95vw;
  }
  .main.post .renderingModal form > div:nth-child(1):not(.field) + .textbox,
.main.post .renderingModal form > div:nth-child(1):not(.field) + .hs-form-field,
.main.post .renderingModal .textbox + .textbox,
.main.post .renderingModal .textbox + .hs-form-field,
.main.post .renderingModal .hs-form-field + .textbox,
.main.post .renderingModal .hs-form-field + .hs-form-field {
    margin-top: 2.93vw;
  }
  .main.post .renderingModal .submit,
.main.post .renderingModal .hs-submit {
    margin-top: 3.91vw;
  }
  .main.post .renderingModal label {
    top: 0.39vw;
  }
  .main.post .renderingModal textarea {
    padding: 0.39vw;
    height: 6em;
  }
  .main.post .renderingModal textarea:placeholder-shown ~ label {
    transform: translateY(0) translateX(0.39vw) scale(1);
  }
  .main.post .renderingModal textarea:focus ~ label {
    transform: translateY(-125%) scale(0.8);
  }
  .main.post .renderingModal input:not([type=submit]) {
    padding: 0.39vw 0;
  }
  .main.post .renderingModal button,
.main.post .renderingModal input[type=submit] {
    padding: 1.95vw;
  }
  .main.post .renderingModal .button,
.main.post .renderingModal .actions a.label {
    padding: 0.98vw 2.34vw;
    width: auto;
  }
  .main.post .renderingModal .h2 {
    width: 100%;
    text-align: center;
  }
  .main.post .renderingModal .actions {
    margin-top: 1.95vw;
    gap: 1.95vw;
  }
  .main.post .renderingModal fieldset {
    margin-top: 4.39vw;
  }
  .main.post .renderingModal fieldset.columns {
    display: grid;
    grid-template-columns: 1fr 1fr;
    row-gap: 1.95vw;
    column-gap: 3.91vw;
  }
  .main.post .renderingModal fieldset.columns .legend,
.main.post .renderingModal fieldset.columns .form-field.full {
    grid-column-start: 1;
    grid-column-end: 3;
  }
}
@media screen and (min-width: 1024px) {
  .main.post .renderingModal .box,
.main.post .renderingModal .form .formHeader,
.main.post .renderingModal .form form {
    padding: 3.06vw 3.47vw 3.75vw;
  }
  .main.post .renderingModal .form .formHeader {
    padding-bottom: 1.53vw;
  }
  .main.post .renderingModal .form form {
    padding-top: 1.53vw;
  }
  .main.post .renderingModal .form form h4 + p {
    margin-top: 1.39vw;
  }
  .main.post .renderingModal .box,
.main.post .renderingModal .form {
    max-width: calc(100vw - 8.33vw);
  }
  .main.post .renderingModal .box,
.main.post .renderingModal .form .right {
    max-height: calc(var(--vp-height) - 5.56vw);
  }
  .main.post .renderingModal .form {
    flex-direction: row;
    width: 100vw;
  }
  .main.post .renderingModal .form .left {
    display: flex;
    padding: 3.06vw 0 3.06vw 3.47vw;
    width: 33%;
  }
  .main.post .renderingModal .form .left picture {
    display: block;
    margin: auto;
  }
  .main.post .renderingModal .form .right {
    position: relative;
    width: 67%;
  }
  .main.post .renderingModal .form .right:after {
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 3.75vw;
    background: linear-gradient(to top, #fff 0%, rgba(255, 255, 255, 0) 100%);
  }
  .main.post .renderingModal .box {
    width: 33vw;
  }
  .main.post .renderingModal fieldset {
    margin-top: 3.13vw;
  }
  .main.post .renderingModal fieldset.columns {
    display: grid;
    grid-template-columns: 1fr 1fr;
    row-gap: 1vw;
    column-gap: 1.74vw;
  }
  .main.post .renderingModal fieldset.columns .legend,
.main.post .renderingModal fieldset.columns .form-field.full {
    grid-column-start: 1;
    grid-column-end: 3;
  }
  .main.post .renderingModal .select-control:before, .main.post .renderingModal .select-control:after {
    right: 1.11vw;
    width: 0.56vw;
  }
  .main.post .renderingModal label + input,
.main.post .renderingModal label + select,
.main.post .renderingModal label + textarea,
.main.post .renderingModal label + .select-control {
    margin-top: 0.28vw;
  }
  .main.post .renderingModal textarea:first-child {
    margin-top: 1.11vw;
  }
  .main.post .renderingModal input:not([type=submit]):not([type=checkbox]):not([type=radio]) {
    padding: 0.28vw 0;
  }
  .main.post .renderingModal select {
    padding: 0.28vw;
  }
  .main.post .renderingModal .checkbox {
    margin-top: 1.11vw;
  }
  .main.post .renderingModal .checkbox input {
    margin: 0 0.83vw 0 0;
  }
  .main.post .renderingModal .checkbox:before,
.main.post .renderingModal .checkbox input {
    width: 1.39vw;
    height: 1.39vw;
  }
  .main.post .renderingModal form > div:nth-child(1):not(.field) + .textbox,
.main.post .renderingModal form > div:nth-child(1):not(.field) + .hs-form-field,
.main.post .renderingModal .textbox + .textbox,
.main.post .renderingModal .textbox + .hs-form-field,
.main.post .renderingModal .hs-form-field + .textbox,
.main.post .renderingModal .hs-form-field + .hs-form-field {
    margin-top: 2.08vw;
  }
  .main.post .renderingModal .submit,
.main.post .renderingModal .hs-submit {
    margin-top: 2.78vw;
  }
  .main.post .renderingModal label {
    top: 0.28vw;
  }
  .main.post .renderingModal textarea {
    padding: 0.28vw;
  }
  .main.post .renderingModal textarea:placeholder-shown ~ label {
    transform: translateY(0) translateX(0.28vw) scale(1);
  }
  .main.post .renderingModal textarea:focus ~ label {
    transform: translateY(-125%) scale(0.8);
  }
  .main.post .renderingModal input:not([type=submit]) {
    padding: 0.28vw 0;
  }
  .main.post .renderingModal button,
.main.post .renderingModal input[type=submit] {
    width: auto;
    padding: 0.69vw 2.57vw;
  }
  .main.post .renderingModal .button,
.main.post .renderingModal .actions a.label {
    padding: 0.69vw 1.67vw;
  }
  .main.post .renderingModal .actions {
    margin-top: 1.39vw;
    gap: 1.39vw;
  }
}

.main.semiCustom .intro {
  padding: 0 0 20.27vw;
}
.main.semiCustom .intro .image {
  position: relative;
  min-height: 66vh;
}
.main.semiCustom .intro .image img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.main.semiCustom .intro .text {
  position: relative;
  padding: 16.53vw 5.33vw 0;
}
.main.semiCustom .intro h1 {
  text-align: center;
}
.main.semiCustom .intro h1 + .p {
  margin-top: 5.6vw;
}
.main.semiCustom .intro .p {
  color: #9F8D6A;
  text-align: center;
}
.main.semiCustom .intro .cta {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2.67vw;
  margin-top: 8.27vw;
}
@media screen and (min-width: 768px) {
  .main.semiCustom .intro {
    padding: 16.41vw 0 11.72vw;
  }
  .main.semiCustom .intro .module {
    display: flex;
    align-items: flex-start;
    padding: 0;
  }
  .main.semiCustom .intro .image {
    position: relative;
    min-height: 0;
    width: 48.83vw;
  }
  .main.semiCustom .intro .image img {
    position: static;
  }
  .main.semiCustom .intro .image + .text {
    margin-top: 0;
  }
  .main.semiCustom .intro .text {
    flex: 1;
    padding-left: 8.79vw;
    padding-right: 10.74vw;
    padding-top: 0;
  }
  .main.semiCustom .intro h1 {
    text-align: left;
  }
  .main.semiCustom .intro h1 + .p {
    margin-top: 3.71vw;
  }
  .main.semiCustom .intro .p {
    text-align: left;
  }
  .main.semiCustom .intro .cta {
    gap: 0.98vw;
    margin-top: 2.93vw;
  }
}
@media screen and (min-width: 1024px) {
  .main.semiCustom .intro {
    padding: 11.67vw 0 7.64vw;
  }
  .main.semiCustom .intro .module {
    align-items: center;
  }
  .main.semiCustom .intro .image {
    width: 45.14vw;
  }
  .main.semiCustom .intro .text {
    padding-left: 9.03vw;
    padding-right: 13.89vw;
  }
  .main.semiCustom .intro h1 + .p {
    margin-top: 2.64vw;
  }
  .main.semiCustom .intro .cta {
    gap: 0.69vw;
    margin-top: 2.08vw;
  }
}
.main.semiCustom .experience {
  position: relative;
  padding-bottom: 20.53vw;
}
.main.semiCustom .experience .header {
  padding: 0 5.33vw 10.67vw;
}
.main.semiCustom .experience h2 + .p {
  margin-top: 2.13vw;
}
.main.semiCustom .experience h3 + .p {
  margin-top: 1.07vw;
}
.main.semiCustom .experience .p {
  color: #9F8D6A;
}
@media (max-width: 767px) {
  .main.semiCustom .experience .module .image img {
    min-height: 50vh;
    object-fit: cover;
  }
}
.main.semiCustom .experience .module .text {
  margin-top: 18.67vw;
  padding: 0 5.33vw;
}
.main.semiCustom .experience .module .headline {
  margin: auto;
  max-width: 53.33vw;
  text-align: center;
}
.main.semiCustom .experience .steps {
  position: relative;
  margin-top: 12vw;
  margin-left: 5.07vw;
  counter-reset: experience;
}
.main.semiCustom .experience .steps .line {
  display: block;
  position: absolute;
  top: 2.93vw;
  left: 0;
  width: 1px;
  height: calc(100% - 16vw);
  background-color: var(--theme-color);
}
.main.semiCustom .experience .step {
  position: relative;
  padding-left: 7.47vw;
}
.main.semiCustom .experience .step:before {
  content: counter(experience);
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  z-index: 2;
  top: 0;
  left: 0;
  transform: translate3d(-50%, -5%, 0);
  width: 8vw;
  height: 8vw;
  background-color: #F6F0E4;
  color: var(--theme-color);
  border: 1px solid var(--theme-color);
  border-radius: 50%;
  counter-increment: experience;
  font-family: acumin-pro, sans-serif;
  font-weight: 400;
  font-style: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 3.73vw;
  line-height: 0.4;
  transition: 0.5s;
}
.main.semiCustom .experience .step:last-child:after {
  content: "";
  position: absolute;
  top: 0;
  left: -1px;
  width: 3px;
  height: 100%;
  background-color: #F6F0E4;
}
.main.semiCustom .experience .step.is-active:before {
  background-color: var(--theme-color);
  color: #fff;
}
.main.semiCustom .experience .step + .step {
  margin-top: 11.47vw;
}
@media screen and (min-width: 768px) {
  .main.semiCustom .experience {
    padding-bottom: 15.63vw;
  }
  .main.semiCustom .experience .header {
    padding: 0 27.47vw 5.21vw;
    text-align: center;
  }
  .main.semiCustom .experience h2 + .p {
    margin-top: 2.86vw;
  }
  .main.semiCustom .experience h3 + .p {
    margin-top: 0.52vw;
  }
  .main.semiCustom .experience .module {
    padding: 0;
  }
  .main.semiCustom .experience .module .text {
    display: flex;
    align-items: flex-start;
    margin-top: 13.67vw;
  }
  .main.semiCustom .experience .module .headline {
    flex: 1;
    margin: 0;
    text-align: left;
  }
  .main.semiCustom .experience .module h2 {
    width: 78.72%;
  }
  .main.semiCustom .experience .steps {
    margin-top: 0;
    width: 51.87%;
    padding-top: 0.78vw;
  }
  .main.semiCustom .experience .steps .line {
    top: 5.21vw;
    height: calc(100% - 7.81vw);
  }
  .main.semiCustom .experience .step {
    padding-left: 6.9vw;
  }
  .main.semiCustom .experience .step:before {
    width: 4.56vw;
    height: 4.56vw;
    font-size: 1.82vw;
  }
  .main.semiCustom .experience .step + .step {
    margin-top: 3.91vw;
  }
}
@media screen and (min-width: 1024px) {
  .main.semiCustom .experience {
    padding-bottom: 8.33vw;
  }
  .main.semiCustom .experience .header {
    padding: 0 27.5vw 2.78vw;
  }
  .main.semiCustom .experience h2 + .p {
    margin-top: 1.53vw;
  }
  .main.semiCustom .experience h3 + .p {
    margin-top: 0.28vw;
  }
  .main.semiCustom .experience .module {
    padding: 0 19.44vw;
  }
  .main.semiCustom .experience .module .image + .text {
    margin-top: 5.63vw;
  }
  .main.semiCustom .experience .module .text {
    padding: 0;
    margin-top: 7.29vw;
  }
  .main.semiCustom .experience .steps {
    padding-top: 0.42vw;
  }
  .main.semiCustom .experience .steps .line {
    top: 0.69vw;
    height: calc(100% - 3.47vw);
  }
  .main.semiCustom .experience .steps .marker {
    top: calc(50svh - 0.21vw);
    width: 0.49vw;
    height: 0.49vw;
  }
  .main.semiCustom .experience .step {
    padding-left: 3.68vw;
  }
  .main.semiCustom .experience .step:before {
    transform: translate3d(-50%, 13%, 0);
    width: 2.43vw;
    height: 2.43vw;
    font-size: 0.97vw;
  }
  .main.semiCustom .experience .step:last-child:after {
    top: 10%;
  }
  .main.semiCustom .experience .step + .step {
    margin-top: 2.08vw;
  }
}
.main.semiCustom .gallery {
  background-color: #fff;
  padding: 16vw 0;
}
.main.semiCustom .gallery .header {
  padding: 0 5.33vw;
}
.main.semiCustom .gallery .header + .slider {
  margin-top: 7.2vw;
}
.main.semiCustom .gallery .splide__list {
  width: 69.33vw;
}
.main.semiCustom .gallery .image {
  width: 100%;
}
@media (max-width: 767px) {
  .main.semiCustom .gallery .image {
    position: relative;
  }
  .main.semiCustom .gallery .image:before {
    content: "";
    display: block;
    width: 100%;
    height: 0;
    padding-top: 100%;
  }
  .main.semiCustom .gallery .image picture,
.main.semiCustom .gallery .image img,
.main.semiCustom .gallery .image video,
.main.semiCustom .gallery .image iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
  .main.semiCustom .gallery .image video,
.main.semiCustom .gallery .image img {
    object-fit: cover;
  }
}
.main.semiCustom .gallery .image + .text {
  margin-top: 5.33vw;
}
.main.semiCustom .gallery h3 {
  color: #9F8D6A;
  line-height: 1.3;
}
@media screen and (min-width: 768px) {
  .main.semiCustom .gallery {
    padding: 7.81vw 0;
  }
  .main.semiCustom .gallery .header {
    padding: 0 7.81vw;
  }
  .main.semiCustom .gallery .header + .slider {
    margin-top: 2.93vw;
  }
  .main.semiCustom .gallery .splide__list {
    width: 100%;
  }
  .main.semiCustom .gallery .image img {
    height: 52.64vw;
    width: auto;
  }
  .main.semiCustom .gallery .image + .text {
    margin-top: 2.73vw;
  }
}
@media screen and (min-width: 1024px) {
  .main.semiCustom .gallery {
    padding: 5.56vw 0;
  }
  .main.semiCustom .gallery .header {
    padding: 0 8.33vw;
  }
  .main.semiCustom .gallery .header + .slider {
    margin-top: 2.08vw;
  }
  .main.semiCustom .gallery .image img {
    height: 37.43vw;
  }
  .main.semiCustom .gallery .image + .text {
    margin-top: 1.94vw;
  }
}
.main.semiCustom .body {
  padding: 20vw 5.33vw;
}
.main.semiCustom .body h2 + .p {
  margin-top: 2.13vw;
}
.main.semiCustom .body p, .main.semiCustom .body li, .main.semiCustom .body .p {
  color: #9F8D6A;
}
.main.semiCustom .body .block + .block.text {
  margin-top: 18.4vw;
}
.main.semiCustom .body .block + .block.thumbnails {
  margin-top: 12.27vw;
}
.main.semiCustom .body .thumbnails {
  display: grid;
  row-gap: 8.8vw;
}
.main.semiCustom .body .thumbnail .image {
  width: 26.67vw;
  position: relative;
}
.main.semiCustom .body .thumbnail .image:before {
  content: "";
  display: block;
  width: 100%;
  height: 0;
  padding-top: 100%;
}
.main.semiCustom .body .thumbnail .image picture,
.main.semiCustom .body .thumbnail .image img,
.main.semiCustom .body .thumbnail .image video,
.main.semiCustom .body .thumbnail .image iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.main.semiCustom .body .thumbnail .image video,
.main.semiCustom .body .thumbnail .image img {
  object-fit: cover;
}
.main.semiCustom .body .thumbnail .image + .text {
  margin-top: 5.07vw;
}
.main.semiCustom .body .label + .p {
  margin-top: 1.6vw;
}
@media screen and (min-width: 768px) {
  .main.semiCustom .body {
    padding: 14.19vw 0;
  }
  .main.semiCustom .body h2 + .p {
    margin-top: 1.04vw;
  }
  .main.semiCustom .body .block.text {
    padding: 0 17.36vw;
  }
  .main.semiCustom .body .block.thumbnails {
    padding: 0 11.11vw;
  }
  .main.semiCustom .body .block + .block.text {
    margin-top: 8.85vw;
  }
  .main.semiCustom .body .block + .block.thumbnails {
    margin-top: 8.85vw;
  }
  .main.semiCustom .body .thumbnails {
    grid-template-columns: 1fr 1fr 1fr;
    column-gap: 4.31vw;
  }
  .main.semiCustom .body .thumbnail .image {
    width: 100%;
  }
  .main.semiCustom .body .thumbnail .image + .text {
    margin-top: 3.65vw;
  }
  .main.semiCustom .body .label + .p {
    margin-top: 0.78vw;
  }
}
@media screen and (min-width: 1024px) {
  .main.semiCustom .body {
    padding: 7.57vw 0;
  }
  .main.semiCustom .body h2 + .p {
    margin-top: 0.56vw;
  }
  .main.semiCustom .body .block.text {
    padding: 0 27.08vw;
  }
  .main.semiCustom .body .block.thumbnails {
    padding: 0 22.15vw;
  }
  .main.semiCustom .body .block + .block.text {
    margin-top: 7.92vw;
  }
  .main.semiCustom .body .block + .block.thumbnails {
    margin-top: 4.72vw;
  }
  .main.semiCustom .body .thumbnails {
    row-gap: 4.31vw;
  }
  .main.semiCustom .body .thumbnail .image + .text {
    margin-top: 1.94vw;
  }
  .main.semiCustom .body .label + .p {
    margin-top: 0.42vw;
  }
}
.main.semiCustom .help {
  padding: 13.6vw 0 15.73vw;
  background-color: var(--theme-color);
  color: #fff;
}
.main.semiCustom .help .header {
  padding: 0 5.33vw;
}
.main.semiCustom .help .header + .body {
  margin-top: 5.33vw;
}
.main.semiCustom .help .cards {
  display: flex;
  padding: 0 5.33vw;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.main.semiCustom .help .card + .card {
  margin-left: 5.33vw;
}
.main.semiCustom .help .image {
  width: 55.47vw;
  position: relative;
}
.main.semiCustom .help .image:before {
  content: "";
  display: block;
  width: 100%;
  height: 0;
  padding-top: 125%;
}
.main.semiCustom .help .image picture,
.main.semiCustom .help .image img,
.main.semiCustom .help .image video,
.main.semiCustom .help .image iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.main.semiCustom .help .image video,
.main.semiCustom .help .image img {
  object-fit: cover;
}
.main.semiCustom .help .image + .text {
  margin-top: 3.73vw;
}
.main.semiCustom .help h2 + h3 {
  margin-top: 4vw;
}
@media screen and (min-width: 768px) {
  .main.semiCustom .help {
    padding: 7.81vw 9.57vw 7.42vw;
  }
  .main.semiCustom .help .cards {
    justify-content: space-between;
    padding: 0;
    overflow: visible;
  }
  .main.semiCustom .help .header {
    padding: 0 14.17vw;
    text-align: center;
  }
  .main.semiCustom .help .header + .body {
    margin-top: 3.89vw;
  }
  .main.semiCustom .help .card {
    width: 24.41vw;
  }
  .main.semiCustom .help .card + .card {
    margin-left: 0;
  }
  .main.semiCustom .help .image {
    width: 100%;
  }
  .main.semiCustom .help .image + .text {
    margin-top: 2.73vw;
  }
  .main.semiCustom .help h2 + h3 {
    margin-top: 1.46vw;
  }
}
@media screen and (min-width: 1024px) {
  .main.semiCustom .help {
    padding: 5.83vw 14.17vw 4.86vw;
  }
  .main.semiCustom .help .header {
    padding: 0 14.17vw;
  }
  .main.semiCustom .help .header + .body {
    margin-top: 3.89vw;
  }
  .main.semiCustom .help .card {
    width: 19.1vw;
  }
  .main.semiCustom .help .image + .text {
    margin-top: 1.53vw;
  }
  .main.semiCustom .help h2 + h3 {
    margin-top: 1.6vw;
  }
}
.main.semiCustom ~ .newsletter,
.main.semiCustom ~ footer {
  position: relative;
}
.main.semiCustom ~ .newsletter:before,
.main.semiCustom ~ footer:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: rgba(255, 255, 255, 0.27);
}
.main.semiCustom .hero .action {
  color: #fff;
}

.main.showrooms .page {
  padding: 37.87vw 5.33vw 25.33vw;
}
@media screen and (max-width: 767px) {
  .main.showrooms .page:first-child {
    padding-bottom: 5.33vw;
  }
}
.main.showrooms .page + .page {
  padding-top: 0;
}
.main.showrooms .page .header + .body {
  margin-top: 12vw;
}
.main.showrooms .page .locations {
  display: grid;
  row-gap: 8vw;
}
@media screen and (max-width: 1023px) {
  .main.showrooms .page .location.empty {
    display: none;
  }
}
.main.showrooms .page h2,
.main.showrooms .page .p {
  color: #9F8D6A;
}
.main.showrooms .page h2 + .p {
  margin-top: 1.33vw;
}
.main.showrooms .page .p a {
  color: var(--theme-color);
  text-decoration: none;
}
.main.showrooms .page .p + .p {
  margin-top: 1.6vw;
}
@media screen and (min-width: 500px) {
  .main.showrooms .page {
    padding-top: 28.4vw;
  }
  .main.showrooms .page .locations {
    column-gap: 10.67vw;
  }
}
@media screen and (min-width: 768px) {
  .main.showrooms .page {
    padding: 17.97vw 5.86vw 17.97vw;
  }
  .main.showrooms .page:first-child {
    padding-bottom: 5.86vw;
  }
  .main.showrooms .page .header + .body {
    margin-top: 3.91vw;
  }
  .main.showrooms .page .locations {
    grid-template-columns: 1fr 1fr;
    column-gap: 4.88vw;
    row-gap: 3.91vw;
  }
  .main.showrooms .page h2 + .p {
    margin-top: 0.59vw;
  }
  .main.showrooms .page .p + .p {
    margin-top: 0.49vw;
  }
}
@media screen and (min-width: 1024px) {
  .main.showrooms .page {
    padding: 12.78vw 9.51vw 12.78vw 13.61vw;
  }
  .main.showrooms .page:first-child {
    padding-bottom: 5.56vw;
  }
  .main.showrooms .page .header + .body {
    margin-top: 2.78vw;
  }
  .main.showrooms .page .locations {
    grid-template-columns: 1fr 1fr 1fr;
    column-gap: 7.29vw;
    row-gap: 4.17vw;
  }
  .main.showrooms .page h2 + .p {
    margin-top: 0.42vw;
  }
  .main.showrooms .page .p + .p {
    margin-top: 0.35vw;
  }
}
@media screen and (min-width: 768px) {
  .main.showrooms .screen {
    display: flex;
  }
}
@media screen and (min-width: 1024px) {
  .main.showrooms .screen {
    align-items: center;
  }
}
.main.showrooms .screen .h1 {
  color: var(--theme-color);
}
.main.showrooms .screen .contact .image {
  position: relative;
}
.main.showrooms .screen .contact .image:before {
  content: "";
  display: block;
  width: 100%;
  height: 0;
  padding-top: 55.223880597%;
}
.main.showrooms .screen .contact .image picture,
.main.showrooms .screen .contact .image img,
.main.showrooms .screen .contact .image video,
.main.showrooms .screen .contact .image iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.main.showrooms .screen .contact .image video,
.main.showrooms .screen .contact .image img {
  object-fit: cover;
}
.main.showrooms .screen .contact .text {
  color: #9F8D6A;
}
.main.showrooms .screen .contact h2 + .p {
  margin-top: 2.13vw;
}
.main.showrooms .screen .contact .p + .action {
  margin-top: 5.6vw;
}
@media screen and (max-width: 767px) {
  .main.showrooms .screen .contact {
    padding-top: 6.13vw;
  }
  .main.showrooms .screen .contact .image + .text {
    margin-top: 9.33vw;
  }
}
@media screen and (min-width: 768px) {
  .main.showrooms .screen .contact {
    order: 1;
    flex: 1;
  }
  .main.showrooms .screen .contact h2 + .p {
    margin-top: 0.78vw;
  }
  .main.showrooms .screen .contact .p + .action {
    margin-top: 2.05vw;
  }
}
@media screen and (min-width: 1024px) {
  .main.showrooms .screen .contact {
    display: flex;
    align-items: center;
  }
  .main.showrooms .screen .contact .image {
    order: 2;
    width: 23.26vw;
  }
  .main.showrooms .screen .contact .image:before {
    padding-top: 125%;
  }
  .main.showrooms .screen .contact .text {
    order: 1;
    flex: 1;
    padding-right: 8.26vw;
  }
  .main.showrooms .screen .contact h2 + .p {
    margin-top: 1.11vw;
  }
  .main.showrooms .screen .contact .p + .action {
    margin-top: 1.94vw;
  }
}
.main.showrooms .screen .contact .action {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.main.showrooms .screen .contact .action a {
  font-family: ivypresto-display, serif;
  font-weight: 100;
  font-style: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: italic;
  font-size: 26px;
  line-height: 44px;
  letter-spacing: 0.02em;
  transition: opacity 0.5s, transform 0.5s;
}
.main.showrooms .screen .contact .action a:hover {
  opacity: 0.5;
}
.main.showrooms .screen .contact .action a:active {
  transform: scale(0.95);
  opacity: 0.75;
  transition: opacity 0.15s, transform 0.15s;
}
@media screen and (min-width: 500px) {
  .main.showrooms .screen .contact .action a {
    font-size: 5.2vw;
    line-height: 8.8vw;
  }
}
@media screen and (min-width: 768px) {
  .main.showrooms .screen .contact .action a {
    font-size: 3.39vw;
    line-height: 5.73vw;
  }
}
@media screen and (min-width: 1024px) {
  .main.showrooms .screen .contact .action a {
    font-size: 1.81vw;
    line-height: 1.69;
  }
}
@media screen and (max-width: 1023px) {
  .main.showrooms .screen .contact .image {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .main.showrooms .screen .contact + .visit {
    position: relative;
    margin-top: 0;
  }
  .main.showrooms .screen .contact + .visit:before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 50%;
    margin-left: -50vw;
    width: 150vw;
    height: 1px;
    background-color: #F3EDE0;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .main.showrooms .screen .contact {
    display: flex;
    flex-direction: column;
  }
  .main.showrooms .screen .contact .image {
    order: 1;
  }
  .main.showrooms .screen .contact .image .mobile {
    display: block;
  }
  .main.showrooms .screen .contact .image .desktop {
    display: block;
  }
  .main.showrooms .screen .contact .text {
    order: 2;
  }
}
.main.showrooms .screen .visit {
  padding: 15.73vw 0;
}
.main.showrooms .screen .visit .text {
  color: #9F8D6A;
}
.main.showrooms .screen .visit h2 + h3 {
  margin-top: 2.13vw;
}
.main.showrooms .screen .visit h3 {
  font-family: ivypresto-display, serif;
  font-weight: 100;
  font-style: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: italic;
  font-size: 26px;
  line-height: 44px;
  letter-spacing: 0.02em;
}
@media screen and (min-width: 500px) {
  .main.showrooms .screen .visit h3 {
    font-size: 5.2vw;
    line-height: 8.8vw;
  }
}
@media screen and (min-width: 768px) {
  .main.showrooms .screen .visit h3 {
    font-size: 3.39vw;
    line-height: 5.73vw;
  }
}
@media screen and (min-width: 1024px) {
  .main.showrooms .screen .visit h3 {
    font-size: 1.81vw;
    line-height: 1.69;
  }
}
.main.showrooms .screen .visit .p + .action {
  margin-top: 5.6vw;
}
.main.showrooms .screen .visit .action {
  color: var(--theme-color);
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .main.showrooms .screen .visit {
    padding-top: 0;
    padding-bottom: 0;
    padding-right: 0;
  }
}
@media screen and (min-width: 768px) {
  .main.showrooms .screen .visit h2 + h3 {
    margin-top: 1.66vw;
  }
  .main.showrooms .screen .visit .p + .action {
    margin-top: 2.05vw;
  }
}
@media screen and (min-width: 1024px) {
  .main.showrooms .screen .visit {
    padding: 0;
  }
  .main.showrooms .screen .visit h2 + h3 {
    margin-top: 1.18vw;
  }
  .main.showrooms .screen .visit .p + .action {
    margin-top: 1.46vw;
  }
}
.main.showrooms .screen .visit {
  position: relative;
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .main.showrooms .screen .visit {
    padding-left: 8.33vw;
  }
}
@media screen and (min-width: 768px) {
  .main.showrooms .screen .visit {
    order: 2;
    width: 50%;
  }
}
@media screen and (min-width: 1024px) {
  .main.showrooms .screen .visit {
    width: 19.65vw;
    margin-left: 7.85vw;
  }
}

.main.stories .featured {
  padding: 29.87vw 8.53vw 19.2vw;
  text-align: center;
}
.main.stories .featured .desktop {
  display: none;
}
.main.stories .featured .text + .image {
  margin-top: 5.33vw;
}
.main.stories .featured h3 + h2 {
  margin-top: 5.33vw;
}
.main.stories .featured h2 + .label {
  margin-top: 2.13vw;
}
.main.stories .featured h4, .main.stories .featured .p {
  color: #9F8D6A;
}
.main.stories .featured .image {
  margin: 0 11.2vw;
  position: relative;
}
.main.stories .featured .image:before {
  content: "";
  display: block;
  width: 100%;
  height: 0;
  padding-top: 125.2941176471%;
}
.main.stories .featured .image picture,
.main.stories .featured .image img,
.main.stories .featured .image video,
.main.stories .featured .image iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.main.stories .featured .image video,
.main.stories .featured .image img {
  object-fit: cover;
}
.main.stories .featured a + .mobile {
  margin-top: 4.53vw;
}
@media screen and (min-width: 768px) {
  .main.stories .featured {
    padding: 14.06vw 7.81vw 8.3vw;
  }
  .main.stories .featured a {
    display: flex;
    align-items: center;
  }
  .main.stories .featured .desktop {
    display: block;
  }
  .main.stories .featured .mobile {
    display: none;
  }
  .main.stories .featured .text {
    flex: 1;
  }
  .main.stories .featured .text + .image {
    margin-top: 0;
    margin-left: 7.81vw;
  }
  .main.stories .featured h3 + h2 {
    margin-top: 2.93vw;
  }
  .main.stories .featured h2 + .label {
    margin-top: 1.17vw;
  }
  .main.stories .featured .label + .p {
    margin-top: 3.81vw;
  }
  .main.stories .featured .image {
    margin: 0;
    width: 33.2vw;
  }
}
@media screen and (min-width: 1024px) {
  .main.stories .featured {
    padding: 10vw 23.13vw 5.9vw 19.79vw;
  }
  .main.stories .featured .text + .image {
    margin-left: 9.44vw;
  }
  .main.stories .featured h3 + h2 {
    margin-top: 2.08vw;
  }
  .main.stories .featured h2 + .label {
    margin-top: 0.83vw;
  }
  .main.stories .featured .label + .p {
    margin-top: 2.71vw;
  }
  .main.stories .featured .image {
    width: 23.61vw;
  }
}
.main.stories .recent {
  padding: 18.13vw 5.33vw 19.2vw;
  background-color: #FEFCF8;
}
.main.stories .recent:first-child {
  padding-top: 29.87vw;
}
.main.stories .recent .header + .body {
  margin-top: 10.4vw;
}
.main.stories .recent .tags {
  display: inline-flex;
  margin-top: 5.07vw;
  padding-bottom: 1.17vw;
}
.main.stories .recent .tags a {
  pointer-events: all;
  display: block;
  opacity: 0.5;
  transition: opacity 0.5s, transform 0.5s;
}
.main.stories .recent .tags a:active {
  transform: scale(0.95);
  opacity: 0.75;
  transition: opacity 0.15s, transform 0.15s;
}
.main.stories .recent .tags a.is-hovered {
  opacity: 0.5;
}
.main.stories .recent .tags a.is-unhovered {
  opacity: 1;
}
.main.stories .recent .tags a.is-active {
  transform: scale(1);
  opacity: 1;
}
.main.stories .recent .tags a + a {
  margin-left: 5.86vw;
}
.main.stories .recent .posts {
  display: grid;
  row-gap: 15.73vw;
}
.main.stories .recent .image {
  position: relative;
}
.main.stories .recent .image:before {
  content: "";
  display: block;
  width: 100%;
  height: 0;
  padding-top: 125.2941176471%;
}
.main.stories .recent .image picture,
.main.stories .recent .image img,
.main.stories .recent .image video,
.main.stories .recent .image iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.main.stories .recent .image video,
.main.stories .recent .image img {
  object-fit: cover;
}
.main.stories .recent .image + .text {
  margin-top: 5.33vw;
}
.main.stories .recent h4 {
  color: #9F8D6A;
}
.main.stories .recent h4 + h3 {
  margin-top: 2.13vw;
}
@media screen and (min-width: 500px) {
  .main.stories .recent .posts {
    grid-template-columns: 1fr 1fr;
    column-gap: 5.33vw;
  }
}
@media screen and (min-width: 768px) {
  .main.stories .recent {
    padding: 5.76vw 9.77vw 12.21vw;
  }
  .main.stories .recent:first-child {
    padding-top: 14.06vw;
  }
  .main.stories .recent .header {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
  }
  .main.stories .recent .header + .body {
    margin-top: 3.81vw;
  }
  .main.stories .recent .tags {
    margin-top: 0;
  }
  .main.stories .recent .posts {
    grid-template-columns: 1fr 1fr 1fr;
    column-gap: 5.86vw;
    row-gap: 7.52vw;
  }
  .main.stories .recent .image + .text {
    margin-top: 2.73vw;
  }
  .main.stories .recent h4 + h3 {
    margin-top: 0.49vw;
  }
}
@media screen and (min-width: 1024px) {
  .main.stories .recent {
    padding: 4.1vw 6.94vw 8.68vw;
  }
  .main.stories .recent:first-child {
    padding-top: 10vw;
  }
  .main.stories .recent .header + .body {
    margin-top: 2.71vw;
  }
  .main.stories .recent .tags {
    padding-bottom: 0.83vw;
  }
  .main.stories .recent .tags a + a {
    margin-left: 4.17vw;
  }
  .main.stories .recent .posts {
    column-gap: 7.78vw;
    row-gap: 5.35vw;
  }
  .main.stories .recent .image + .text {
    margin-top: 1.94vw;
  }
  .main.stories .recent h4 + h3 {
    margin-top: 0.35vw;
  }
}

body.theme-aviation .main.story .intro i img {
  filter: hue-rotate(75deg) saturate(0.8) contrast(1) brightness(0.5);
}

.main.story {
  /* .singleModule {
    padding: vw(80, 375) vw(20, 375) vw(76, 375);

    .image {
      + .text {
        margin-top: vw(30, 375);
      }
    }

    h2 {
      + .action {
        margin-top: vw(24, 375);
      }
    }

    .link {
      color: $colive;
    }

    @include bp-medium {
      padding: vw(121, 1024) 0 vw(123, 1024);

      a {
        display: flex;
        align-items: center;
        pointer-events: none;
      }

      .image {
        width: 50%;
        pointer-events: all;

        + .text {
          margin-top: 0;
        }
      }

      .text {
        flex: 1;
        padding-left: vw(100, 1024);
      }

      h2 {
        cursor: text;

        + .action {
          margin-top: vw(40, 1024);
        }
      }

      .link {
        pointer-events: all;
      }
    }

    @include bp-large {
      padding: vw(121) 0 vw(123);

      .image {
        width: vw(658);
      }

      .text {
        padding-left: vw(211);
      }
    }
  }

  .explore {
    padding: vw(80, 375) vw(20, 375) vw(76, 375);
    background-color: $cwhite;

    .header {
      + .body {
        margin-top: vw(27, 375);
      }
    }

    .collections {
      display: grid;
      grid-template-columns: 1fr 1fr;
      column-gap: vw(21, 375);
      row-gap: vw(32, 375);
    }

    .card {
      .image {
        + .text {
          margin-top: vw(8, 375);
        }
      }
    }

    @include bp-medium {
      padding: vw(80, 1024) vw(80, 1024) vw(76, 1024);

      .header {
        + .body {
          margin-top: vw(28, 1024);
        }
      }

      .collections {
        display: grid;
        grid-template-columns: 1fr 1fr 1fr 1fr;
        column-gap: vw(30, 1024);
      }

      .card {
        .image {
          + .text {
            margin-top: vw(15, 1024);
          }
        }
      }
    }

    @include bp-large {
      padding: vw(80) vw(120) vw(76);

      .header {
        + .body {
          margin-top: vw(28);
        }
      }

      .collections {
        column-gap: vw(53);
      }

      .card {
        .image {
          + .text {
            margin-top: vw(15);
          }
        }
      }
    }
  }

  .modules {
    padding: vw(80, 375) 0 vw(76, 375);

    .module {
      padding: 0 vw(20, 375);

      .image {
        + .text {
          margin-top: vw(30, 375);
        }
      }

      h2 {
        + .action {
          margin-top: vw(24, 375);
        }
      }

      .link {
        color: $colive;
      }

      &.full {
        padding: 0;

        .text {
          padding: 0 vw(20, 375);
        }

        h2 {
          padding: 0 vw(46, 375) 0 vw(2, 375);
        }
      }

      + .module {
        margin-top: vw(78, 375);
      }
    }

    @include bp-medium {
      padding: vw(112, 1024) 0 vw(120, 1024);

      .module {
        padding: 0;

        a {
          pointer-events: none;
        }

        .image {
          pointer-events: all;

          + .text {
            margin-top: vw(21, 1024);
          }
        }

        h2 {
          cursor: text;

          + .action {
            margin-top: vw(34, 1024);
          }
        }

        .link {
          pointer-events: all;
        }

        &.left,
        &.right {
          display: flex;
          align-items: center;

          a {
            display: inherit;
            align-items: inherit;
          }

          .image {
            + .text {
              margin-top: 0;
            }
          }

          .text {
            flex: 1;
          }
        }

        &.left {
          .image {
            width: vw(500, 1024);
          }

          .text {
            padding-left: vw(90, 1024);
            padding-right: vw(120, 1024);
          }
        }

        &.right {
          .image {
            order: 2;
            width: vw(500, 1024);
          }

          .text {
            order: 1;
            padding-left: vw(120, 1024);
            padding-right: vw(90, 1024);
          }
        }

        &.full {
          h2 {
            padding: 0;
          }
        }

        &.center {
          padding-left: vw(200, 1024);
          padding-right: vw(200, 1024);
        }

        + .module {
          margin-top: vw(120, 1024);
        }
      }
    }

    @include bp-large {
      padding: vw(112) 0 vw(120);

      .module {
        .image {
          + .text {
            margin-top: vw(21);
          }
        }

        h2 {
          + .action {
            margin-top: vw(34);
          }
        }

        &.left {
          .image {
            width: vw(700);
          }

          .text {
            padding-left: vw(130);
            padding-right: vw(180);
          }
        }

        &.right {
          .image {
            width: vw(610);
          }

          .text {
            padding-left: vw(180);
            padding-right: vw(130);
          }
        }

        &.center {
          padding-left: vw(280);
          padding-right: vw(280);
        }

        + .module {
          margin-top: vw(120);
        }
      }
    }
  }

  .instagram {
    padding: vw(80, 375) vw(20, 375) vw(76, 375);
    background-color: $cwhite;

    .header {
      color: $colive;

      + .body {
        margin-top: vw(27, 375);
      }
    }

    .feed {
      display: grid;
      grid-template-columns: 1fr 1fr;
      column-gap: vw(19, 375);
      row-gap: vw(19, 375);

      .card {
        width: 100%;
        @include imgcover(1, 1, contain);
      }
    }

    @include bp-small {
      .feed {
        grid-template-columns: 1fr 1fr 1fr;
      }
    }

    @include bp-medium {
      padding: vw(43, 1024) vw(34, 1024);

      .header {
        + .body {
          margin-top: vw(32, 1024);
        }
      }

      .feed {
        grid-template-columns: 1fr 1fr 1fr 1fr;
        column-gap: vw(19, 1024);
      }
    }

    @media (min-width: 768px) and (max-width: 1023px) {
      .feed {
        .card {
          &:nth-child(5),
          &:nth-child(6) {
            display: none;
          }
        }
      }
    }

    @include bp-large {
      padding: vw(43) vw(34);

      .header {
        + .body {
          margin-top: vw(32);
        }
      }

      .feed {
        grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
        column-gap: vw(19);
      }
    }
  } */
}
.main.story .intro:before {
  content: "";
  display: block;
  position: absolute;
  z-index: 5;
  top: 0;
  left: 0;
  width: 100%;
  height: 20%;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0.75), rgba(0, 0, 0, 0));
  opacity: 0.5;
}
.main.story .intro .media {
  position: relative;
  min-height: 66vh;
}
.main.story .intro .media video,
.main.story .intro .media img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.main.story .intro .media .sizer {
  position: relative;
  width: 100%;
  height: auto;
  --pad: 50%;
}
.main.story .intro .media .sizer:before {
  content: "";
  display: block;
  position: relative;
  width: 100%;
  height: 0;
  padding-top: var(--pad);
}
.main.story .intro .media video.desktop ~ picture.desktop {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.main.story .intro .media video.desktop.is-loaded ~ picture.desktop {
  opacity: 0;
  transition: 0.35s;
}
.main.story .intro .media video.mobile ~ picture.mobile {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.main.story .intro .media video.mobile.is-loaded ~ picture.mobile {
  opacity: 0;
  transition: 0.35s;
}
.main.story .intro .text {
  position: relative;
  padding: 21.33vw 5.33vw 20.27vw;
}
.main.story .intro h1 {
  position: absolute;
  bottom: 100%;
  left: 0;
  width: 100%;
  padding: 12.8vw 4.27vw;
  color: #fff;
  text-align: center;
}
.main.story .intro i {
  display: block;
  margin: 0 auto 5.33vw;
  width: 17.07vw;
}
@media (max-width: 767px) {
  .main.story .intro i {
    filter: brightness(0) invert(1);
  }
}
.main.story .intro .p {
  color: #9F8D6A;
}
.main.story .intro + .modules {
  padding-top: 0;
}
@media screen and (min-width: 768px) {
  .main.story .intro .media {
    position: relative;
    min-height: 0;
  }
  .main.story .intro .media video,
.main.story .intro .media img {
    max-height: var(--vp-height);
  }
  .main.story .intro .media img {
    position: static;
  }
  .main.story .intro .text {
    text-align: center;
    padding: 11.23vw 17.09vw 11.23vw;
  }
  .main.story .intro h1 {
    position: static;
    padding: 0;
    color: inherit;
  }
  .main.story .intro h1 + .p {
    margin-top: 2.93vw;
  }
  .main.story .intro i {
    margin-bottom: 3.13vw;
    width: 8.01vw;
  }
}
@media screen and (min-width: 1024px) {
  .main.story .intro .text {
    padding: 7.99vw 24.31vw 7.99vw;
  }
  .main.story .intro h1 + .p {
    margin-top: 2.08vw;
  }
  .main.story .intro i {
    margin-bottom: 2.22vw;
    width: 5.69vw;
  }
}
.main.story .modules {
  padding: 20vw 0;
}
.main.story .modules .module:first-child {
  padding-top: 0;
}
.main.story .modules .module.left .quote {
  position: relative;
  margin-top: 26.67vw;
  color: var(--theme-color);
}
.main.story .modules .module.left .quote:before {
  content: "“";
  position: absolute;
  bottom: 100%;
  left: 0;
  font-size: 2em;
  line-height: 0.25;
}
.main.story .modules .module.left .quote + .label {
  margin-top: 5.33vw;
}
.main.story .modules .module:not(.noimg) h2 {
  color: #9F8D6A;
}
@media (max-width: 767px) {
  .main.story .modules .module:not(.nopad) .image {
    padding: 0 5.33vw;
  }
  .main.story .modules .module.nopad .image + .text {
    margin-top: 12vw;
  }
}
.main.story .modules .module + .module {
  margin-top: 20vw;
}
.main.story .modules .image + .text {
  margin-top: 8vw;
}
.main.story .modules .text {
  padding: 0 5.33vw;
}
.main.story .modules .label,
.main.story .modules .p {
  color: #9F8D6A;
}
.main.story .modules h2 + .p,
.main.story .modules .label + .p {
  margin-top: 2.4vw;
}
.main.story .modules .p + .action,
.main.story .modules h2 + .action {
  margin-top: 9.33vw;
}
@media screen and (min-width: 768px) {
  .main.story .modules {
    padding: 10.35vw 0 11.33vw;
  }
  .main.story .modules .module {
    display: flex;
  }
  .main.story .modules .module a {
    display: inherit;
    align-items: inherit;
    justify-content: inherit;
    flex-direction: inherit;
  }
  .main.story .modules .module.vc {
    align-items: center;
  }
  .main.story .modules .module.left .image, .main.story .modules .module.right .image {
    width: 50%;
  }
  .main.story .modules .module.left .image + .text, .main.story .modules .module.right .image + .text {
    margin-top: 0;
  }
  .main.story .modules .module.left .text, .main.story .modules .module.right .text {
    padding: 0 7.81vw;
  }
  .main.story .modules .module.left h2 {
    padding-right: 6.64vw;
  }
  .main.story .modules .module.left .quote {
    margin-top: 2.93vw;
  }
  .main.story .modules .module.left .quote:before {
    left: auto;
    right: 100%;
    margin-right: 0.39vw;
  }
  .main.story .modules .module.left .quote + .label {
    margin-top: 1.95vw;
  }
  .main.story .modules .module.center {
    flex-direction: column;
    padding: 0 14.65vw;
  }
  .main.story .modules .module.center .image + .text {
    margin-top: 5.18vw;
    padding-right: 13.87vw;
  }
  .main.story .modules .module.center .text {
    padding: 0;
  }
  .main.story .modules .module.right .image {
    order: 2;
  }
  .main.story .modules .module.right .text {
    order: 1;
  }
  .main.story .modules .module.noimg {
    padding: 0 17.09vw;
  }
  .main.story .modules .module.noimg .text {
    text-align: center;
  }
  .main.story .modules .module + .module {
    margin-top: 11.72vw;
  }
  .main.story .modules .image + .text {
    margin-top: 2.93vw;
  }
  .main.story .modules .text {
    flex: 1;
  }
  .main.story .modules h2 + .p,
.main.story .modules .label + .p {
    margin-top: 2.93vw;
  }
  .main.story .modules .p + .action,
.main.story .modules h2 + .action {
    margin-top: 3.42vw;
  }
}
@media screen and (min-width: 1024px) {
  .main.story .modules {
    padding: 8.33vw 0 8.06vw;
  }
  .main.story .modules .module.left, .main.story .modules .module.right {
    align-items: center;
  }
  .main.story .modules .module.left .image, .main.story .modules .module.right .image {
    --width: 720vw;
    width: calc(var(--width) / 1440 * 100);
  }
  .main.story .modules .module.left .text {
    padding: 0 8.4vw 0 7.92vw;
  }
  .main.story .modules .module.left h2 {
    padding-right: 4.72vw;
  }
  .main.story .modules .module.left .quote {
    margin-top: 2.08vw;
    margin-left: 5.76vw;
  }
  .main.story .modules .module.left .quote:before {
    margin-right: 0.28vw;
  }
  .main.story .modules .module.left .quote + .label {
    margin-top: 1.39vw;
    margin-left: 5.76vw;
  }
  .main.story .modules .module.center {
    padding: 0 21.18vw;
  }
  .main.story .modules .module.center .image + .text {
    margin-top: 3.68vw;
    padding-right: 9.86vw;
  }
  .main.story .modules .module.right .text {
    padding: 0 7.92vw 0 8.4vw;
  }
  .main.story .modules .module.noimg {
    padding: 0 24.31vw;
  }
  .main.story .modules .module + .module {
    margin-top: 8.33vw;
  }
  .main.story .modules .image + .text {
    margin-top: 2.08vw;
  }
  .main.story .modules h2 + .p,
.main.story .modules .label + .p {
    margin-top: 2.08vw;
  }
  .main.story .modules .p + .action,
.main.story .modules h2 + .action {
    margin-top: 2.43vw;
  }
}