@charset "UTF-8";
/*
	Theme Name: Wend Wind Down (2026)
	Theme URI: http://builtbycivilization.com
	Description: Custom WP built for Wend by Civilization
	Version: 2.0
	Author: Civilization
	Author URI: http://builtbycivilization.com
*/
*, *:after, *:before {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

html, body, body div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, figure, footer, header, hgroup, menu, nav, section, time, mark, audio, video, input, select {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  text-decoration: none;
}

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

html {
  overflow-y: scroll;
}

ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

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

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

del {
  text-decoration: line-through;
}

abbr[title], dfn[title] {
  border-bottom: 1px dotted #000;
  cursor: help;
}

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

th {
  font-weight: bold;
  vertical-align: bottom;
}

td {
  font-weight: normal;
  vertical-align: top;
}

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0;
}

input, select {
  vertical-align: middle;
}

pre {
  white-space: pre; /* CSS2 */
  white-space: pre-wrap; /* CSS 2.1 */
  white-space: pre-line; /* CSS 3 (and 2.1 as well, actually) */
  word-wrap: break-word; /* IE */
}

input[type=radio] {
  vertical-align: text-bottom;
}

input[type=checkbox] {
  vertical-align: bottom;
  *vertical-align: baseline;
}

.ie6 input {
  vertical-align: text-bottom;
}

select, input, textarea {
  font: 99% sans-serif;
}

table {
  font-size: inherit;
  font: 100%;
}

a:hover, :active, :focus {
  outline: none;
}

small {
  font-size: 85%;
}

strong, th {
  font-weight: bold;
}

td, td img {
  vertical-align: top;
}

sub, sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
}

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

pre, code, kbd, samp {
  font-family: monospace, sans-serif;
}

.clickable, label,
input[type=button],
input[type=submit],
button {
  cursor: pointer;
}

button, input, select, textarea {
  margin: 0;
}

button {
  width: auto;
  overflow: visible;
  border: 0;
  background: transparent;
}

.ie7 img {
  -ms-interpolation-mode: bicubic;
}

.black-text {
  color: #262626;
}
.black-text input[type=submit],
.black-text .button {
  color: #262626;
  border-color: #262626;
}
.black-text input[type=submit]:hover, .black-text input[type=submit]:focus,
.black-text .button:hover,
.black-text .button:focus {
  background-color: #262626;
  border-color: #262626;
}
.black-text a:not(:focus):not(:hover) {
  color: #262626;
}
.black-text svg {
  fill: #262626;
}

.white-text {
  color: #F5F5E4;
}
.white-text input[type=submit],
.white-text .button {
  color: #F5F5E4;
  border-color: #F5F5E4;
}
.white-text input[type=submit]:hover, .white-text input[type=submit]:focus,
.white-text .button:hover,
.white-text .button:focus {
  background-color: #F5F5E4;
  border-color: #F5F5E4;
}
.white-text a:not(:focus):not(:hover) {
  color: #F5F5E4;
}
.white-text svg {
  fill: #F5F5E4;
}

.principles, .split .column:hover,
.split .column:focus-within, body:not(.no-animations) header,
body:not(.no-animations) footer, body, body.no-animations #content {
  background-color: var(--colorVar);
  background-image: url(i/background-noise.jpg);
  background-blend-mode: multiply;
  background-size: 19rem, auto !important;
}

@font-face {
  font-family: "Averta";
  src: url("f/Averta-RegularItalic.woff2") format("woff2"), url("f/Averta-RegularItalic.woff") format("woff");
  font-weight: normal;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "Averta";
  src: url("f/Averta-Regular.woff2") format("woff2"), url("f/Averta-Regular.woff") format("woff");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Averta";
  src: url("f/Averta-Bold.woff2") format("woff2"), url("f/Averta-Bold.woff") format("woff");
  font-weight: bold;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Tiempos Headline";
  src: url("f/TiemposHeadline-Bold.woff2") format("woff2"), url("f/TiemposHeadline-Bold.woff") format("woff");
  font-weight: bold;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Tiempos Text";
  src: url("f/TiemposText-Regular.woff2") format("woff2"), url("f/TiemposText-Regular.woff") format("woff");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Tiempos Text Regular";
  src: url("f/TiemposText-RegularItalic.woff2") format("woff2"), url("f/TiemposText-RegularItalic.woff") format("woff");
  font-weight: normal;
  font-style: italic;
  font-display: swap;
}
footer, h2.section-title, h3, h4, h5, input, textarea, button, select, .button {
  font-family: "Averta", Helvetica, sans-serif;
  font-style: normal;
}

body, h2:not(.section-title),
blockquote, .greeting,
q, .serif {
  font-family: "Tiempos Text", Georgia, serif;
  font-style: normal;
}

h2:not(.section-title),
blockquote, h5 {
  font-weight: normal;
}

h2.section-title, h3, h4, strong, b {
  font-weight: bold;
}

em, i {
  font-style: italic;
}

nav.story-nav ul, small {
  font: 1.3rem monospace;
  text-transform: uppercase;
}

:-webkit-autofill {
  -webkit-text-fill-color: #262626;
  -webkit-box-shadow: 0 0 0px 1000px #D7C7BF inset;
}

:-moz-autofill { /* Firefox 18- */
  -moz-text-fill-color: #262626;
  -moz-box-shadow: 0 0 0px 1000px #D7C7BF inset;
}

::-moz-autofill { /* Firefox 19+ */
  -moz-text-fill-color: #262626;
  -moz-box-shadow: 0 0 0px 1000px #D7C7BF inset;
}

::-webkit-input-placeholder {
  color: #262626;
  opacity: 0.5;
}

:-moz-placeholder { /* Firefox 18- */
  color: #262626;
  opacity: 0.5;
}

::-moz-placeholder { /* Firefox 19+ */
  color: #262626;
  opacity: 0.5;
}

:-ms-input-placeholder {
  color: #262626;
  overflow: hidden;
}

::selection {
  background: #262626;
  color: #D7C7BF;
  text-shadow: none;
}

::-moz-selection {
  background: #262626;
  color: #D7C7BF;
  text-shadow: none;
}

html {
  width: 100%;
  min-height: 100%;
  /* mobile viewport bug fix */
  min-height: -webkit-fill-available;
  -webkit-font-smoothing: antialiased;
  -webkit-text-size-adjust: none;
  -moz-osx-font-smoothing: grayscale; /* fixes FF over-bolding */
  -ms-overflow-style: -ms-autohiding-scrollbar;
  font-size: 62.5%; /* 10px reset */
  position: relative;
  background: #262626;
  color: #262626;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  --colorVar: #EDD4F6;
}

body {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  width: 100%;
  min-height: 100vh;
  /* mobile viewport bug fix */
  min-height: -webkit-fill-available;
  font-size: 1.6rem;
  line-height: 1.4;
}
@media only screen and (min-width: 769px) {
  body {
    font-size: 1.7rem;
  }
}
@media only screen and (min-width: 1024px) {
  body {
    font-size: 2rem;
  }
}
@media only screen and (min-width: 1920px) {
  body {
    font-size: 2.4rem;
  }
}

h2, h3, h4, q, blockquote {
  text-wrap: pretty;
}

h2.section-title {
  font-size: 125%;
  line-height: 1.25;
}

h2:not(.section-title),
blockquote {
  font-size: 200%;
  line-height: 1.15;
  text-rendering: optimizeLegibility;
}

@media only screen and (min-width: 1024px) {
  h2:not(.section-title) {
    font-size: 450%;
  }
  h2.layout-title,
  blockquote {
    font-size: 375%;
  }
}
h3 {
  font-size: 123.5294117647%;
  line-height: 1.2;
}
@media only screen and (min-width: 1024px) {
  h3 {
    font-size: 147.0588235294%;
  }
}

h4 {
  font-size: 111.7647058824%;
  line-height: 1.25;
}

h5 {
  font-size: 94.1176470588%;
}

h6 {
  text-transform: uppercase;
  font-size: 64.7058823529%;
  display: inline-block;
}

.greeting,
q {
  display: block;
  font-size: 117.6470588235%;
  line-height: 41/29;
  font-style: normal;
}
.fullscreen .greeting,
.fullscreen q {
  font-size: 164.7058823529%;
}
@media only screen and (min-width: 1024px) {
  .greeting,
  q {
    font-size: 164.7058823529%;
  }
  .fullscreen .greeting,
  .fullscreen q {
    font-size: 275%;
  }
}

.quote {
  quotes: "“" "”" "‘" "’";
}
.quote::before {
  display: inline;
  content: open-quote;
  margin-left: -0.5em;
}
.quote::after {
  display: inline;
  content: close-quote;
  margin-left: -0.25em;
}
.align-center .quote::before {
  margin-left: 0;
}
.quote + cite {
  display: block;
  font-style: normal;
  margin-top: 1.4rem;
}
.quote + cite::before {
  content: "— ";
}

@media only screen and (min-width: 1024px) {
  h2:not(.section-title) {
    margin-right: calc((50vw - 61.8%) * -1);
  }
}

@media only screen and (max-width: 768px) {
  blockquote {
    padding-left: 0 !important;
  }
}
@media only screen and (min-width: 1024px) {
  blockquote {
    margin-left: calc((50vw - 50%) * -1);
    margin-right: calc((50vw - 50%) * -1);
  }
}

cite {
  font-style: normal;
  font-size: 100%;
  line-height: 1.2;
  margin-top: 2rem;
}
@media only screen and (min-width: 1024px) {
  cite {
    margin-top: 3rem;
  }
}
cite span {
  display: block;
  margin-top: 1rem;
  text-transform: uppercase;
  font-size: 1.2rem;
}
@media only screen and (min-width: 1024px) {
  cite span {
    margin-top: 2rem;
    font-size: 1.6rem;
  }
}

hr {
  visibility: hidden;
  display: none;
}

p + h3,
p + h4,
ul + h3,
ol + h3,
ul + h4,
ol + h4,
h1 + hr,
h1 + p,
h1 + form,
h2 + hr,
h2 + h3,
blockquote + h3,
hr + h3 {
  margin-top: 1.5em;
}

h2 + q,
h3 + div,
h3 + hr + p,
h3 + p,
h3 + h4,
h3 + ul,
h3 + ol,
ul + hr,
ul + ul,
ul + hr + ul,
ul + p,
ul + hr + p,
hr + p,
p + ul,
ol + p,
p + ol,
blockquote + p,
h3 + blockquote,
h5 + ul,
h4 + ul,
h2 + p,
small + h4,
h4 + p,
h2 + div,
p + .hidden-content,
q + q,
p + p,
h5 + p {
  margin-top: 1em;
}

h1 + h4,
h2 + h4,
q + h5,
h3 + h2,
small + p,
small + h3,
small + h2 {
  margin-top: 0.5em;
}

input, textarea, button, select {
  -webkit-appearance: none;
  -moz-appearance: none;
}

input[type=text],
input[type=number],
input[type=password],
input[type=email],
input[type=tel],
textarea,
select {
  display: block;
  width: 100%;
  background-color: transparent;
  color: inherit;
  border-bottom: 1px solid #4D4A4A;
  font-size: inherit;
  line-height: 2.1rem;
  padding: 0 1.4rem;
  margin: 0 auto;
  position: relative;
  border-radius: 0;
  z-index: 1;
}
@-moz-document url-prefix() {
  input[type=text],
  input[type=number],
  input[type=password],
  input[type=email],
  input[type=tel],
  textarea,
  select {
    line-height: 2.8 !important;
  }
}
@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
  input[type=text],
  input[type=number],
  input[type=password],
  input[type=email],
  input[type=tel],
  textarea,
  select {
    height: 2.1rem;
  }
}

textarea {
  line-height: 1.45;
  padding: 1rem;
  height: 12rem;
}

@-webkit-keyframes popCheck {
  50% {
    box-shadow: 0 0 0 3px #262626;
  }
}
@-moz-keyframes popCheck {
  50% {
    box-shadow: 0 0 0 3px #262626;
  }
}
@keyframes popCheck {
  50% {
    box-shadow: 0 0 0 3px #262626;
  }
}
input[type=radio],
input[type=checkbox] {
  background: transparent;
  -webkit-appearance: none;
  width: 0.8em;
  height: 0.8em;
  margin-top: -0.2em;
  vertical-align: middle;
  margin-right: 0.5rem;
  color: inherit;
  cursor: pointer;
  box-shadow: 0 0 0 1px #262626;
}
input[type=radio]:checked,
input[type=checkbox]:checked {
  background-color: #262626;
}
input[type=radio]:focus,
input[type=checkbox]:focus {
  -webkit-animation: popCheck 0.25s linear 0s 1 normal forwards;
  -moz-animation: popCheck 0.25s linear 0s 1 normal forwards;
  animation: popCheck 0.25s linear 0s 1 normal forwards;
}
input[type=radio]:hover, input[type=radio]:focus:not(:active),
input[type=checkbox]:hover,
input[type=checkbox]:focus:not(:active) {
  background-color: #262626;
}
input[type=radio]:not(:hover):not(:focus),
input[type=checkbox]:not(:hover):not(:focus) {
  will-change: background-color;
  -webkit-transition: background-color 0.5s ease-in-out;
  -moz-transition: background-color 0.5s ease-in-out;
  -o-transition: background-color 0.5s ease-in-out;
  transition: background-color 0.5s ease-in-out;
}

input[type=radio] {
  border-radius: 50%;
}

select {
  background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAUCAMAAACzvE1FAAAADFBMVEUzMzMzMzMzMzMzMzMKAG/3AAAAA3RSTlMAf4C/aSLHAAAAPElEQVR42q3NMQ4AIAgEQTn//2cLdRKppSGzBYwzVXvznNWs8C58CiussPJj8h6NwgorrKRdTvuV9v16Afn0AYFOB7aYAAAAAElFTkSuQmCC") no-repeat right 4px center;
  background-size: auto 12px;
  padding-right: 24px;
}

button {
  font-size: inherit;
}

button::-moz-focus-inner {
  border: 0;
}

.button {
  letter-spacing: normal;
  display: -moz-inline-stack;
  display: inline-block;
  zoom: 1;
  *display: inline;
  color: inherit;
  cursor: pointer;
  padding: 0.7rem 1.4rem;
  border: 1px solid #4D4A4A;
  font-size: 1.4rem;
  border-radius: 0;
  text-transform: uppercase;
  text-decoration: none;
}
.button:hover, .button:focus:not(:active) {
  background-color: #262626;
  border-color: #262626;
  color: #F5F5E4;
}

a {
  color: inherit;
}

section,
footer {
  position: relative;
  width: 100%;
}

section + section {
  border-top: 1px solid #4D4A4A;
}

iframe,
svg,
img {
  display: block;
}

svg {
  overflow: visible;
}

main {
  min-height: calc(100vh - 24rem);
  padding-bottom: 12rem;
}

#content {
  min-height: calc(100vh - 24rem);
}
body:not(.no-animations) #content {
  box-shadow: 0 -1px 0 #4D4A4A;
  margin: 6rem 0;
}
body.no-animations #content {
  background-blend-mode: multiply, normal;
  background-size: 19rem, auto !important;
  padding: 6rem 0;
}
body.no-animations #content:has(.story-section) {
  background: url(i/background-noise.jpg), linear-gradient(180deg, #EDD4F6, #FFE6B7, #D4EAD7, #D3DBF5, #D7C7BF, #F4F4C0);
}

body:not([data-loaded]) #site-header,
body:not([data-loaded]) #content,
body:not([data-loaded]) #site-footer {
  display: none;
}
body:not([data-loaded]) main {
  height: 100vh;
}

.modal {
  z-index: 7;
}

header {
  z-index: 4;
}

nav {
  z-index: 3;
}

footer {
  z-index: 2;
}

main {
  z-index: 1;
}

.wrap {
  position: relative;
  display: block;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding: 4.2rem 2.1rem;
}
@media only screen and (min-width: 769px) {
  .wrap {
    padding: 5.6rem 4.2rem;
  }
}
@media only screen and (min-width: 900px) {
  .wrap {
    padding: 8.4rem 5.6rem;
  }
}
@media only screen and (min-width: 1024px) {
  .wrap {
    padding: 9rem 8.4rem;
  }
  .wrap.lite {
    padding-top: 6rem;
    padding-bottom: 6rem;
  }
  .wrap.section-title-wrap {
    padding: 12rem 8.4rem;
  }
}
@media only screen and (min-width: 1440px) {
  .wrap {
    padding: 6rem;
  }
  .wrap.section-title-wrap {
    padding: 12rem 6rem;
  }
}
@media only screen and (min-width: 1600px) {
  .wrap {
    padding: 9rem 7vw;
  }
  .wrap.section-title-wrap {
    padding: 18rem 7vw;
  }
}
.wrap.text-wrap {
  max-width: 45em;
}
.wrap.wide {
  max-width: 54em;
}
.wrap.full-width {
  padding-left: 0;
  padding-right: 0;
}
.wrap:not(.border-bottom) + .wrap:not(.border-top), .wrap.flush-top {
  padding-top: 0;
}
.wrap.flush-bot {
  padding-bottom: 0;
}
.wrap:empty {
  padding: 0;
}

body:has(.password-wrap) {
  height: 100vh !important;
}
body:has(.password-wrap) #content {
  margin: 0;
  box-shadow: none;
}
body:has(.password-wrap) footer {
  display: none !important;
}

.password-wrap {
  height: 100vh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding-top: 6rem;
}
.password-wrap h2 {
  margin-left: auto;
  margin-right: auto;
}
.password-wrap form {
  display: flex;
  justify-content: center;
  align-items: center;
}
.password-wrap form label {
  white-space: nowrap;
}
.password-wrap form input {
  color: inherit !important;
  height: 4.2rem;
}
.password-wrap form input[type=password] {
  width: 100%;
  max-width: 12em;
  padding: 0;
  margin: 0 0 0 1em;
}
.password-wrap form input[type=password]:hover, .password-wrap form input[type=password]:focus:not(:active) {
  box-shadow: 0 1px 0 #262626;
}
.password-wrap form input[type=submit] {
  display: inline-flex;
  border-bottom: 1px solid;
}
.password-wrap form input[type=submit]:hover, .password-wrap form input[type=submit]:focus:not(:active) {
  box-shadow: 0 1px 0 #262626;
}

em.password {
  padding: 0 0.25em 0 0.125em;
  transition: all 0.25s ease-in-out;
}
em.password:not(:focus):not(:hover) {
  background-color: currentColor;
}

.signatures {
  display: flex;
  gap: 2.1rem;
  padding: 2.1rem 0;
}
.signatures img {
  width: auto;
  height: 3em;
}

.opening {
  min-height: calc(100vh - 6rem);
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-bottom: 4.2rem;
}
@media only screen and (min-width: 1024px) {
  .opening {
    padding-bottom: 6rem;
  }
}

.closing {
  padding: 2.1rem 0;
}

.text-wrap ul:not(.no-bullets) {
  list-style: disc;
}
.text-wrap ul:not(.no-bullets), .text-wrap ol {
  padding-left: 2rem;
}
.text-wrap ul:not(.no-bullets) li, .text-wrap ol li {
  margin-top: 4px;
}
.text-wrap a {
  text-decoration-thickness: 1px;
}
.text-wrap a:hover, .text-wrap a:focus:not(:active) {
  text-decoration-thickness: 2px;
}
.text-wrap blockquote {
  padding: 4.2rem 1.4rem;
}
@media only screen and (min-width: 769px) {
  .text-wrap blockquote {
    padding: 8.4rem 2.1rem;
  }
}
@media only screen and (min-width: 1024px) {
  .text-wrap blockquote {
    padding: 8.4rem;
  }
}

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

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

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

.intro-text p,
p.intro-text {
  zoom: 1.25;
  line-height: 1.325;
}
@-moz-document url-prefix() {
  .intro-text p,
  p.intro-text {
    font-size: 125%;
  }
}
@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .intro-text p,
  p.intro-text {
    zoom: 1 !important;
    font-size: 125%;
  }
}
@media only screen and (min-width: 769px) {
  .intro-text p,
  p.intro-text {
    zoom: 2;
  }
  @-moz-document url-prefix() {
    .intro-text p,
    p.intro-text {
      font-size: 200%;
    }
  }
}
@media only screen and (min-width: 769px) and (-ms-high-contrast: none), only screen and (min-width: 769px) and (-ms-high-contrast: active) {
  .intro-text p,
  p.intro-text {
    font-size: 200%;
  }
}
@media only screen and (min-width: 769px) {
  .intro-text p a,
  p.intro-text a {
    text-decoration-thickness: 0.5px !important;
  }
  .intro-text p a:hover, .intro-text p a:focus:not(:active),
  p.intro-text a:hover,
  p.intro-text a:focus:not(:active) {
    text-decoration-thickness: 1px !important;
  }
}

.large-text p {
  zoom: 1.75;
  line-height: 1.325;
}
@-moz-document url-prefix() {
  .large-text p {
    font-size: 175%;
  }
}
@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .large-text p {
    zoom: 1 !important;
    font-size: 175%;
  }
}
@media only screen and (min-width: 769px) {
  .large-text p {
    zoom: 3;
  }
  @-moz-document url-prefix() {
    .large-text p {
      font-size: 300%;
    }
  }
}
@media only screen and (min-width: 769px) and (-ms-high-contrast: none), only screen and (min-width: 769px) and (-ms-high-contrast: active) {
  .large-text p {
    font-size: 300%;
  }
}

.button-wrap {
  margin: 1em 0;
  display: flex;
  gap: 1em;
}
.button-wrap:last-child {
  margin-bottom: 0;
}
.align-center .button-wrap {
  justify-content: center;
}

.social-wrap {
  margin: 2.1rem 0;
}
.social-wrap:last-child {
  margin-bottom: 0;
}

.object-cover img, .object-cover video {
  display: block;
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.object-contain img, .object-contain video {
  display: block;
  object-fit: contain;
  width: 100%;
  height: 100%;
  object-position: 50% 50% !important;
}

.over-image {
  color: var(--colorVar);
  text-shadow: 0 1px 1.4rem rgba(0, 0, 0, 0.2);
}
.over-image .button {
  text-shadow: none;
}

.collage-wrap {
  position: relative;
  width: 100%;
  height: calc(100vh - 6rem);
  overflow: hidden;
}
.collage-wrap figure {
  position: absolute;
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  -o-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  -o-backface-visibility: hidden;
  backface-visibility: hidden;
}
@media only screen and (max-width: 768px) {
  .collage-wrap figure {
    max-width: 108% !important;
  }
}
.collage-wrap[data-layout="1"] .image-back {
  top: 50%;
  left: 40%;
  width: 56.25%;
  height: calc(100vh - 25.2rem);
}
.collage-wrap[data-layout="1"] .image-top {
  top: calc(50% + 4.2rem);
  left: 75%;
  width: 42vw;
  height: 40vw;
}
.collage-wrap[data-layout="1"] .image-bot {
  top: calc(100% - 15vh - 5.6rem);
  left: 20%;
  width: 42%;
  height: 36vh;
}
.collage-wrap[data-layout="1"] .image-thumb {
  top: 80%;
  left: 60%;
  width: 20%;
  height: 20%;
}
@media only screen and (max-width: 768px) {
  .collage-wrap[data-layout="1"] .image-back {
    width: 100%;
    left: 50%;
    height: 100vw;
  }
  .collage-wrap[data-layout="1"] .image-top {
    top: 30%;
  }
  .collage-wrap[data-layout="1"] .image-bot {
    top: 60%;
    width: 70%;
    left: calc(35% + 1.8rem);
  }
  .collage-wrap[data-layout="1"] .image-thumb {
    left: 80%;
    width: 40%;
  }
}
.collage-wrap[data-layout="2"] .image-back {
  top: 50%;
  left: 62%;
  width: 56.25%;
  height: calc(100vh - 35.2rem);
}
.collage-wrap[data-layout="2"] .image-top {
  top: calc(30% + 4.2rem);
  left: calc(20% + 4.2rem);
  width: 42vw;
  height: 36vw;
}
.collage-wrap[data-layout="2"] .image-bot {
  top: calc(100% - 20vh - 5.6rem);
  left: 40%;
  width: 42%;
  height: 36vh;
}
.collage-wrap[data-layout="2"] .image-thumb {
  top: 30%;
  left: calc(90% - 2.8rem);
  width: 20%;
  height: 20%;
}
@media only screen and (max-width: 768px) {
  .collage-wrap[data-layout="2"] .image-back {
    width: 100%;
    height: 100vw;
  }
  .collage-wrap[data-layout="2"] .image-top {
    top: 20%;
    left: 25%;
    width: 50%;
    height: 61.8vw;
  }
  .collage-wrap[data-layout="2"] .image-bot {
    width: 70%;
    top: 60%;
  }
  .collage-wrap[data-layout="2"] .image-thumb {
    width: 40%;
    left: 80%;
    top: 50%;
  }
}
.collage-wrap[data-layout="3"] .image-back {
  top: 50%;
  left: 30%;
  width: calc(100vh - 25.2rem);
  height: calc(100vh - 25.2rem);
}
.collage-wrap[data-layout="3"] .image-top {
  top: 66vh;
  left: 55%;
  width: 46%;
  height: 40vh;
}
.collage-wrap[data-layout="3"] .image-bot {
  top: 35vh;
  left: 75%;
  width: 42%;
  height: 40vh;
}
.collage-wrap[data-layout="3"] .image-thumb {
  top: 80%;
  left: 80%;
  width: 20%;
  height: 20%;
}
@media only screen and (max-width: 768px) {
  .collage-wrap[data-layout="3"] .image-back {
    left: 40%;
    height: 100vw;
  }
  .collage-wrap[data-layout="3"] .image-top {
    left: 75%;
    width: 50%;
  }
  .collage-wrap[data-layout="3"] .image-bot {
    left: 50%;
    width: 60%;
  }
  .collage-wrap[data-layout="3"] .image-thumb {
    left: 20%;
    top: 70%;
    width: 40%;
  }
}

.fullscreen {
  position: relative;
  width: 100vw;
  min-height: calc(100vh - 24rem);
  display: flex;
  z-index: 5;
  justify-content: center;
  align-items: center;
}
.fullscreen figure {
  position: absolute;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: black;
  z-index: 0;
}
.fullscreen figure img, .fullscreen figure img.lazyloaded, .fullscreen figure video, .fullscreen figure video.lazyloaded {
  opacity: 0.4;
}
.fullscreen small {
  position: absolute;
  top: 12rem;
  left: 0;
  width: 100vw;
  text-align: center;
}
.fullscreen .outer-wrap {
  position: relative;
  display: flex;
  width: 100%;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  z-index: 1;
}
.fullscreen:has(figure) {
  height: 100vh;
  align-items: flex-start;
  justify-content: flex-start;
  overflow: hidden;
}
.fullscreen:has(figure) .outer-wrap {
  align-items: flex-start;
  justify-content: flex-start;
}
.fullscreen .scroll-wrap {
  height: 100vh;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  position: relative;
}
.fullscreen .quote-wrap {
  width: 100vw;
  padding-left: 12.5vw;
  padding-right: 12.5vw;
}
.fullscreen .quote-wrap q {
  max-width: 20em;
}

header,
footer {
  position: absolute;
  left: 0;
  display: flex;
  width: 100%;
  font-size: 1.4rem;
}
header h1,
footer h1 {
  display: none;
}
@media only screen and (min-width: 769px) {
  header,
  footer {
    padding: 0 2.8rem;
  }
}
@media only screen and (min-width: 769px) {
  header,
  footer {
    padding: 0.7rem 4.2rem;
  }
}
@media only screen and (min-width: 1024px) {
  header,
  footer {
    padding: 0.7rem 5.6rem;
  }
}

menu {
  width: 100%;
}
menu ul {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-around; /* Safari 7.0+ */
  justify-content: space-around;
  -webkit-align-items: center; /* Safari 7.0+ */
  align-items: center;
}
menu ul li {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center; /* Safari 7.0+ */
  justify-content: center;
  text-align: center;
  text-transform: uppercase;
  flex: 5;
}
menu ul li.menu-logo {
  flex: 2;
}

header svg, nav svg {
  fill: none;
  stroke-miterlimit: 10;
  will-change: transform;
  -webkit-transition: transform 0.5s ease-in-out;
  -moz-transition: transform 0.5s ease-in-out;
  -o-transition: transform 0.5s ease-in-out;
  transition: transform 0.5s ease-in-out;
}
header svg path, header svg circle, nav svg path, nav svg circle {
  stroke-width: 1px;
  vector-effect: non-scaling-stroke;
}

header {
  top: 0;
  justify-content: center;
  border-bottom: 1px solid #4D4A4A;
  z-index: 4;
}
header svg {
  height: 6rem;
  stroke: #262626;
}
@media only screen and (max-width: 768px) {
  header .logo-link {
    position: absolute;
    z-index: 1;
    padding: 1.4rem 0;
  }
  header .logo-link svg {
    height: 4.2rem;
  }
}
@media only screen and (min-width: 769px) {
  body:not(.modal-open) header .logo-link:not(:focus):not(:hover) svg {
    -webkit-transform: scale(0.875);
    -moz-transform: scale(0.875);
    -ms-transform: scale(0.875);
    -o-transform: scale(0.875);
    transform: scale(0.875);
    -webkit-backface-visibility: hidden;
    -moz-backface-visibility: hidden;
    -o-backface-visibility: hidden;
    backface-visibility: hidden;
  }
}

.skip-to-opening {
  position: fixed;
  top: 12rem;
  left: 50%;
  transform: translateX(-50%);
  z-index: 5;
}
.skip-to-opening:not(:hover):not(:focus) {
  top: -100%;
  background-color: var(--colorVar) !important;
}

nav.story-nav {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  overflow-x: auto;
  z-index: 2;
  transition: all 0.5s;
  --storyCount: 1;
  --columnWidth: calc(12em + 2.8rem);
  scroll-snap-type: x mandatory;
}
body:not(.show-nav) nav.story-nav {
  -webkit-transform: translate(0, 100%);
  -moz-transform: translate(0, 100%);
  -ms-transform: translate(0, 100%);
  -o-transform: translate(0, 100%);
  transform: translate(0, 100%);
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  -o-backface-visibility: hidden;
  backface-visibility: hidden;
}
@media only screen and (max-width: 600px) {
  nav.story-nav {
    bottom: 3rem;
  }
  nav.story-nav:not(.menu-open) {
    bottom: 3rem;
    left: calc(100vw - 7rem);
    overflow-x: hidden;
    border-radius: 3rem 0 0 3rem;
  }
  body:not(.show-nav) nav.story-nav:not(.menu-open) {
    -webkit-transform: translate(100%, 0);
    -moz-transform: translate(100%, 0);
    -ms-transform: translate(100%, 0);
    -o-transform: translate(100%, 0);
    transform: translate(100%, 0);
    -webkit-backface-visibility: hidden;
    -moz-backface-visibility: hidden;
    -o-backface-visibility: hidden;
    backface-visibility: hidden;
  }
}
nav.story-nav svg {
  height: 3rem !important;
  aspect-ratio: 1440/1024 !important;
  stroke: var(--colorVar);
}
nav.story-nav ul {
  position: relative;
  width: 100%;
  min-width: calc(var(--storyCount) * var(--columnWidth) + 21rem);
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1.4rem;
  background-color: #262626;
  color: var(--colorVar);
  padding: 0.7rem 2.1rem 0.7rem 1.4rem;
  z-index: 1;
}
@media only screen and (min-width: 1440px) {
  nav.story-nav ul {
    gap: 2.1rem;
  }
}
nav.story-nav ul li {
  width: var(--columnWidth);
  flex: 2;
  scroll-snap-align: start;
}
nav.story-nav ul li:first-child {
  width: fit-content;
  flex: 1;
  align-self: center;
}
nav.story-nav ul li a {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.5rem;
  padding: 1.4rem;
  color: inherit;
  text-decoration: none;
}
nav.story-nav ul li a:hover, nav.story-nav ul li a:focus:not(:active) {
  color: #F5F5E4;
}
nav.story-nav ul li a:hover svg, nav.story-nav ul li a:focus:not(:active) svg {
  stroke: #F5F5E4;
}
nav.story-nav ul li span {
  display: block;
  text-wrap: balance;
  line-height: 1.25;
}
nav.story-nav ul li span:not(.label) {
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.1em;
}

footer {
  bottom: 0;
  border-top: 1px solid #4D4A4A;
}
footer .menu-logo svg {
  height: 90%;
  fill: #4D4A4A;
}
footer a {
  margin: 0 0.7rem;
}
footer a.to-top {
  text-transform: uppercase;
}
footer a.to-top::before {
  content: "Go to Top";
  display: inline-block;
  padding: 0 0.5em;
}
@media only screen and (max-width: 768px) {
  footer li, footer a {
    height: 6rem;
    line-height: 6rem;
  }
  footer menu li.menu-logo {
    flex: 4;
    font-size: 1.4rem;
  }
}
@media only screen and (min-width: 769px) {
  footer li, footer a {
    height: 12rem;
    line-height: 12rem;
  }
}

.split {
  position: relative;
  width: 100%;
}
.split .column {
  border-top: 1px solid #4D4A4A;
}
@media only screen and (min-width: 769px) {
  .split {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: stretch; /* Safari 7.0+ */
    align-items: stretch;
  }
  .split .column {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center; /* Safari 7.0+ */
    align-items: center;
    -webkit-flex-direction: column;
    flex-direction: column;
    width: 50%;
    min-height: 25vw;
    border-right: 1px solid #4D4A4A;
  }
  .split .column + .column {
    -webkit-box-shadow: -1px 0 0 #4D4A4A;
    -moz-box-shadow: -1px 0 0 #4D4A4A;
    box-shadow: -1px 0 0 #4D4A4A;
  }
}

.modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #D7C7BF;
  visibility: hidden;
  opacity: 0;
  transition: visibility 0s linear 0.5s, opacity 0.5s linear;
  will-change: visibility, opacity;
}
.modal .modal-wrap {
  position: relative;
  height: 100%;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center; /* Safari 7.0+ */
  align-items: center;
  -webkit-justify-content: center; /* Safari 7.0+ */
  justify-content: center;
  -webkit-flex-direction: column;
  flex-direction: column;
  z-index: 1;
}
.modal .inner-wrap {
  position: relative;
  padding: 2.1rem;
  z-index: 1;
}
.modal .inner-wrap .wrap {
  padding: 5.6rem;
}
body:not([data-loaded]) .modal {
  display: none;
}
.modal:not(.show) iframe {
  -webkit-transform: translateY(100vw);
  -moz-transform: translateY(100vw);
  -ms-transform: translateY(100vw);
  -o-transform: translateY(100vw);
  transform: translateY(100vw);
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  -o-backface-visibility: hidden;
  backface-visibility: hidden;
}
.modal.show {
  visibility: visible;
  opacity: 0.99999;
  transition-delay: 0s;
}

.balance-text {
  text-rendering: optimizeLegibility;
  text-wrap: balance;
}

[data-sizes=auto] {
  width: 100%;
}

[data-src] {
  opacity: 0;
  will-change: opacity;
  -webkit-transition: opacity 0.25s ease-in-out;
  -moz-transition: opacity 0.25s ease-in-out;
  -o-transition: opacity 0.25s ease-in-out;
  transition: opacity 0.25s ease-in-out;
}
[data-src].lazyloaded {
  opacity: 1;
}
@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
  [data-src] {
    opacity: 1;
  }
}

.shapes {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  mix-blend-mode: multiply;
  -webkit-mix-blend-mode: multiply;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-justify-content: space-around; /* Safari 7.0+ */
  justify-content: space-around;
  padding-bottom: 100vh;
  overflow-x: hidden;
}
@media only screen and (max-width: 599px) {
  .shapes {
    opacity: 0.25;
  }
}
.shapes .shape {
  overflow: visible;
}
.shapes .shape.flip svg {
  transform: rotate(90deg);
}
.shapes .shape.flip:nth-child(even) svg {
  transform: rotate(270deg);
}
.shapes .shape:nth-child(1) {
  height: 46.25vw;
  -webkit-transform: translate(46%, 0);
  -moz-transform: translate(46%, 0);
  -ms-transform: translate(46%, 0);
  -o-transform: translate(46%, 0);
  transform: translate(46%, 0);
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  -o-backface-visibility: hidden;
  backface-visibility: hidden;
}
@media only screen and (min-width: 769px) {
  .shapes .shape:nth-child(1) {
    -webkit-transform: translate(46%, -5.6rem);
    -moz-transform: translate(46%, -5.6rem);
    -ms-transform: translate(46%, -5.6rem);
    -o-transform: translate(46%, -5.6rem);
    transform: translate(46%, -5.6rem);
    -webkit-backface-visibility: hidden;
    -moz-backface-visibility: hidden;
    -o-backface-visibility: hidden;
    backface-visibility: hidden;
  }
}
body.no-animations .shapes .shape:nth-child(1) {
  -webkit-transform: translate(46%, -5%);
  -moz-transform: translate(46%, -5%);
  -ms-transform: translate(46%, -5%);
  -o-transform: translate(46%, -5%);
  transform: translate(46%, -5%);
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  -o-backface-visibility: hidden;
  backface-visibility: hidden;
}
.shapes .shape:nth-child(2) {
  height: 22.4vw;
  -webkit-transform: translate(-42%, -55%);
  -moz-transform: translate(-42%, -55%);
  -ms-transform: translate(-42%, -55%);
  -o-transform: translate(-42%, -55%);
  transform: translate(-42%, -55%);
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  -o-backface-visibility: hidden;
  backface-visibility: hidden;
}
.shapes .shape:nth-child(3) {
  height: 17vw;
  -webkit-transform: translate(35%, -100%);
  -moz-transform: translate(35%, -100%);
  -ms-transform: translate(35%, -100%);
  -o-transform: translate(35%, -100%);
  transform: translate(35%, -100%);
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  -o-backface-visibility: hidden;
  backface-visibility: hidden;
}
.shapes .shape:nth-child(4) {
  height: 31.4vw;
  -webkit-transform: translate(-40%, -20%);
  -moz-transform: translate(-40%, -20%);
  -ms-transform: translate(-40%, -20%);
  -o-transform: translate(-40%, -20%);
  transform: translate(-40%, -20%);
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  -o-backface-visibility: hidden;
  backface-visibility: hidden;
}
.shapes .shape:nth-child(5) {
  height: 36.3vw;
  -webkit-transform: translate(10%, -10%);
  -moz-transform: translate(10%, -10%);
  -ms-transform: translate(10%, -10%);
  -o-transform: translate(10%, -10%);
  transform: translate(10%, -10%);
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  -o-backface-visibility: hidden;
  backface-visibility: hidden;
}
.shapes .shape:nth-child(6) {
  height: 17.4vw;
  -webkit-transform: translate(-40%, 0);
  -moz-transform: translate(-40%, 0);
  -ms-transform: translate(-40%, 0);
  -o-transform: translate(-40%, 0);
  transform: translate(-40%, 0);
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  -o-backface-visibility: hidden;
  backface-visibility: hidden;
}
.shapes .shape:nth-child(7) {
  height: 31.7vw;
  -webkit-transform: translate(20%, -10%);
  -moz-transform: translate(20%, -10%);
  -ms-transform: translate(20%, -10%);
  -o-transform: translate(20%, -10%);
  transform: translate(20%, -10%);
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  -o-backface-visibility: hidden;
  backface-visibility: hidden;
}
@media only screen and (min-width: 1024px) {
  .shapes .shape:nth-child(1) {
    height: 21.25vw;
  }
  .shapes .shape:nth-child(2) {
    height: 15.4vw;
  }
  .shapes .shape:nth-child(3) {
    height: 11vw;
  }
  .shapes .shape:nth-child(4) {
    height: 21.4vw;
  }
  .shapes .shape:nth-child(5) {
    height: 24.3vw;
  }
  .shapes .shape:nth-child(6) {
    height: 11.4vw;
  }
  .shapes .shape:nth-child(7) {
    height: 21.7vw;
  }
}
.shapes svg {
  width: 100%;
  height: 100%;
  fill: none;
  stroke: #4D4A4A;
  stroke-miterlimit: 10;
}
.shapes svg path {
  stroke-width: 1px;
  vector-effect: non-scaling-stroke;
}

.quote-slideshow {
  position: relative;
  width: 100%;
  height: 100%;
  min-height: fit-content;
}
@media only screen and (max-width: 768px) {
  .quote-slideshow {
    min-height: 75vw;
  }
}
body:not([data-loaded]) .quote-slideshow .slide:not(:first-of-type) {
  display: none;
}
.quote-slideshow .slide {
  position: absolute;
  top: 0;
  left: 0;
}
.quote-slideshow .slide,
.quote-slideshow .slide .wrap {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}
.quote-slideshow .slide {
  visibility: hidden;
  opacity: 0;
  transition: visibility 0s linear 0.25s, opacity 0.25s linear;
  will-change: visibility, opacity;
}
.quote-slideshow .slide.active {
  visibility: visible;
  opacity: 0.99999;
  transition-delay: 0s;
}
.quote-slideshow .dots {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.4rem;
  gap: 0.7rem;
  z-index: 10;
}
.quote-slideshow .dots button {
  position: relative;
  width: 1rem;
  aspect-ratio: 1/1;
  border: 1px solid #262626;
  border-radius: 50%;
  cursor: pointer;
  transition: background-color 0.125s;
}
.quote-slideshow .dots button:hover, .quote-slideshow .dots button:focus:not(:active) {
  box-shadow: 0 0 0 1px #262626;
}
.quote-slideshow .dots button.active {
  background-color: #262626;
  border-color: #262626;
}

.admin-edit {
  position: fixed;
  bottom: 6rem;
  right: 6rem;
  z-index: 99;
}
.admin-edit a {
  display: inline-block;
  padding: 0.4rem 0.8em;
  background-color: #262626;
  color: #F5F5E4;
  text-decoration: none;
}

.border-top {
  border-top: 1px solid #4D4A4A;
}

.border-right {
  border-right: 1px solid #4D4A4A;
}

.border-bottom {
  border-bottom: 1px solid #4D4A4A;
}

.border-left {
  border-left: 1px solid #4D4A4A;
}

.pattern-wrap {
  overflow: hidden;
  position: relative;
  -webkit-clip-path: inset(0 0 0 0);
  clip-path: inset(0 0 0 0);
}

.pattern {
  width: 100%;
}
.pattern svg {
  width: unset;
  max-width: unset;
  height: 100%;
  fill: none;
  stroke: #4D4A4A;
  stroke-miterlimit: 10;
}
.pattern svg path {
  stroke-width: 1px;
  vector-effect: non-scaling-stroke;
}

@-webkit-keyframes sideways {
  0% {
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    transform: translateX(-50%);
    -webkit-backface-visibility: hidden;
    -moz-backface-visibility: hidden;
    -o-backface-visibility: hidden;
    backface-visibility: hidden;
  }
  100% {
    -webkit-transform: translateX(0%);
    -moz-transform: translateX(0%);
    -ms-transform: translateX(0%);
    -o-transform: translateX(0%);
    transform: translateX(0%);
    -webkit-backface-visibility: hidden;
    -moz-backface-visibility: hidden;
    -o-backface-visibility: hidden;
    backface-visibility: hidden;
  }
}
@-moz-keyframes sideways {
  0% {
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    transform: translateX(-50%);
    -webkit-backface-visibility: hidden;
    -moz-backface-visibility: hidden;
    -o-backface-visibility: hidden;
    backface-visibility: hidden;
  }
  100% {
    -webkit-transform: translateX(0%);
    -moz-transform: translateX(0%);
    -ms-transform: translateX(0%);
    -o-transform: translateX(0%);
    transform: translateX(0%);
    -webkit-backface-visibility: hidden;
    -moz-backface-visibility: hidden;
    -o-backface-visibility: hidden;
    backface-visibility: hidden;
  }
}
@keyframes sideways {
  0% {
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    transform: translateX(-50%);
    -webkit-backface-visibility: hidden;
    -moz-backface-visibility: hidden;
    -o-backface-visibility: hidden;
    backface-visibility: hidden;
  }
  100% {
    -webkit-transform: translateX(0%);
    -moz-transform: translateX(0%);
    -ms-transform: translateX(0%);
    -o-transform: translateX(0%);
    transform: translateX(0%);
    -webkit-backface-visibility: hidden;
    -moz-backface-visibility: hidden;
    -o-backface-visibility: hidden;
    backface-visibility: hidden;
  }
}
.sideways {
  overflow-x: hidden;
}
.sideways .pattern {
  height: 100%;
  -webkit-animation: sideways 15s linear 0s infinite normal forwards;
  -moz-animation: sideways 15s linear 0s infinite normal forwards;
  animation: sideways 15s linear 0s infinite normal forwards;
}

body:not(.no-animations) .parallax-image {
  margin-top: 18vh;
}
body:not(.no-animations) .parallax-wrap svg {
  margin-top: 20vh;
}

.parallax {
  position: fixed;
  top: 0;
  height: 100%;
}
body.no-animations .parallax {
  position: absolute;
  width: 100% !important;
  height: 100% !important;
}
body.no-animations .parallax svg {
  width: 100% !important;
  height: unset;
}

@-webkit-keyframes radiate {
  0%, 100% {
    width: 146%;
    height: 146%;
  }
  50% {
    width: 294%;
    height: 294%;
  }
}
@-moz-keyframes radiate {
  0%, 100% {
    width: 146%;
    height: 146%;
  }
  50% {
    width: 294%;
    height: 294%;
  }
}
@keyframes radiate {
  0%, 100% {
    width: 146%;
    height: 146%;
  }
  50% {
    width: 294%;
    height: 294%;
  }
}
.radiate {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 146%;
  height: 146%;
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  -o-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  -o-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-animation: radiate 20s ease-in-out 0s infinite normal forwards;
  -moz-animation: radiate 20s ease-in-out 0s infinite normal forwards;
  animation: radiate 20s ease-in-out 0s infinite normal forwards;
}
.radiate svg {
  width: 100%;
  height: 100%;
}
.radiate svg circle {
  vector-effect: non-scaling-stroke;
}

section.home {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
}
section.home .wrap {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-justify-content: center; /* Safari 7.0+ */
  justify-content: center;
  box-shadow: -1px 0 0 #4D4A4A, 1px 0 0 #4D4A4A;
  max-width: unset;
  margin: 0;
  min-height: 33.333vw;
}
@media only screen and (max-width: 768px) {
  section.home.first .wrap {
    width: 100%;
  }
  section.home.first .pattern-wrap,
  section.home.first .pattern {
    display: none;
  }
  section.home.second {
    -webkit-flex-direction: column-reverse;
    flex-direction: column-reverse;
  }
  section.home.second .wrap {
    width: calc(100% - 4.2rem);
  }
  section.home.second .pattern-wrap,
  section.home.second .pattern {
    width: 100%;
  }
  section.home.second .pattern-wrap {
    height: 42vw;
    border-bottom: 1px solid #4D4A4A;
  }
  section.home.second .pattern {
    left: 0;
    right: 0;
  }
  section.home.third {
    border-top: 0;
    -webkit-flex-direction: column;
    flex-direction: column;
  }
  section.home.third .wrap {
    padding-top: 0;
    width: calc(100% - 4.2rem);
  }
  section.home.third .pattern-wrap {
    width: 100%;
    height: 56.25vw;
    border-top: 1px solid #4D4A4A;
  }
  section.home.third .pattern {
    width: 121.5%;
  }
  section.home.fourth {
    -webkit-flex-direction: column;
    flex-direction: column;
  }
  section.home.fourth::after {
    content: "";
    width: 100%;
    height: 0;
    border-bottom: 1px solid #4D4A4A;
    position: absolute;
    bottom: 25vw;
  }
  section.home.fourth .wrap {
    width: calc(100% - 4.2rem);
    margin-left: 4.2rem;
  }
  section.home.fourth .pattern-wrap:first-child,
  section.home.fourth .pattern-wrap:first-child .pattern {
    display: none;
  }
  section.home.fourth .pattern-wrap:last-child {
    width: 25vw;
    height: 25vw;
    align-self: flex-end;
    overflow: hidden;
    border-top: 0;
    border-left: 1px solid #4D4A4A;
  }
}
@media only screen and (min-width: 769px) {
  section.home.first .wrap {
    width: 77.9166666667%;
    padding-right: 15%;
  }
  section.home.first .pattern-wrap,
  section.home.first .pattern {
    width: 22.0833333333%;
  }
  section.home.first .pattern-wrap {
    height: 16.666vw;
  }
  section.home.first .pattern {
    right: 0;
  }
  section.home.second {
    -webkit-flex-direction: row-reverse;
    flex-direction: row-reverse;
  }
  section.home.second .wrap {
    width: 60.2777777778%;
  }
  section.home.second .pattern-wrap,
  section.home.second .pattern {
    width: 39.7222222222%;
  }
  section.home.second .pattern-wrap {
    flex: 1;
  }
  section.home.second .pattern {
    left: 0;
  }
  section.home.third .wrap {
    width: 60.2777777778%;
  }
  section.home.third .pattern-wrap {
    width: 39.7222222222%;
  }
  section.home.third .pattern {
    width: 90.5%;
  }
  section.home.fourth .wrap {
    width: 55%;
    min-height: 50vw;
  }
  section.home.fourth .pattern-wrap:first-child,
  section.home.fourth .pattern-wrap:first-child .pattern {
    width: 33.3333333333%;
  }
  section.home.fourth .pattern-wrap:first-child {
    height: 36vw;
  }
  section.home.fourth .pattern-wrap:first-child .pattern {
    left: 0;
  }
  section.home.fourth .pattern-wrap:last-child,
  section.home.fourth .pattern-wrap:last-child .pattern {
    flex: 1;
  }
  section.home.fourth .pattern-wrap:last-child {
    height: 11.666vw;
    align-self: flex-end;
    overflow: hidden;
  }
}

.principles {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  border-top: 1px solid #4D4A4A;
  border-bottom: 1px solid #4D4A4A;
}
@media only screen and (max-width: 768px) {
  .principles {
    -webkit-flex-direction: column;
    flex-direction: column;
    height: 212vw;
  }
}

.principle {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center; /* Safari 7.0+ */
  justify-content: center;
  -webkit-align-items: center; /* Safari 7.0+ */
  align-items: center;
  position: relative;
  flex: 1;
  overflow: hidden;
  -webkit-clip-path: inset(0 0 0 0);
  clip-path: inset(0 0 0 0);
}
.principle:nth-child(1) {
  z-index: 3;
}
.principle:nth-child(2) {
  z-index: 2;
}
.principle:nth-child(3) {
  z-index: 1;
}
.principle .pattern {
  position: relative;
  z-index: 0;
}
body.no-animations .principle .pattern {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
}
.principle .pattern svg {
  width: 100%;
  height: unset;
}
.principle .text-wrap {
  position: relative;
}
.principle .text {
  position: fixed;
  top: 0;
  z-index: 1;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center; /* Safari 7.0+ */
  justify-content: center;
  -webkit-align-items: center; /* Safari 7.0+ */
  align-items: center;
  text-align: center;
  text-transform: uppercase;
  background-color: #262626;
  color: #F5F5E4;
  border-radius: 50%;
  padding: 2vw;
  -webkit-transform: translateY(118vh);
  -moz-transform: translateY(118vh);
  -ms-transform: translateY(118vh);
  -o-transform: translateY(118vh);
  transform: translateY(118vh);
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  -o-backface-visibility: hidden;
  backface-visibility: hidden;
}
body.no-animations .principle .text {
  position: absolute;
}
@media only screen and (max-width: 768px) {
  .principle {
    width: 100%;
  }
  .principle:not(:first-child) {
    border-top: 1px solid #4D4A4A;
  }
  .principle .text {
    top: 50%;
    width: 42vw;
    height: 42vw;
    padding: 2vh;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
    -webkit-backface-visibility: hidden;
    -moz-backface-visibility: hidden;
    -o-backface-visibility: hidden;
    backface-visibility: hidden;
  }
  .principle .text h4 {
    font-size: 1.7rem;
  }
}
@media only screen and (max-width: 540px) {
  .principle .text {
    width: 50vw;
    height: 50vw;
  }
}
@media only screen and (min-width: 769px) {
  .principle {
    height: 23.2vw;
  }
  .principle:not(:first-child) {
    border-left: 1px solid #4D4A4A;
  }
  .principle .text {
    width: 18vw;
    height: 18vw;
  }
  .principle .text h4 {
    font-size: 82.3529411765%;
  }
}
@media only screen and (min-width: 1024px) {
  .principle .text {
    width: 15vw;
    height: 15vw;
  }
}
@media only screen and (min-width: 1920px) {
  .principle .text {
    width: 12.5vw;
    height: 12.5vw;
  }
  .principle .text h4 {
    font-size: 90%;
  }
}

.text-input-wrap {
  position: relative;
  display: block;
  width: 100%;
}
.text-input-wrap input {
  display: block;
  width: 100%;
  line-height: 2em;
  text-align: center;
}
.text-input-wrap input + label {
  position: absolute;
  top: 0;
  left: 0.7rem;
  right: 0.7rem;
  display: block;
  text-align: center;
  color: #4D4A4A;
  opacity: 0.9;
  line-height: 2em;
  will-change: auto;
  -webkit-transition: all 0.125s ease-in-out;
  -moz-transition: all 0.125s ease-in-out;
  -o-transition: all 0.125s ease-in-out;
  transition: all 0.125s ease-in-out;
}
.text-input-wrap input:hover:not(:focus):not(.has-value) + label {
  color: #4D4A4A;
}
.text-input-wrap input.has-value + label, .text-input-wrap input:focus + label {
  top: -1.4em;
  font-size: 1.2rem;
}

.screenreader-text {
  position: absolute;
  left: -9999px;
  width: 0;
  height: 0;
  overflow: hidden;
}

@media only screen and (max-width: 768px) and (max-height: 400px) {
  .content {
    padding-left: env(safe-area-inset-left);
    padding-right: env(safe-area-inset-right);
  }
}
.no-animations *,
.pause-animations * {
  animation: none !important;
  transition: none !important;
}

@media only screen and (max-width: 768px) and (max-height: 400px) {
  .content {
    padding-left: env(safe-area-inset-left);
    padding-right: env(safe-area-inset-right);
  }
}
[data-touch-events] select, [data-touch-events] textarea, [data-touch-events] input[type=text], [data-touch-events] input[type=password],
[data-touch-events] input[type=datetime], [data-touch-events] input[type=datetime-local],
[data-touch-events] input[type=date], [data-touch-events] input[type=month], [data-touch-events] input[type=time],
[data-touch-events] input[type=week], [data-touch-events] input[type=number], [data-touch-events] input[type=email],
[data-touch-events] input[type=url] {
  font-size: 16px;
}
