html {
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  font-family: sans-serif
}

body {
  margin: 0
}

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

audio,
canvas,
progress,
video {
  vertical-align: baseline;
  display: inline-block
}

audio:not([controls]) {
  height: 0;
  display: none
}

[hidden],
template {
  display: none
}

a {
  background-color: #0000
}

a:active,
a:hover {
  outline: 0
}

abbr[title] {
  border-bottom: 1px dotted
}

b,
strong {
  font-weight: 700
}

dfn {
  font-style: italic
}

h1 {
  margin: .67em 0;
  font-size: 2em
}

mark {
  color: #000;
  background: #ff0
}

small {
  font-size: 80%
}

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

sup {
  top: -.5em
}

sub {
  bottom: -.25em
}

img {
  border: 0
}

svg:not(:root) {
  overflow: hidden
}

hr {
  box-sizing: content-box;
  height: 0
}

pre {
  overflow: auto
}

code,
kbd,
pre,
samp {
  font-family: monospace;
  font-size: 1em
}

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

button {
  overflow: visible
}

button,
select {
  text-transform: none
}

button,
html input[type=button],
input[type=reset] {
  -webkit-appearance: button;
  cursor: pointer
}

button[disabled],
html input[disabled] {
  cursor: default
}

button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0
}

input {
  line-height: normal
}

input[type=checkbox],
input[type=radio] {
  box-sizing: border-box;
  padding: 0
}

input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
  height: auto
}

input[type=search] {
  -webkit-appearance: none
}

input[type=search]::-webkit-search-cancel-button,
input[type=search]::-webkit-search-decoration {
  -webkit-appearance: none
}

legend {
  border: 0;
  padding: 0
}

textarea {
  overflow: auto
}

optgroup {
  font-weight: 700
}

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

td,
th {
  padding: 0
}

@font-face {
  font-family: halfex-icons;
  src: url(data:application/x-font-ttf;charset=utf-8;base64,AAEAAAALAIAAAwAwT1MvMg8SBiUAAAC8AAAAYGNtYXDpP+a4AAABHAAAAFxnYXNwAAAAEAAAAXgAAAAIZ2x5ZmhS2XEAAAGAAAADHGhlYWQTFw3HAAAEnAAAADZoaGVhCXYFgQAABNQAAAAkaG10eCe4A1oAAAT4AAAAMGxvY2EDtALGAAAFKAAAABptYXhwABAAPgAABUQAAAAgbmFtZSoCsMsAAAVkAAABznBvc3QAAwAAAAAHNAAAACAAAwP4AZAABQAAApkCzAAAAI8CmQLMAAAB6wAzAQkAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAABAAADpAwPA/8AAQAPAAEAAAAABAAAAAAAAAAAAAAAgAAAAAAADAAAAAwAAABwAAQADAAAAHAADAAEAAAAcAAQAQAAAAAwACAACAAQAAQAg5gPpA//9//8AAAAAACDmAOkA//3//wAB/+MaBBcIAAMAAQAAAAAAAAAAAAAAAAABAAH//wAPAAEAAAAAAAAAAAACAAA3OQEAAAAAAQAAAAAAAAAAAAIAADc5AQAAAAABAAAAAAAAAAAAAgAANzkBAAAAAAEBIAAAAyADgAAFAAAJAQcJARcDIP5AQAGA/oBAAcABwED+gP6AQAABAOAAAALgA4AABQAAEwEXCQEH4AHAQP6AAYBAAcABwED+gP6AQAAAAwDAAOADQALAAA8AHwAvAAABISIGHQEUFjMhMjY9ATQmByEiBh0BFBYzITI2PQE0JgchIgYdARQWMyEyNj0BNCYDIP3ADRMTDQJADRMTDf3ADRMTDQJADRMTDf3ADRMTDQJADRMTAsATDSANExMNIA0TwBMNIA0TEw0gDRPAEw0gDRMTDSANEwAAAAABAJ0AtAOBApUABQAACQIHCQEDJP7r/upcAXEBcgKU/usBFVz+fAGEAAAAAAL//f+9BAMDwwAEAAkAABcBJwEXAwE3AQdpA5ps/GZsbAOabPxmbEMDmmz8ZmwDmvxmbAOabAAAAgAA/8AEAAPAAB0AOwAABSInLgEnJjU0Nz4BNzYzMTIXHgEXFhUUBw4BBwYjNTI3PgE3NjU0Jy4BJyYjMSIHDgEHBhUUFx4BFxYzAgBqXV6LKCgoKIteXWpqXV6LKCgoKIteXWpVSktvICEhIG9LSlVVSktvICEhIG9LSlVAKCiLXl1qal1eiygoKCiLXl1qal1eiygoZiEgb0tKVVVKS28gISEgb0tKVVVKS28gIQABAAABwAIAA8AAEgAAEzQ3PgE3NjMxFSIHDgEHBhUxIwAoKIteXWpVSktvICFmAcBqXV6LKChmISBvS0pVAAAAAgAA/8AFtgPAADIAOgAAARYXHgEXFhUUBw4BBwYHIxUhIicuAScmNTQ3PgE3NjMxOAExNDc+ATc2MzIXHgEXFhcVATMJATMVMzUEjD83NlAXFxYXTjU1PQL8kz01Nk8XFxcXTzY1PSIjd1BQWlJJSXInJw3+mdv+2/7c25MCUQYcHFg5OUA/ODlXHBwIAhcXTzY1PTw1Nk8XF1tQUHcjIhwcYUNDTgL+3QFt/pOTkwABAAAAAQAAmM7nP18PPPUACwQAAAAAANciZKUAAAAA1yJkpf/9/70FtgPDAAAACAACAAAAAAAAAAEAAAPA/8AAAAW3//3//QW2AAEAAAAAAAAAAAAAAAAAAAAMBAAAAAAAAAAAAAAAAgAAAAQAASAEAADgBAAAwAQAAJ0EAP/9BAAAAAQAAAAFtwAAAAAAAAAKABQAHgAyAEYAjACiAL4BFgE2AY4AAAABAAAADAA8AAMAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAADgCuAAEAAAAAAAEADQAAAAEAAAAAAAIABwCWAAEAAAAAAAMADQBIAAEAAAAAAAQADQCrAAEAAAAAAAUACwAnAAEAAAAAAAYADQBvAAEAAAAAAAoAGgDSAAMAAQQJAAEAGgANAAMAAQQJAAIADgCdAAMAAQQJAAMAGgBVAAMAAQQJAAQAGgC4AAMAAQQJAAUAFgAyAAMAAQQJAAYAGgB8AAMAAQQJAAoANADsd2ViZmxvdy1pY29ucwB3AGUAYgBmAGwAbwB3AC0AaQBjAG8AbgBzVmVyc2lvbiAxLjAAVgBlAHIAcwBpAG8AbgAgADEALgAwd2ViZmxvdy1pY29ucwB3AGUAYgBmAGwAbwB3AC0AaQBjAG8AbgBzd2ViZmxvdy1pY29ucwB3AGUAYgBmAGwAbwB3AC0AaQBjAG8AbgBzUmVndWxhcgBSAGUAZwB1AGwAYQByd2ViZmxvdy1pY29ucwB3AGUAYgBmAGwAbwB3AC0AaQBjAG8AbgBzRm9udCBnZW5lcmF0ZWQgYnkgSWNvTW9vbi4ARgBvAG4AdAAgAGcAZQBuAGUAcgBhAHQAZQBkACAAYgB5ACAASQBjAG8ATQBvAG8AbgAuAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==)format("truetype");
  font-weight: 400;
  font-style: normal
}

[class^=w-icon-],
[class*=\ w-icon-] {
  speak: none;
  font-variant: normal;
  text-transform: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-weight: 400;
  line-height: 1;
  font-family: halfex-icons !important
}

.w-icon-slider-right:before {
  content: ""
}

.w-icon-slider-left:before {
  content: ""
}

.w-icon-nav-menu:before {
  content: ""
}

.w-icon-arrow-down:before,
.w-icon-dropdown-toggle:before {
  content: ""
}

.w-icon-file-upload-remove:before {
  content: ""
}

.w-icon-file-upload-icon:before {
  content: ""
}

* {
  box-sizing: border-box
}

html {
  height: 100%
}

body {
  color: #333;
  background-color: #fff;
  min-height: 100%;
  margin: 0;
  font-family: Arial, sans-serif;
  font-size: 14px;
  line-height: 20px
}

img {
  vertical-align: middle;
  max-width: 100%;
  display: inline-block
}

html.w-mod-touch * {
  background-attachment: scroll !important
}

.w-block {
  display: block
}

.w-inline-block {
  max-width: 100%;
  display: inline-block
}

.w-clearfix:before,
.w-clearfix:after {
  content: " ";
  grid-area: 1/1/2/2;
  display: table
}

.w-clearfix:after {
  clear: both
}

.w-hidden {
  display: none
}

.w-button {
  color: #fff;
  line-height: inherit;
  cursor: pointer;
  background-color: #3898ec;
  border: 0;
  border-radius: 0;
  padding: 9px 15px;
  text-decoration: none;
  display: inline-block
}

input.w-button {
  -webkit-appearance: button
}

html[data-w-dynpage] [data-w-cloak] {
  color: #0000 !important
}

.w-code-block {
  margin: unset
}

pre.w-code-block code {
  all: inherit
}

.w-optimization {
  display: contents
}

h1,
h2,
h3,
h4,
h5,
h6 {
  margin-bottom: 10px;
  font-weight: 700
}

h1 {
  margin-top: 20px;
  font-size: 38px;
  line-height: 44px
}

h2 {
  margin-top: 20px;
  font-size: 32px;
  line-height: 36px
}

h3 {
  margin-top: 20px;
  font-size: 24px;
  line-height: 30px
}

h4 {
  margin-top: 10px;
  font-size: 18px;
  line-height: 24px
}

h5 {
  margin-top: 10px;
  font-size: 14px;
  line-height: 20px
}

h6 {
  margin-top: 10px;
  font-size: 12px;
  line-height: 18px
}

p {
  margin-top: 0;
  margin-bottom: 10px
}

blockquote {
  border-left: 5px solid #e2e2e2;
  margin: 0 0 10px;
  padding: 10px 20px;
  font-size: 18px;
  line-height: 22px
}

figure {
  margin: 0 0 10px
}

figcaption {
  text-align: center;
  margin-top: 5px
}

ul,
ol {
  margin-top: 0;
  margin-bottom: 10px;
  padding-left: 40px
}

.w-list-unstyled {
  padding-left: 0;
  list-style: none
}

.w-embed:before,
.w-embed:after {
  content: " ";
  grid-area: 1/1/2/2;
  display: table
}

.w-embed:after {
  clear: both
}

.w-video {
  width: 100%;
  padding: 0;
  position: relative
}

.w-video iframe,
.w-video object,
.w-video embed {
  border: none;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0
}

fieldset {
  border: 0;
  margin: 0;
  padding: 0
}

button,
[type=button],
[type=reset] {
  cursor: pointer;
  -webkit-appearance: button;
  border: 0
}

.w-form {
  margin: 0 0 15px
}

.w-form-done {
  text-align: center;
  background-color: #ddd;
  padding: 20px;
  display: none
}

.w-form-fail {
  background-color: #ffdede;
  margin-top: 10px;
  padding: 10px;
  display: none
}

label {
  margin-bottom: 5px;
  font-weight: 700;
  display: block
}

.w-input,
.w-select {
  color: #333;
  vertical-align: middle;
  background-color: #fff;
  border: 1px solid #ccc;
  width: 100%;
  height: 38px;
  margin-bottom: 10px;
  padding: 8px 12px;
  font-size: 14px;
  line-height: 1.42857;
  display: block
}

.w-input::placeholder,
.w-select::placeholder {
  color: #999
}

.w-input:focus,
.w-select:focus {
  border-color: #3898ec;
  outline: 0
}

.w-input[disabled],
.w-select[disabled],
.w-input[readonly],
.w-select[readonly],
fieldset[disabled] .w-input,
fieldset[disabled] .w-select {
  cursor: not-allowed
}

.w-input[disabled]:not(.w-input-disabled),
.w-select[disabled]:not(.w-input-disabled),
.w-input[readonly],
.w-select[readonly],
fieldset[disabled]:not(.w-input-disabled) .w-input,
fieldset[disabled]:not(.w-input-disabled) .w-select {
  background-color: #eee
}

textarea.w-input,
textarea.w-select {
  height: auto
}

.w-select {
  background-color: #f3f3f3
}

.w-select[multiple] {
  height: auto
}

.w-form-label {
  cursor: pointer;
  margin-bottom: 0;
  font-weight: 400;
  display: inline-block
}

.w-radio {
  margin-bottom: 5px;
  padding-left: 20px;
  display: block
}

.w-radio:before,
.w-radio:after {
  content: " ";
  grid-area: 1/1/2/2;
  display: table
}

.w-radio:after {
  clear: both
}

.w-radio-input {
  float: left;
  margin: 3px 0 0 -20px;
  line-height: normal
}

.w-file-upload {
  margin-bottom: 10px;
  display: block
}

.w-file-upload-input {
  opacity: 0;
  z-index: -100;
  width: .1px;
  height: .1px;
  position: absolute;
  overflow: hidden
}

.w-file-upload-default,
.w-file-upload-uploading,
.w-file-upload-success {
  color: #333;
  display: inline-block
}

.w-file-upload-error {
  margin-top: 10px;
  display: block
}

.w-file-upload-default.w-hidden,
.w-file-upload-uploading.w-hidden,
.w-file-upload-error.w-hidden,
.w-file-upload-success.w-hidden {
  display: none
}

.w-file-upload-uploading-btn {
  cursor: pointer;
  background-color: #fafafa;
  border: 1px solid #ccc;
  margin: 0;
  padding: 8px 12px;
  font-size: 14px;
  font-weight: 400;
  display: flex
}

.w-file-upload-file {
  background-color: #fafafa;
  border: 1px solid #ccc;
  flex-grow: 1;
  justify-content: space-between;
  margin: 0;
  padding: 8px 9px 8px 11px;
  display: flex
}

.w-file-upload-file-name {
  font-size: 14px;
  font-weight: 400;
  display: block
}

.w-file-remove-link {
  cursor: pointer;
  width: auto;
  height: auto;
  margin-top: 3px;
  margin-left: 10px;
  padding: 3px;
  display: block
}

.w-icon-file-upload-remove {
  margin: auto;
  font-size: 10px
}

.w-file-upload-error-msg {
  color: #ea384c;
  padding: 2px 0;
  display: inline-block
}

.w-file-upload-info {
  padding: 0 12px;
  line-height: 38px;
  display: inline-block
}

.w-file-upload-label {
  cursor: pointer;
  background-color: #fafafa;
  border: 1px solid #ccc;
  margin: 0;
  padding: 8px 12px;
  font-size: 14px;
  font-weight: 400;
  display: inline-block
}

.w-icon-file-upload-icon,
.w-icon-file-upload-uploading {
  width: 20px;
  margin-right: 8px;
  display: inline-block
}

.w-icon-file-upload-uploading {
  height: 20px
}

.w-container {
  max-width: 940px;
  margin-left: auto;
  margin-right: auto
}

.w-container:before,
.w-container:after {
  content: " ";
  grid-area: 1/1/2/2;
  display: table
}

.w-container:after {
  clear: both
}

.w-container .w-row {
  margin-left: -10px;
  margin-right: -10px
}

.w-row:before,
.w-row:after {
  content: " ";
  grid-area: 1/1/2/2;
  display: table
}

.w-row:after {
  clear: both
}

.w-row .w-row {
  margin-left: 0;
  margin-right: 0
}

.w-col {
  float: left;
  width: 100%;
  min-height: 1px;
  padding-left: 10px;
  padding-right: 10px;
  position: relative
}

.w-col .w-col {
  padding-left: 0;
  padding-right: 0
}

.w-col-1 {
  width: 8.33333%
}

.w-col-2 {
  width: 16.6667%
}

.w-col-3 {
  width: 25%
}

.w-col-4 {
  width: 33.3333%
}

.w-col-5 {
  width: 41.6667%
}

.w-col-6 {
  width: 50%
}

.w-col-7 {
  width: 58.3333%
}

.w-col-8 {
  width: 66.6667%
}

.w-col-9 {
  width: 75%
}

.w-col-10 {
  width: 83.3333%
}

.w-col-11 {
  width: 91.6667%
}

.w-col-12 {
  width: 100%
}

.w-hidden-main {
  display: none !important
}

@media screen and (max-width:991px) {
  .w-container {
    max-width: 728px
  }

  .w-hidden-main {
    display: inherit !important
  }

  .w-hidden-medium {
    display: none !important
  }

  .w-col-medium-1 {
    width: 8.33333%
  }

  .w-col-medium-2 {
    width: 16.6667%
  }

  .w-col-medium-3 {
    width: 25%
  }

  .w-col-medium-4 {
    width: 33.3333%
  }

  .w-col-medium-5 {
    width: 41.6667%
  }

  .w-col-medium-6 {
    width: 50%
  }

  .w-col-medium-7 {
    width: 58.3333%
  }

  .w-col-medium-8 {
    width: 66.6667%
  }

  .w-col-medium-9 {
    width: 75%
  }

  .w-col-medium-10 {
    width: 83.3333%
  }

  .w-col-medium-11 {
    width: 91.6667%
  }

  .w-col-medium-12 {
    width: 100%
  }

  .w-col-stack {
    width: 100%;
    left: auto;
    right: auto
  }
}

@media screen and (max-width:767px) {

  .w-hidden-main,
  .w-hidden-medium {
    display: inherit !important
  }

  .w-hidden-small {
    display: none !important
  }

  .w-row,
  .w-container .w-row {
    margin-left: 0;
    margin-right: 0
  }

  .w-col {
    width: 100%;
    left: auto;
    right: auto
  }

  .w-col-small-1 {
    width: 8.33333%
  }

  .w-col-small-2 {
    width: 16.6667%
  }

  .w-col-small-3 {
    width: 25%
  }

  .w-col-small-4 {
    width: 33.3333%
  }

  .w-col-small-5 {
    width: 41.6667%
  }

  .w-col-small-6 {
    width: 50%
  }

  .w-col-small-7 {
    width: 58.3333%
  }

  .w-col-small-8 {
    width: 66.6667%
  }

  .w-col-small-9 {
    width: 75%
  }

  .w-col-small-10 {
    width: 83.3333%
  }

  .w-col-small-11 {
    width: 91.6667%
  }

  .w-col-small-12 {
    width: 100%
  }
}

@media screen and (max-width:479px) {
  .w-container {
    max-width: none
  }

  .w-hidden-main,
  .w-hidden-medium,
  .w-hidden-small {
    display: inherit !important
  }

  .w-hidden-tiny {
    display: none !important
  }

  .w-col {
    width: 100%
  }

  .w-col-tiny-1 {
    width: 8.33333%
  }

  .w-col-tiny-2 {
    width: 16.6667%
  }

  .w-col-tiny-3 {
    width: 25%
  }

  .w-col-tiny-4 {
    width: 33.3333%
  }

  .w-col-tiny-5 {
    width: 41.6667%
  }

  .w-col-tiny-6 {
    width: 50%
  }

  .w-col-tiny-7 {
    width: 58.3333%
  }

  .w-col-tiny-8 {
    width: 66.6667%
  }

  .w-col-tiny-9 {
    width: 75%
  }

  .w-col-tiny-10 {
    width: 83.3333%
  }

  .w-col-tiny-11 {
    width: 91.6667%
  }

  .w-col-tiny-12 {
    width: 100%
  }
}

.w-widget {
  position: relative
}

.w-widget-map {
  width: 100%;
  height: 400px
}

.w-widget-map label {
  width: auto;
  display: inline
}

.w-widget-map img {
  max-width: inherit
}

.w-widget-map .gm-style-iw {
  text-align: center
}

.w-widget-map .gm-style-iw>button {
  display: none !important
}

.w-widget-twitter {
  overflow: hidden
}

.w-widget-twitter-count-shim {
  vertical-align: top;
  text-align: center;
  background: #fff;
  border: 1px solid #758696;
  border-radius: 3px;
  width: 28px;
  height: 20px;
  display: inline-block;
  position: relative
}

.w-widget-twitter-count-shim * {
  pointer-events: none;
  -webkit-user-select: none;
  user-select: none
}

.w-widget-twitter-count-shim .w-widget-twitter-count-inner {
  text-align: center;
  color: #999;
  font-family: serif;
  font-size: 15px;
  line-height: 12px;
  position: relative
}

.w-widget-twitter-count-shim .w-widget-twitter-count-clear {
  display: block;
  position: relative
}

.w-widget-twitter-count-shim.w--large {
  width: 36px;
  height: 28px
}

.w-widget-twitter-count-shim.w--large .w-widget-twitter-count-inner {
  font-size: 18px;
  line-height: 18px
}

.w-widget-twitter-count-shim:not(.w--vertical) {
  margin-left: 5px;
  margin-right: 8px
}

.w-widget-twitter-count-shim:not(.w--vertical).w--large {
  margin-left: 6px
}

.w-widget-twitter-count-shim:not(.w--vertical):before,
.w-widget-twitter-count-shim:not(.w--vertical):after {
  content: " ";
  pointer-events: none;
  border: solid #0000;
  width: 0;
  height: 0;
  position: absolute;
  top: 50%;
  left: 0
}

.w-widget-twitter-count-shim:not(.w--vertical):before {
  border-width: 4px;
  border-color: #75869600 #5d6c7b #75869600 #75869600;
  margin-top: -4px;
  margin-left: -9px
}

.w-widget-twitter-count-shim:not(.w--vertical).w--large:before {
  border-width: 5px;
  margin-top: -5px;
  margin-left: -10px
}

.w-widget-twitter-count-shim:not(.w--vertical):after {
  border-width: 4px;
  border-color: #fff0 #fff #fff0 #fff0;
  margin-top: -4px;
  margin-left: -8px
}

.w-widget-twitter-count-shim:not(.w--vertical).w--large:after {
  border-width: 5px;
  margin-top: -5px;
  margin-left: -9px
}

.w-widget-twitter-count-shim.w--vertical {
  width: 61px;
  height: 33px;
  margin-bottom: 8px
}

.w-widget-twitter-count-shim.w--vertical:before,
.w-widget-twitter-count-shim.w--vertical:after {
  content: " ";
  pointer-events: none;
  border: solid #0000;
  width: 0;
  height: 0;
  position: absolute;
  top: 100%;
  left: 50%
}

.w-widget-twitter-count-shim.w--vertical:before {
  border-width: 5px;
  border-color: #5d6c7b #75869600 #75869600;
  margin-left: -5px
}

.w-widget-twitter-count-shim.w--vertical:after {
  border-width: 4px;
  border-color: #fff #fff0 #fff0;
  margin-left: -4px
}

.w-widget-twitter-count-shim.w--vertical .w-widget-twitter-count-inner {
  font-size: 18px;
  line-height: 22px
}

.w-widget-twitter-count-shim.w--vertical.w--large {
  width: 76px
}

.w-background-video {
  color: #fff;
  height: 500px;
  position: relative;
  overflow: hidden
}

.w-background-video>video {
  object-fit: cover;
  z-index: -100;
  background-position: 50%;
  background-size: cover;
  width: 100%;
  height: 100%;
  margin: auto;
  position: absolute;
  inset: -100%
}

.w-background-video>video::-webkit-media-controls-start-playback-button {
  -webkit-appearance: none;
  display: none !important
}

.w-background-video--control {
  background-color: #0000;
  padding: 0;
  position: absolute;
  bottom: 1em;
  right: 1em
}

.w-background-video--control>[hidden] {
  display: none !important
}

.w-slider {
  text-align: center;
  clear: both;
  -webkit-tap-highlight-color: #0000;
  tap-highlight-color: #0000;
  background: #ddd;
  height: 300px;
  position: relative
}

.w-slider-mask {
  z-index: 1;
  white-space: nowrap;
  height: 100%;
  display: block;
  position: relative;
  left: 0;
  right: 0;
  overflow: hidden
}

.w-slide {
  vertical-align: top;
  white-space: normal;
  text-align: left;
  width: 100%;
  height: 100%;
  display: inline-block;
  position: relative
}

.w-slider-nav {
  z-index: 2;
  text-align: center;
  -webkit-tap-highlight-color: #0000;
  tap-highlight-color: #0000;
  height: 40px;
  margin: auto;
  padding-top: 10px;
  position: absolute;
  inset: auto 0 0
}

.w-slider-nav.w-round>div {
  border-radius: 100%
}

.w-slider-nav.w-num>div {
  font-size: inherit;
  line-height: inherit;
  width: auto;
  height: auto;
  padding: .2em .5em
}

.w-slider-nav.w-shadow>div {
  box-shadow: 0 0 3px #3336
}

.w-slider-nav-invert {
  color: #fff
}

.w-slider-nav-invert>div {
  background-color: #2226
}

.w-slider-nav-invert>div.w-active {
  background-color: #222
}

.w-slider-dot {
  cursor: pointer;
  background-color: #fff6;
  width: 1em;
  height: 1em;
  margin: 0 3px .5em;
  transition: background-color .1s, color .1s;
  display: inline-block;
  position: relative
}

.w-slider-dot.w-active {
  background-color: #fff
}

.w-slider-dot:focus {
  outline: none;
  box-shadow: 0 0 0 2px #fff
}

.w-slider-dot:focus.w-active {
  box-shadow: none
}

.w-slider-arrow-left,
.w-slider-arrow-right {
  cursor: pointer;
  color: #fff;
  -webkit-tap-highlight-color: #0000;
  tap-highlight-color: #0000;
  -webkit-user-select: none;
  user-select: none;
  width: 80px;
  margin: auto;
  font-size: 40px;
  position: absolute;
  inset: 0;
  overflow: hidden
}

.w-slider-arrow-left [class^=w-icon-],
.w-slider-arrow-right [class^=w-icon-],
.w-slider-arrow-left [class*=\ w-icon-],
.w-slider-arrow-right [class*=\ w-icon-] {
  position: absolute
}

.w-slider-arrow-left:focus,
.w-slider-arrow-right:focus {
  outline: 0
}

.w-slider-arrow-left {
  z-index: 3;
  right: auto
}

.w-slider-arrow-right {
  z-index: 4;
  left: auto
}

.w-icon-slider-left,
.w-icon-slider-right {
  width: 1em;
  height: 1em;
  margin: auto;
  inset: 0
}

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

.w-slider-force-show {
  display: block !important
}

.w-dropdown {
  text-align: left;
  z-index: 900;
  margin-left: auto;
  margin-right: auto;
  display: inline-block;
  position: relative
}

.w-dropdown-btn,
.w-dropdown-toggle,
.w-dropdown-link {
  vertical-align: top;
  color: #222;
  text-align: left;
  white-space: nowrap;
  margin-left: auto;
  margin-right: auto;
  padding: 20px;
  text-decoration: none;
  position: relative
}

.w-dropdown-toggle {
  -webkit-user-select: none;
  user-select: none;
  cursor: pointer;
  padding-right: 40px;
  display: inline-block
}

.w-dropdown-toggle:focus {
  outline: 0
}

.w-icon-dropdown-toggle {
  width: 1em;
  height: 1em;
  margin: auto 20px auto auto;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0
}

.w-dropdown-list {
  background: #ddd;
  min-width: 100%;
  display: none;
  position: absolute
}

.w-dropdown-list.w--open {
  display: block
}

.w-dropdown-link {
  color: #222;
  padding: 10px 20px;
  display: block
}

.w-dropdown-link.w--current {
  color: #0082f3
}

.w-dropdown-link:focus {
  outline: 0
}

@media screen and (max-width:767px) {
  .w-nav-brand {
    padding-left: 10px
  }
}

.w-lightbox-backdrop {
  cursor: auto;
  letter-spacing: normal;
  text-indent: 0;
  text-shadow: none;
  text-transform: none;
  visibility: visible;
  white-space: normal;
  word-break: normal;
  word-spacing: normal;
  word-wrap: normal;
  color: #fff;
  text-align: center;
  z-index: 2000;
  opacity: 0;
  -webkit-user-select: none;
  -moz-user-select: none;
  -webkit-tap-highlight-color: transparent;
  background: #000000e6;
  outline: 0;
  font-family: Helvetica Neue, Helvetica, Ubuntu, Segoe UI, Verdana, sans-serif;
  font-size: 17px;
  font-style: normal;
  font-weight: 300;
  line-height: 1.2;
  list-style: disc;
  position: fixed;
  inset: 0;
  -webkit-transform: translate(0)
}

.w-lightbox-backdrop,
.w-lightbox-container {
  -webkit-overflow-scrolling: touch;
  height: 100%;
  overflow: auto
}

.w-lightbox-content {
  height: 100vh;
  position: relative;
  overflow: hidden
}

.w-lightbox-view {
  opacity: 0;
  width: 100vw;
  height: 100vh;
  position: absolute
}

.w-lightbox-view:before {
  content: "";
  height: 100vh
}

.w-lightbox-group,
.w-lightbox-group .w-lightbox-view,
.w-lightbox-group .w-lightbox-view:before {
  height: 86vh
}

.w-lightbox-frame,
.w-lightbox-view:before {
  vertical-align: middle;
  display: inline-block
}

.w-lightbox-figure {
  margin: 0;
  position: relative
}

.w-lightbox-group .w-lightbox-figure {
  cursor: pointer
}

.w-lightbox-img {
  width: auto;
  max-width: none;
  height: auto
}

.w-lightbox-image {
  float: none;
  max-width: 100vw;
  max-height: 100vh;
  display: block
}

.w-lightbox-group .w-lightbox-image {
  max-height: 86vh
}

.w-lightbox-caption {
  text-align: left;
  text-overflow: ellipsis;
  white-space: nowrap;
  background: #0006;
  padding: .5em 1em;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  overflow: hidden
}

.w-lightbox-embed {
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0
}

.w-lightbox-control {
  cursor: pointer;
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: 24px;
  width: 4em;
  transition: all .3s;
  position: absolute;
  top: 0
}

.w-lightbox-left {
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9Ii0yMCAwIDI0IDQwIiB3aWR0aD0iMjQiIGhlaWdodD0iNDAiPjxnIHRyYW5zZm9ybT0icm90YXRlKDQ1KSI+PHBhdGggZD0ibTAgMGg1djIzaDIzdjVoLTI4eiIgb3BhY2l0eT0iLjQiLz48cGF0aCBkPSJtMSAxaDN2MjNoMjN2M2gtMjZ6IiBmaWxsPSIjZmZmIi8+PC9nPjwvc3ZnPg==);
  display: none;
  bottom: 0;
  left: 0
}

.w-lightbox-right {
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9Ii00IDAgMjQgNDAiIHdpZHRoPSIyNCIgaGVpZ2h0PSI0MCI+PGcgdHJhbnNmb3JtPSJyb3RhdGUoNDUpIj48cGF0aCBkPSJtMC0waDI4djI4aC01di0yM2gtMjN6IiBvcGFjaXR5PSIuNCIvPjxwYXRoIGQ9Im0xIDFoMjZ2MjZoLTN2LTIzaC0yM3oiIGZpbGw9IiNmZmYiLz48L2c+PC9zdmc+);
  display: none;
  bottom: 0;
  right: 0
}

.w-lightbox-close {
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9Ii00IDAgMTggMTciIHdpZHRoPSIxOCIgaGVpZ2h0PSIxNyI+PGcgdHJhbnNmb3JtPSJyb3RhdGUoNDUpIj48cGF0aCBkPSJtMCAwaDd2LTdoNXY3aDd2NWgtN3Y3aC01di03aC03eiIgb3BhY2l0eT0iLjQiLz48cGF0aCBkPSJtMSAxaDd2LTdoM3Y3aDd2M2gtN3Y3aC0zdi03aC03eiIgZmlsbD0iI2ZmZiIvPjwvZz48L3N2Zz4=);
  background-size: 18px;
  height: 2.6em;
  right: 0
}

.w-lightbox-strip {
  white-space: nowrap;
  padding: 0 1vh;
  line-height: 0;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  overflow: auto hidden
}

.w-lightbox-item {
  box-sizing: content-box;
  cursor: pointer;
  width: 10vh;
  padding: 2vh 1vh;
  display: inline-block;
  -webkit-transform: translate(0, 0)
}

.w-lightbox-active {
  opacity: .3
}

.w-lightbox-thumbnail {
  background: #222;
  height: 10vh;
  position: relative;
  overflow: hidden
}

.w-lightbox-thumbnail-image {
  position: absolute;
  top: 0;
  left: 0
}

.w-lightbox-thumbnail .w-lightbox-tall {
  width: 100%;
  top: 50%;
  transform: translateY(-50%)
}

.w-lightbox-thumbnail .w-lightbox-wide {
  height: 100%;
  left: 50%;
  transform: translate(-50%)
}

.w-lightbox-spinner {
  box-sizing: border-box;
  border: 5px solid #0006;
  border-radius: 50%;
  width: 40px;
  height: 40px;
  margin-top: -20px;
  margin-left: -20px;
  animation: .8s linear infinite spin;
  position: absolute;
  top: 50%;
  left: 50%
}

.w-lightbox-spinner:after {
  content: "";
  border: 3px solid #0000;
  border-bottom-color: #fff;
  border-radius: 50%;
  position: absolute;
  inset: -4px
}

.w-lightbox-hide {
  display: none
}

.w-lightbox-noscroll {
  overflow: hidden
}

@media (min-width:768px) {
  .w-lightbox-content {
    height: 96vh;
    margin-top: 2vh
  }

  .w-lightbox-view,
  .w-lightbox-view:before {
    height: 96vh
  }

  .w-lightbox-group,
  .w-lightbox-group .w-lightbox-view,
  .w-lightbox-group .w-lightbox-view:before {
    height: 84vh
  }

  .w-lightbox-image {
    max-width: 96vw;
    max-height: 96vh
  }

  .w-lightbox-group .w-lightbox-image {
    max-width: 82.3vw;
    max-height: 84vh
  }

  .w-lightbox-left,
  .w-lightbox-right {
    opacity: .5;
    display: block
  }

  .w-lightbox-close {
    opacity: .8
  }

  .w-lightbox-control:hover {
    opacity: 1
  }
}

.w-lightbox-inactive,
.w-lightbox-inactive:hover {
  opacity: 0
}

.w-richtext:before,
.w-richtext:after {
  content: " ";
  grid-area: 1/1/2/2;
  display: table
}

.w-richtext:after {
  clear: both
}

.w-richtext[contenteditable=true]:before,
.w-richtext[contenteditable=true]:after {
  white-space: initial
}

.w-richtext ol,
.w-richtext ul {
  overflow: hidden
}

.w-richtext .w-richtext-figure-selected.w-richtext-figure-type-video div:after,
.w-richtext .w-richtext-figure-selected[data-rt-type=video] div:after,
.w-richtext .w-richtext-figure-selected.w-richtext-figure-type-image div,
.w-richtext .w-richtext-figure-selected[data-rt-type=image] div {
  outline: 2px solid #2895f7
}

.w-richtext figure.w-richtext-figure-type-video>div:after,
.w-richtext figure[data-rt-type=video]>div:after {
  content: "";
  display: none;
  position: absolute;
  inset: 0
}

.w-richtext figure {
  max-width: 60%;
  position: relative
}

.w-richtext figure>div:before {
  cursor: default !important
}

.w-richtext figure img {
  width: 100%
}

.w-richtext figure figcaption.w-richtext-figcaption-placeholder {
  opacity: .6
}

.w-richtext figure div {
  color: #0000;
  font-size: 0
}

.w-richtext figure.w-richtext-figure-type-image,
.w-richtext figure[data-rt-type=image] {
  display: table
}

.w-richtext figure.w-richtext-figure-type-image>div,
.w-richtext figure[data-rt-type=image]>div {
  display: inline-block
}

.w-richtext figure.w-richtext-figure-type-image>figcaption,
.w-richtext figure[data-rt-type=image]>figcaption {
  caption-side: bottom;
  display: table-caption
}

.w-richtext figure.w-richtext-figure-type-video,
.w-richtext figure[data-rt-type=video] {
  width: 60%;
  height: 0
}

.w-richtext figure.w-richtext-figure-type-video iframe,
.w-richtext figure[data-rt-type=video] iframe {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0
}

.w-richtext figure.w-richtext-figure-type-video>div,
.w-richtext figure[data-rt-type=video]>div {
  width: 100%
}

.w-richtext figure.w-richtext-align-center {
  clear: both;
  margin-left: auto;
  margin-right: auto
}

.w-richtext figure.w-richtext-align-center.w-richtext-figure-type-image>div,
.w-richtext figure.w-richtext-align-center[data-rt-type=image]>div {
  max-width: 100%
}

.w-richtext figure.w-richtext-align-normal {
  clear: both
}

.w-richtext figure.w-richtext-align-fullwidth {
  text-align: center;
  clear: both;
  width: 100%;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
  display: block
}

.w-richtext figure.w-richtext-align-fullwidth>div {
  padding-bottom: inherit;
  display: inline-block
}

.w-richtext figure.w-richtext-align-fullwidth>figcaption {
  display: block
}

.w-richtext figure.w-richtext-align-floatleft {
  float: left;
  clear: none;
  margin-right: 15px
}

.w-richtext figure.w-richtext-align-floatright {
  float: right;
  clear: none;
  margin-left: 15px
}

.w-nav {
  z-index: 1000;
  background: #ddd;
  position: relative
}

.w-nav:before,
.w-nav:after {
  content: " ";
  grid-area: 1/1/2/2;
  display: table
}

.w-nav:after {
  clear: both
}

.w-nav-brand {
  float: left;
  color: #333;
  text-decoration: none;
  position: relative
}

.w-nav-link {
  vertical-align: top;
  color: #222;
  text-align: left;
  margin-left: auto;
  margin-right: auto;
  padding: 20px;
  text-decoration: none;
  display: inline-block;
  position: relative
}

.w-nav-link.w--current {
  color: #0082f3
}

.w-nav-menu {
  float: right;
  position: relative
}

[data-nav-menu-open] {
  text-align: center;
  background: #c8c8c8;
  min-width: 200px;
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  overflow: visible;
  display: block !important
}

.w--nav-link-open {
  display: block;
  position: relative
}

.w-nav-overlay {
  width: 100%;
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  overflow: hidden
}

.w-nav-overlay [data-nav-menu-open] {
  top: 0
}

.w-nav[data-animation=over-left] .w-nav-overlay {
  width: auto
}

.w-nav[data-animation=over-left] .w-nav-overlay,
.w-nav[data-animation=over-left] [data-nav-menu-open] {
  z-index: 1;
  top: 0;
  right: auto
}

.w-nav[data-animation=over-right] .w-nav-overlay {
  width: auto
}

.w-nav[data-animation=over-right] .w-nav-overlay,
.w-nav[data-animation=over-right] [data-nav-menu-open] {
  z-index: 1;
  top: 0;
  left: auto
}

.w-nav-button {
  float: right;
  cursor: pointer;
  -webkit-tap-highlight-color: #0000;
  tap-highlight-color: #0000;
  -webkit-user-select: none;
  user-select: none;
  padding: 18px;
  font-size: 24px;
  display: none;
  position: relative
}

.w-nav-button:focus {
  outline: 0
}

.w-nav-button.w--open {
  color: #fff;
  background-color: #c8c8c8
}

.w-nav[data-collapse=all] .w-nav-menu {
  display: none
}

.w-nav[data-collapse=all] .w-nav-button,
.w--nav-dropdown-open,
.w--nav-dropdown-toggle-open {
  display: block
}

.w--nav-dropdown-list-open {
  position: static
}

@media screen and (max-width:991px) {
  .w-nav[data-collapse=medium] .w-nav-menu {
    display: none
  }

  .w-nav[data-collapse=medium] .w-nav-button {
    display: block
  }
}

@media screen and (max-width:767px) {
  .w-nav[data-collapse=small] .w-nav-menu {
    display: none
  }

  .w-nav[data-collapse=small] .w-nav-button {
    display: block
  }

  .w-nav-brand {
    padding-left: 10px
  }
}

@media screen and (max-width:479px) {
  .w-nav[data-collapse=tiny] .w-nav-menu {
    display: none
  }

  .w-nav[data-collapse=tiny] .w-nav-button {
    display: block
  }
}

.w-tabs {
  position: relative
}

.w-tabs:before,
.w-tabs:after {
  content: " ";
  grid-area: 1/1/2/2;
  display: table
}

.w-tabs:after {
  clear: both
}

.w-tab-menu {
  position: relative
}

.w-tab-link {
  vertical-align: top;
  text-align: left;
  cursor: pointer;
  color: #222;
  background-color: #ddd;
  padding: 9px 30px;
  text-decoration: none;
  display: inline-block;
  position: relative
}

.w-tab-link.w--current {
  background-color: #c8c8c8
}

.w-tab-link:focus {
  outline: 0
}

.w-tab-content {
  display: block;
  position: relative;
  overflow: hidden
}

.w-tab-pane {
  display: none;
  position: relative
}

.w--tab-active {
  display: block
}

@media screen and (max-width:479px) {
  .w-tab-link {
    display: block
  }
}

.w-ix-emptyfix:after {
  content: ""
}

@keyframes spin {
  0% {
    transform: rotate(0)
  }

  to {
    transform: rotate(360deg)
  }
}

.w-dyn-empty {
  background-color: #ddd;
  padding: 10px
}

.w-dyn-hide,
.w-dyn-bind-empty,
.w-condition-invisible {
  display: none !important
}

.wf-layout-layout {
  display: grid
}

.w-code-component>* {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0
}

:root {
  --global--font-family: Pretendard, Arial, sans-serif;
  --colors--black: #060709;
  --colors--brand-primary: #060709;
  --container-sizing--container-large: 1440px;
  --container-sizing--container-full: 100vw;
  --container-sizing--container-small: 1080px;
  --colors--white: #fff;
  --colors--brand-tertiary: #7ce0cb;
  --colors--gray-2: whitesmoke;
  --colors--gray-3: #d3d3d3;
  --colors--brand-secondary: #0f766e;
  --colors--gray-1: #f9f9f9;
  --colors--gray-5: #575757;
  --colors--black-2: #0c0d0f;
  --colors--gray-4: #888
}

.w-layout-blockcontainer {
  max-width: 940px;
  margin-left: auto;
  margin-right: auto;
  display: block
}

.w-layout-hflex {
  flex-direction: row;
  align-items: flex-start;
  display: flex
}

.w-layout-grid {
  grid-row-gap: 16px;
  grid-column-gap: 16px;
  grid-template-rows: auto auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  display: grid
}

.w-layout-vflex {
  flex-direction: column;
  align-items: flex-start;
  display: flex
}

@media screen and (max-width:991px) {
  .w-layout-blockcontainer {
    max-width: 728px
  }
}

@media screen and (max-width:767px) {
  .w-layout-blockcontainer {
    max-width: none
  }
}

body {
  font-family: var(--global--font-family);
  color: var(--colors--black);
  font-size: 1.25rem;
  font-weight: 300;
  line-height: 1.1
}

h1 {
  letter-spacing: -.2rem;
  margin-top: 0;
  margin-bottom: 0;
  font-size: 5rem;
  font-weight: 500;
  line-height: 1.1
}

h2 {
  margin-top: 0;
  margin-bottom: 0;
  font-size: 2.75rem;
  font-weight: 500;
  line-height: 1.1
}

h3 {
  letter-spacing: -.05rem;
  margin-top: 0;
  margin-bottom: 0;
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.1
}

h4 {
  margin-top: 0;
  margin-bottom: 0;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.1
}

h5 {
  margin-top: 0;
  margin-bottom: 0;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.1
}

h6 {
  margin-top: 0;
  margin-bottom: 0;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.1
}

p {
  margin-bottom: 0;
  font-size: 1.25rem;
  line-height: 150%
}

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

ul {
  margin-top: 0;
  margin-bottom: 10px;
  padding-left: 24px
}

ol {
  margin-top: 0;
  margin-bottom: 10px;
  padding-left: 40px
}

li {
  margin-bottom: 4px;
  line-height: 1.5
}

blockquote {
  border-left: 5px solid var(--colors--brand-primary);
  margin-bottom: 10px;
  padding: 10px 20px;
  font-size: 1rem;
  line-height: 1.1
}

.section-hero {
  background-color: var(--colors--black);
  background-image: linear-gradient(#ffffff00, #c4c4c480 50%), url(../images/sections/hero.webp);
  background-position: 0 0, 40%;
  background-repeat: repeat, no-repeat;
  background-size: auto, cover;
  background-attachment: scroll, fixed;
  flex-flow: column;
  justify-content: center;
  min-height: calc(100vh - 44px);
  padding-top: 18vh;
  padding-bottom: 15vh;
  display: flex;
  position: relative
}

.section-promo {
  background-color: var(--colors--black);
  height: 44px
}

.container {
  max-width: var(--container-sizing--container-large);
  height: 100%;
  padding-left: 48px;
  padding-right: 48px
}

.container.full {
  max-width: var(--container-sizing--container-full);
  padding-left: 0;
  padding-right: 0
}

.container.small {
  max-width: var(--container-sizing--container-small)
}

.promo-wrapper {
  background-color: var(--colors--black);
  color: var(--colors--white);
  justify-content: center;
  align-items: center;
  padding-top: 12px;
  padding-bottom: 12px;
  display: flex
}

.promo-text {
  font-size: 1.125rem
}

.promo-text-link {
  color: var(--colors--brand-tertiary);
  transition: opacity .2s cubic-bezier(.165, .84, .44, 1)
}

.promo-text-link:hover {
  opacity: .8
}

.hero-heading {
  color: var(--colors--white)
}

.hero-wrapper {
  grid-column-gap: 40px;
  grid-row-gap: 40px;
  text-align: left;
  flex-flow: column;
  justify-content: center;
  align-items: flex-start;
  width: 100%;
  max-width: none;
  display: flex
}

.hero-paragraph {
  color: var(--colors--white);
  font-size: 1.5rem;
  max-width: 680px
}

.hero-button-wrapper {
  grid-column-gap: 8px;
  grid-row-gap: 8px;
  justify-content: flex-start;
  align-items: center;
  overflow: hidden
}

.button {
  background-color: var(--colors--white);
  color: var(--colors--brand-primary);
  white-space: nowrap;
  word-break: keep-all;
  border-radius: 100vw;
  padding: 12px 20px;
  font-size: 1rem;
  font-weight: 500;
  line-height: 150%;
  transition: color .2s cubic-bezier(.165, .84, .44, 1), background-color .2s cubic-bezier(.165, .84, .44, 1);
  display: inline-flex
}

.button:hover {
  background-color: var(--colors--gray-2)
}

.button.secondary {
  background-color: var(--colors--white);
  color: var(--colors--brand-primary)
}

.button.secondary:hover {
  background-color: var(--colors--gray-3)
}

.button.primary {
  background-color: var(--colors--brand-primary);
  color: var(--colors--white);
  overflow: hidden
}

.button.primary:hover {
  background-color: var(--colors--brand-secondary)
}

.section-about {
  background-color: var(--colors--gray-1);
  padding-top: 80px;
  padding-bottom: 80px
}

.about-wrapper {
  grid-column-gap: 40px;
  grid-row-gap: 40px;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
  justify-content: space-between;
  align-items: start
}

.about-heading {
  font-size: 2rem;
  line-height: 120%
}

.text-reveal-text {
  font-size: 4.5vh;
  font-weight: 400;
  line-height: 1.25
}

.section-solution {
  padding-top: 80px;
  padding-bottom: 80px
}

.solution-grid {
  grid-column-gap: 40px;
  grid-row-gap: 40px;
  grid-template-columns: 1fr 1fr 1fr;
  overflow: hidden
}

.solution-heading {
  max-width: 550px
}

.solution-subheading {
  color: var(--colors--gray-5);
  max-width: 500px
}

.solution-item {
  grid-column-gap: 8px;
  grid-row-gap: 8px;
  flex-flow: column;
  justify-content: flex-start;
  align-items: flex-start;
  text-decoration: none;
  display: flex
}

.solution-image {
  aspect-ratio: 1;
  width: 100%
}

.solution-label {
  padding: 0
}

.solution-tag-text {
  color: var(--colors--black);
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 1.25
}

.solution-description {
  color: var(--colors--gray-5);
  font-size: 1.0625rem;
  line-height: 1.5
}

/* Solution cards: 1:1 product photos, 24px radius preserved during IX2 hover shrink (uniform scale on rounded wrapper) */
.solution-image-wrapper {
  width: 100%;
  margin-bottom: 8px;
  overflow: hidden;
  border-radius: 24px
}

.solution-heading-wrapper {
  grid-column-gap: 16px;
  grid-row-gap: 16px;
  justify-content: space-between;
  align-items: flex-end;
  margin-bottom: 40px;
  display: flex
}

.section-clients {
  padding-top: 80px;
  padding-bottom: 80px
}

.clients-heading-wrapper {
  grid-column-gap: 24px;
  grid-row-gap: 24px;
  text-align: center;
  flex-flow: column;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 40px;
  display: flex
}

.clients-heading {
  max-width: 850px
}

.clients-description {
  color: var(--colors--gray-5);
  max-width: 850px
}

.clients-logo-carousel {
  grid-column-gap: 16px;
  grid-row-gap: 16px;
  justify-content: flex-start;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  position: relative;
  overflow: hidden
}

.clients-logo-block {
  grid-column-gap: 16px;
  grid-row-gap: 16px;
  flex-flow: row;
  flex: none;
  justify-content: space-around;
  align-items: center;
  min-width: 100%;
  display: flex
}

.client-image {
  flex: none;
  height: 100%;
  max-height: 50%
}

.client-logo-wrapper {
  background-color: var(--colors--gray-1);
  border-radius: 24px;
  justify-content: center;
  align-items: center;
  width: 184px;
  height: 184px;
  padding: 24px;
  display: flex
}

.section-how-to {
  background-color: var(--colors--gray-1);
  padding-top: 80px;
  padding-bottom: 80px
}

.how-to-wrapper {
  grid-column-gap: 48px;
  grid-row-gap: 48px;
  grid-template-rows: auto;
  grid-template-columns: 6fr 4fr;
  align-items: stretch
}

.how-to-image-wrapper {
  flex: 1
}

.how-to-content-wrapper {
  grid-column-gap: 32px;
  grid-row-gap: 32px;
  flex-flow: column;
  flex: none;
  height: 100%;
  display: flex
}

.steps-image {
  width: 100%;
  border-radius: 24px;
}

.how-to-heading {
  max-width: 850px
}

.timeline {
  grid-column-gap: 16px;
  grid-row-gap: 16px;
  justify-content: flex-start;
  align-items: flex-start;
  padding-bottom: 40px;
  display: flex;
  position: relative
}

.timeline-indicator {
  background-color: var(--colors--brand-primary);
  color: var(--colors--white);
  border-radius: 100vw;
  flex: none;
  justify-content: center;
  align-items: center;
  width: 32px;
  height: 32px;
  display: flex;
  transform: translateY(8px)
}

.timeline-content {
  grid-column-gap: 8px;
  grid-row-gap: 8px;
  flex-flow: column;
  display: flex
}

.timeline-title {
  font-size: 1.5rem;
  font-weight: 500
}

.timeline-subtitle {
  color: var(--colors--gray-5);
  font-size: 1.125rem
}

.timeline-path {
  border-left-style: dashed;
  border-left-width: 1px;
  border-left-color: var(--colors--brand-primary);
  height: calc(100% - 32px);
  position: absolute;
  inset: auto auto 0% 16px;
  transform: translateY(8px)
}

.how-to-button-wrapper {
  flex: 1;
  align-items: flex-end;
  display: flex
}

.section-faq {
  padding-top: 80px;
  padding-bottom: 80px
}

.faq-heading-wrapper {
  grid-column-gap: 24px;
  grid-row-gap: 24px;
  text-align: center;
  flex-flow: column;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 40px;
  display: flex
}

.faq-heading {
  max-width: 850px
}

.faq-description {
  color: var(--colors--gray-5);
  max-width: 850px;
  font-size: 1.25rem
}

.faq-list {
  grid-column-gap: 12px;
  grid-row-gap: 12px
}

.accordion-card {
  background-color: var(--colors--gray-1);
  cursor: pointer;
  border-radius: 12px;
  flex-flow: column;
  grid-template-rows: auto 0;
  grid-template-columns: 1fr;
  grid-auto-columns: 1fr;
  width: 100%;
  padding-bottom: 24px;
  display: flex;
  overflow: hidden
}

.accordion-heading {
  grid-column-gap: 16px;
  grid-row-gap: 16px;
  justify-content: space-between;
  align-items: center;
  padding: 24px 40px 0;
  display: flex
}

.accordion-title {
  flex: 1;
  font-size: 2rem;
  font-weight: 500
}

.accordion-toggle {
  border: 1px solid var(--colors--brand-primary);
  border-radius: 100vw;
  flex: none;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
  display: flex
}

.path-8gi6r {
  -webkit-text-stroke-color: inherit;
  color: inherit
}

.chevron-down {
  color: var(--colors--brand-primary);
  width: 16px
}

.accordion-content {
  width: 100%;
  height: 0;
  padding-left: 40px;
  padding-right: 40px;
  transition: max-height .4s cubic-bezier(.165, .84, .44, 1);
  overflow: hidden
}

.accordion-content-text {
  color: var(--colors--gray-5);
  margin-top: 1rem;
  font-size: 1.25rem
}

.section-cta {
  background-color: var(--colors--black);
  background-image: linear-gradient(#ffffff00, #c4c4c480 50%), url(../images/sections/cta.webp);
  background-position: 0 0, 0 0;
  background-size: auto, cover;
  padding-top: 80px;
  padding-bottom: 80px
}

.cta-wrapper {
  grid-column-gap: 24px;
  grid-row-gap: 24px;
  flex-flow: column;
  max-width: 700px;
  display: flex
}

.cta-heading,
.cta-description {
  color: var(--colors--white);
  max-width: 850px
}

.cta-button-wrapper {
  grid-column-gap: 8px;
  grid-row-gap: 8px;
  display: flex
}

.footer {
  background-color: var(--colors--black);
  color: var(--colors--white);
  padding-left: 0;
  padding-right: 0;
  position: relative
}

.footer-lower {
  grid-column-gap: 24px;
  grid-row-gap: 32px;
  justify-content: space-between;
  align-items: flex-start;
  padding-top: 50px;
  padding-bottom: 50px;
  display: flex
}

.footer-content {
  grid-column-gap: 40px;
  grid-row-gap: 40px;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr auto auto;
  grid-auto-columns: 1fr;
  display: grid
}

.footer-block {
  grid-column-gap: 12px;
  grid-row-gap: 12px;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  display: flex
}

.footer-row-title {
  font-weight: 500
}

.footer-link {
  color: var(--colors--gray-3);
  font-size: 1rem;
  text-decoration: none
}

.footer-link:hover {
  color: var(--colors--white);
  text-decoration: underline
}

.footer-social-block {
  grid-column-gap: 8px;
  grid-row-gap: 8px;
  justify-content: flex-start;
  align-items: center;
  display: flex
}

.footer-social-link {
  border: 1px solid var(--colors--gray-5);
  color: var(--colors--white);
  border-radius: 8px;
  justify-content: center;
  align-items: center;
  width: 32px;
  height: 32px;
  transition: opacity .2s cubic-bezier(.165, .84, .44, 1);
  display: flex
}

.footer-social-link:hover {
  background-color: var(--colors--white);
  color: var(--colors--black)
}

.footer-upper {
  border-bottom: 1px solid #ffffff1a;
  justify-content: space-between;
  place-items: center start;
  padding-bottom: 24px
}

.brand-logo-link {
  letter-spacing: 12px;
  text-transform: uppercase;
  color: inherit;
  font-size: 1.5rem;
  font-weight: 500;
  text-decoration: none
}

.footer-description {
  color: var(--colors--gray-3);
  max-width: 460px
}

.copyright-block {
  background-color: var(--colors--black-2);
  padding-top: 16px;
  padding-bottom: 16px
}

.footer-wrapper {
  padding-top: 50px
}

.navbar {
  background-color: #0000;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  position: fixed;
  inset: 64px 0% auto
}

.navbar-wrapper {
  grid-column-gap: 12px;
  grid-row-gap: 12px;
  justify-content: space-between;
  align-items: center;
  display: flex
}

.nav-menu-wrapper {
  grid-column-gap: 8px;
  grid-row-gap: 8px;
  -webkit-backdrop-filter: blur(16px);
  backdrop-filter: blur(16px);
  color: var(--colors--white);
  background-color: rgba(0, 0, 0, 0.2);
  border-radius: 100vw;
  justify-content: flex-start;
  align-items: center;
  padding: 4px;
  display: flex
}

.nav-menu {
  grid-column-gap: 8px;
  grid-row-gap: 8px;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0;
  padding-bottom: 0;
  padding-left: 8px;
  padding-right: 8px;
  display: flex
}

.nav-link {
  color: inherit;
  border-radius: 8px;
  padding: 8px 16px;
  font-size: 1rem;
  font-weight: 400;
  text-decoration: none;
  display: inline-block
}

.nav-link:hover {
  background-color: #6a6a6a12
}

.nav-link:focus-visible,
.nav-link[data-wf-focus-visible] {
  outline-offset: 0px;
  color: #0050bd;
  border-radius: 4px;
  outline: 2px solid #0050bd
}

.nav-button {
  border-radius: 24px;
  justify-content: flex-end;
  align-items: center;
  width: 0;
  display: flex;
  overflow: hidden
}

.nav-shadow {
  pointer-events: none;
  border-radius: 100vh;
  position: absolute;
  inset: 0%;
  box-shadow: 0 4px 20px #0000001a
}

.nav-logo-wrapper {
  color: var(--colors--white);
  justify-content: flex-start;
  align-items: center;
  display: flex;
  overflow: hidden
}

.nav-cta-wrapper {
  justify-content: flex-end;
  display: flex;
  overflow: hidden
}

.about-description-wrapper {
  flex: none
}

.text-reveal {
  position: relative;
  overflow: hidden
}

.text-reveal.indent {
  text-indent: 64px
}

.text-reveal-overlay {
  z-index: 1;
  background-color: var(--colors--gray-1);
  opacity: .9;
  pointer-events: none;
  position: absolute;
  inset: 0%
}

.cursor-area {
  z-index: 9999;
  pointer-events: none;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  display: flex;
  position: fixed;
  inset: 0%
}

.cursor-icon {
  background-color: var(--colors--brand-primary);
  opacity: 0;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
  display: flex
}

.cursor-arrow-icon {
  color: #fff
}

.social-icon {
  color: inherit
}

.hero-heading-line-wrapper,
.hero-paragraph-wrapper,
.solution-card-wrapper,
.outer-animation {
  overflow: hidden
}

.solution-wrapper {
  grid-column-gap: 12px;
  grid-row-gap: 12px;
  flex-flow: column;
  justify-content: flex-start;
  align-items: flex-start;
  display: flex
}

.accordion-wrapper {
  width: 100%
}

.hamburger-icon {
  color: #fff
}

.nav-menu-item {
  margin-bottom: 0
}

.nav-menu-header {
  color: var(--colors--black);
  display: none;
  overflow: hidden
}

.ikonik-6pjwv {
  color: #060709
}

.nav-logo-link,
.footer-logo-link {
  color: inherit;
  text-decoration: none
}

.utility-heading-section {
  background-color: var(--colors--brand-primary);
  color: var(--colors--white);
  border-bottom: 1px solid #181818;
  padding: 80px 30px;
  position: relative
}

.utility-heading-wrapper {
  grid-column-gap: 64px;
  grid-row-gap: 64px;
  flex-flow: row;
  justify-content: space-between;
  align-items: center;
  display: flex
}

.item-name {
  font-weight: 400
}

.content-heading {
  grid-column-gap: 8px;
  grid-row-gap: 8px;
  flex-flow: column;
  display: flex
}

.content-grid {
  grid-column-gap: 32px;
  grid-row-gap: 32px;
  flex-flow: column;
  grid-template-rows: auto auto;
  grid-template-columns: .25fr 1fr;
  grid-auto-columns: 1fr;
  place-items: baseline start;
  display: grid
}

.link {
  line-height: 150%
}

.font-box {
  border: 2px none var(--colors--black);
  background-color: var(--colors--gray-2);
  justify-content: center;
  align-items: center;
  width: 100px;
  padding: 16px;
  display: flex
}

.item-description {
  color: var(--colors--gray-5);
  font-size: 1rem
}

.color-dot {
  border: 4px solid var(--colors--gray-2);
  background-color: var(--colors--white);
  border-radius: 100%;
  width: 80px;
  height: 80px;
  margin-bottom: 16px
}

.color-dot.brand-secondary {
  background-color: var(--colors--brand-secondary)
}

.color-dot.tertiary {
  background-color: var(--colors--brand-tertiary)
}

.color-dot.black {
  background-color: var(--colors--black)
}

.color-dot.black-2 {
  background-color: var(--colors--black-2)
}

.color-dot.gray-1 {
  background-color: var(--colors--gray-1)
}

.color-dot.gray-2 {
  background-color: var(--colors--gray-2)
}

.color-dot.gray-3 {
  background-color: var(--colors--gray-3)
}

.color-dot.gray-4 {
  background-color: var(--colors--gray-5)
}

.color-dot.white {
  background-color: var(--colors--white)
}

.styleguide-content-wrapper {
  grid-column-gap: 64px;
  grid-row-gap: 64px;
  grid-template-columns: .25fr .5fr;
  align-items: start
}

.content-button {
  grid-column-gap: 16px;
  grid-row-gap: 16px;
  flex-flow: column;
  grid-template-columns: .5fr 1fr;
  padding-bottom: 80px;
  display: flex
}

.color-item {
  grid-column-gap: 8px;
  grid-row-gap: 8px;
  flex-flow: column;
  justify-content: flex-start;
  align-items: center
}

.content-typography {
  grid-column-gap: 16px;
  grid-row-gap: 16px;
  flex-flow: column;
  grid-template-columns: .5fr 1fr;
  padding-bottom: 80px;
  display: flex
}

.font-wrapper {
  grid-column-gap: 16px;
  grid-row-gap: 16px;
  justify-content: flex-start;
  align-items: center;
  display: flex
}

.content-color {
  grid-column-gap: 32px;
  grid-row-gap: 32px;
  align-items: stretch
}

.color-row {
  flex-flow: wrap;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
  justify-content: flex-start;
  justify-items: start;
  width: 100%
}

.styleguide-button-wrapper {
  grid-column-gap: 16px;
  grid-row-gap: 16px;
  flex-flow: column;
  grid-template-columns: .5fr 1fr;
  justify-content: flex-start;
  align-items: flex-start;
  display: flex
}

.font-sample {
  font-size: 2rem
}

.utility-content-section {
  padding: 80px 30px;
  position: relative
}

.instructions-content-wrapper {
  grid-column-gap: 64px;
  grid-row-gap: 32px;
  grid-template-columns: .25fr .5fr 1fr;
  align-items: start
}

.copyright-wrapper {
  grid-column-gap: 8px;
  grid-row-gap: 8px;
  flex-flow: wrap;
  justify-content: space-between;
  display: flex
}

.utility-page-wrap {
  justify-content: center;
  align-items: center;
  width: 100vw;
  max-width: 100%;
  height: 100vh;
  max-height: 100%;
  display: flex
}

.utility-page-content {
  text-align: center;
  flex-direction: column;
  width: 260px;
  display: flex
}

._404-section {
  background-color: #0000;
  padding: 80px 30px
}

.container-2 {
  width: 100%;
  max-width: 1280px;
  margin-left: auto;
  margin-right: auto
}

._404-wrapper {
  grid-column-gap: 12px;
  grid-row-gap: 12px;
  text-align: center;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  min-height: 100vh;
  display: flex
}

.not-found-text {
  color: var(--colors--brand-primary);
  font-size: 20rem
}

._404-button-wrapper {
  margin-top: 16px
}

.button-wrapper {
  color: #131313;
  background-color: #eb8317;
  border-radius: 8px;
  justify-content: center;
  align-items: center;
  padding: 12px 24px;
  font-size: 1.2rem;
  font-weight: 600;
  line-height: 100%;
  display: flex;
  position: relative;
  overflow: hidden
}

.button-wrapper:hover {
  color: #131313
}

.button-text {
  z-index: 1;
  color: inherit;
  justify-content: center;
  align-items: center;
  font-size: 1.2rem;
  font-weight: 700;
  display: flex
}

.button-mask {
  background-color: #fff;
  position: absolute;
  inset: 0;
  transform: translateY(101%)
}

.changelog-content-wrapper {
  grid-column-gap: 64px;
  grid-row-gap: 64px;
  grid-template-columns: .5fr 1fr;
  align-items: start
}

@media screen and (max-width:991px) {
  h1 {
    font-size: 3.75rem
  }

  .container {
    padding-left: 24px;
    padding-right: 24px
  }

  .hero-paragraph {
    font-size: 1.25rem
  }

  .about-wrapper {
    flex-flow: column;
    grid-template-columns: 1fr
  }

  .about-heading {
    font-size: 1.5rem
  }

  .text-reveal-text {
    font-size: 4vw
  }

  .solution-grid {
    grid-column-gap: 20px;
    grid-row-gap: 20px;
    grid-template-columns: 1fr 1fr
  }

  .solution-heading {
    max-width: 500px
  }

  .solution-heading-wrapper {
    flex-flow: column;
    justify-content: space-between;
    align-items: flex-start
  }

  .client-image {
    height: 40px
  }

  .how-to-wrapper {
    grid-template-columns: 6fr
  }

  .section-cta {
    /* background-image: url(../images/sections/cta-1.webp); */
    /* background-position: 40% 0; */
    /* background-size: auto; */
    padding-top: 170px;
    padding-bottom: 170px
  }

  .footer-lower {
    flex-flow: column;
    align-items: stretch
  }

  .footer-content {
    grid-column-gap: 16px;
    grid-row-gap: 40px;
    grid-template-columns: 1fr 1fr 1fr 1fr
  }

  .navbar {
    -webkit-backdrop-filter: blur(16px);
    backdrop-filter: blur(16px);
    background-color: #ffffff4d;
    top: 44px
  }

  .navbar-wrapper {
    padding-top: 4px;
    padding-bottom: 4px
  }

  .nav-menu-wrapper {
    z-index: 20;
    background-color: var(--colors--white);
    color: var(--colors--black);
    border-radius: 0;
    height: 100vh;
    padding: 0;
    position: fixed;
    inset: 0%;
    transform: translateY(-44px)
  }

  .nav-menu {
    background-color: #fff;
    flex-flow: column;
    justify-content: space-around;
    align-items: stretch;
    padding-left: 24px;
    padding-right: 24px;
    display: flex
  }

  .nav-link {
    padding: 24px 0;
    display: block
  }

  .hamburger-button {
    padding: 12px;
    display: flex
  }

  .hamburger-button.w--open {
    color: #fff;
    background-color: #a6b1bf
  }

  .nav-button {
    justify-content: flex-start;
    align-items: center;
    width: auto;
    padding: 32px 24px
  }

  .nav-shadow {
    display: none
  }

  .nav-logo-wrapper {
    flex: 1;
    justify-content: flex-start;
    align-items: center
  }

  .nav-cta-wrapper {
    justify-content: flex-end;
    align-items: center
  }

  .hamburger-icon {
    vertical-align: middle
  }

  .nav-menu-item {
    border-bottom: 1px solid var(--colors--gray-3);
    text-align: left;
    padding-bottom: 8px
  }

  .nav-menu-header {
    color: var(--colors--black);
    flex: 1;
    justify-content: space-between;
    align-items: center;
    padding: 32px 24px;
    display: flex
  }

  .close-button {
    padding: 12px
  }

  .ikonik-6pjwv {
    color: var(--colors--black)
  }

  .utility-heading-wrapper {
    flex-flow: column
  }

  .content-heading {
    position: static
  }

  .styleguide-content-wrapper {
    grid-column-gap: 32px;
    grid-row-gap: 32px;
    grid-template-columns: 1.75fr
  }

  .color-row {
    grid-template-columns: 1fr 1fr 1fr 1fr
  }

  .instructions-content-wrapper {
    grid-column-gap: 32px;
    grid-row-gap: 32px;
    grid-template-columns: 1.75fr
  }

  .container-2 {
    max-width: 728px
  }

  .not-found-text {
    font-size: 18rem
  }

  .changelog-content-wrapper {
    grid-column-gap: 32px;
    grid-row-gap: 32px;
    grid-template-columns: 1.75fr
  }
}

@media screen and (max-width:767px) {
  h1 {
    letter-spacing: -.1rem;
    font-size: 2.25rem
  }

  h2 {
    letter-spacing: -.1rem;
    font-size: 1.75rem
  }

  h3 {
    font-size: 1.45rem
  }

  h4 {
    font-size: 1.15rem
  }

  h5 {
    font-size: 1rem
  }

  h6,
  p {
    font-size: .875rem
  }

  ul,
  ol {
    padding-left: 24px
  }

  li {
    font-size: .875rem
  }

  .section-promo {
    height: 40px
  }

  .container {
    padding-left: 16px;
    padding-right: 16px
  }

  .promo-text,
  .hero-paragraph {
    font-size: .875rem
  }

  .button {
    padding: 8px 16px;
    font-size: .75rem
  }

  .section-about {
    padding-top: 40px;
    padding-bottom: 40px
  }

  .about-heading {
    letter-spacing: 0;
    font-size: .875rem
  }

  .section-solution {
    padding-top: 40px;
    padding-bottom: 40px
  }

  .solution-grid {
    grid-template-columns: 1fr
  }

  .solution-tag-text {
    font-size: 1.25rem
  }

  .solution-description {
    font-size: 1rem
  }

  .section-clients {
    padding-top: 40px;
    padding-bottom: 40px
  }

  .client-logo-wrapper {
    width: 100px;
    height: 100px
  }

  .section-how-to {
    padding-top: 40px;
    padding-bottom: 40px
  }

  .timeline-title {
    font-size: 1rem
  }

  .timeline-subtitle {
    font-size: .875rem
  }

  .section-faq {
    padding-top: 40px;
    padding-bottom: 40px
  }

  .accordion-card {
    padding-bottom: 16px
  }

  .accordion-heading {
    padding-top: 16px;
    padding-left: 16px;
    padding-right: 16px
  }

  .accordion-title {
    font-size: 1.5rem
  }

  .accordion-content {
    padding-left: 16px;
    padding-right: 16px
  }

  .accordion-content-text {
    font-size: .875rem
  }

  .section-cta {
    background-position: 40% 30%;
    padding-top: 40px;
    padding-bottom: 195px
  }

  .footer-lower {
    padding-top: 16px;
    padding-bottom: 16px
  }

  .footer-content {
    grid-template-rows: auto auto;
    grid-template-columns: 1fr 1fr 1fr
  }

  .footer-row-title {
    font-size: 1rem
  }

  .footer-link {
    font-size: .875rem
  }

  .footer-link:hover {
    color: #1a1b1fbf
  }

  .copyright-text {
    font-size: .8755rem
  }

  .brand-logo-link {
    font-size: 1.25rem
  }

  .navbar {
    top: 40px
  }

  .navbar-wrapper {
    grid-column-gap: 4px;
    grid-row-gap: 4px;
    padding-top: 0;
    padding-bottom: 0
  }

  .nav-link {
    padding: 12px;
  }

  .text-reveal.indent {
    text-indent: 32px
  }

  .utility-heading-section {
    padding: 60px 15px
  }

  .item-name,
  .item-description {
    font-size: .875rem
  }

  .color-dot {
    width: 48px;
    height: 48px
  }

  .content-category {
    font-size: .875rem
  }

  .color-row {
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr
  }

  .utility-content-section,
  ._404-section {
    padding: 60px 15px
  }

  .not-found-text {
    font-size: 15rem
  }
}

@media screen and (max-width:479px) {
  .container {
    padding-left: 16px;
    padding-right: 16px
  }

  .promo-text {
    font-size: .75rem
  }

  .hero-heading {
    font-size: 1.75rem
  }

  .client-image {
    height: 40px
  }

  .how-to-wrapper {
    grid-column-gap: 24px;
    grid-row-gap: 24px
  }

  .section-cta {
    background-position: 50% 0;
    background-size: auto 130%
  }

  .brand-logo-link {
    letter-spacing: 4px;
    font-size: 1rem
  }

  .nav-menu {
    flex-direction: column
  }

  .content-grid {
    grid-column-gap: 16px;
    grid-row-gap: 16px;
    grid-template-columns: .25fr 1fr
  }

  .font-box {
    width: 64px
  }

  .styleguide-content-wrapper {
    grid-template-columns: 1fr
  }

  .font-wrapper {
    grid-column-gap: 8px;
    grid-row-gap: 8px
  }

  .color-row {
    grid-template-columns: 1fr 1fr 1fr 1fr
  }

  .instructions-content-wrapper {
    grid-template-columns: 1fr
  }

  .container-2 {
    max-width: none
  }

  .not-found-text {
    font-size: 10rem
  }

  .button-wrapper {
    padding: 8px 16px;
    font-size: 1rem
  }

  .changelog-content-wrapper {
    grid-template-columns: 1fr
  }
}

#w-node-eb761af4-a183-c0c1-ad61-7387abef6b12-cf033cb8 {
  grid-area: span 1/span 4/span 1/span 4
}

#w-node-_1661f5b7-935a-7675-6709-42499e9d0cc6-cf033cb8 {
  grid-area: span 1/span 8/span 1/span 8
}

#w-node-_38019a7b-9035-c2f3-5bef-19a036c415b1-cf033cb8,
#w-node-_473fecf7-140e-ecde-835f-486369ac24ff-cf033cb8 {
  grid-area: span 1/span 6/span 1/span 6
}

#w-node-_25517f30-ff4a-bfc0-ed06-a73f77d79289-cf033cb8,
#w-node-d5c9439a-ccbe-0150-1e54-4e98d001857f-cf033cb8,
#w-node-a3a79ad1-0070-03ae-313f-551aade484d8-cf033cb8 {
  grid-area: span 1/span 6/span 1/span 6;
  justify-self: end
}

#w-node-_04f9ee46-57e2-b88e-5905-f6fff066b55c-f066b549,
#w-node-_04f9ee46-57e2-b88e-5905-f6fff066b569-f066b549,
#w-node-_04f9ee46-57e2-b88e-5905-f6fff066b574-f066b549,
#w-node-c129aa64-3a31-ad09-33a1-2b57c487b6ab-f33228fd,
#w-node-c129aa64-3a31-ad09-33a1-2b57c487b6c5-f33228fd {
  grid-area: span 1/span 1/span 1/span 1
}

#w-node-c129aa64-3a31-ad09-33a1-2b57c487b6d8-f33228fd {
  justify-self: start
}

#w-node-c129aa64-3a31-ad09-33a1-2b57c487b6da-f33228fd,
#w-node-c129aa64-3a31-ad09-33a1-2b57c487b6e3-f33228fd,
#w-node-c129aa64-3a31-ad09-33a1-2b57c487b6ec-f33228fd,
#w-node-c129aa64-3a31-ad09-33a1-2b57c487b6f2-f33228fd {
  grid-area: span 1/span 1/span 1/span 1
}

#w-node-f3fec5af-972c-4d7f-514c-3084e8af57b6-e99c53e3 {
  align-self: start
}

@media screen and (max-width:991px) {

  #w-node-eb761af4-a183-c0c1-ad61-7387abef6b12-cf033cb8,
  #w-node-_1661f5b7-935a-7675-6709-42499e9d0cc6-cf033cb8 {
    grid-column: span 1/span 1
  }
}

@media screen and (max-width:767px) {
  #w-node-_04f9ee46-57e2-b88e-5905-f6fff066b574-f066b549 {
    grid-area: span 1/span 1/span 1/span 1
  }

  #w-node-_04f9ee46-57e2-b88e-5905-f6fff066b57b-f066b549 {
    grid-area: span 1/span 3/span 1/span 3
  }
}

@media screen and (max-width:479px) {
  #w-node-_04f9ee46-57e2-b88e-5905-f6fff066b57b-f066b549 {
    grid-column: span 3/span 3
  }
}

@font-face {
  font-family: 'Pretendard';
  src: url('../images/fonts/pretendard-semibold.otf') format('opentype');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Pretendard';
  src: url('../images/fonts/pretendard-extrabold.otf') format('opentype'), url('../images/fonts/pretendard-bold.otf') format('opentype');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Pretendard';
  src: url('../images/fonts/pretendard-black.otf') format('opentype');
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Pretendard';
  src: url('../images/fonts/pretendard-extralight.otf') format('opentype');
  font-weight: 200;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Pretendard';
  src: url('../images/fonts/pretendard-medium.otf') format('opentype');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Pretendard';
  src: url('../images/fonts/pretendard-thin.otf') format('opentype');
  font-weight: 100;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Pretendard';
  src: url('../images/fonts/pretendard-regular.otf') format('opentype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Pretendard';
  src: url('../images/fonts/pretendard-light.otf') format('opentype');
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

/* Brand logo sizing — matches former .brand-logo-link text scale (base/767/479) */
.brand-logo-img {
  height: 22px;
  width: auto;
  display: block
}

@media screen and (max-width:767px) {
  .brand-logo-img {
    height: 18px
  }
}

@media screen and (max-width:479px) {
  .brand-logo-img {
    height: 14px
  }
}

/* In-pill nav logo — black logo shown inside the nav pill on scroll, img opacity driven by IX2 a-10 keyframes */
.nav-logo-in-pill {
  display: none;
  justify-content: flex-start;
  align-items: center;
  overflow: hidden
}

.nav-logo-in-pill .nav-logo-img-in-pill {
  opacity: 0;
  margin: 0 4px 0 12px
}

@media screen and (min-width:992px) {
  .nav-logo-in-pill {
    display: flex
  }
}

/* Supplier-logo marquee cards: 2:1 logos fill 400x200 cards (mobile 200x100), radius 24, tight gaps */
.client-logo-wrapper {
  width: 400px;
  height: 200px;
  border-radius: 24px;
  padding: 0;
  overflow: hidden;
  background-color: #fff
}

.clients-logo-carousel,
.clients-logo-block {
  grid-column-gap: 12px;
  grid-row-gap: 12px
}

@media screen and (min-width:768px) {
  .client-image {
    width: 100%;
    height: 100%;
    max-height: none
  }
}

@media screen and (max-width:767px) {
  .client-logo-wrapper {
    width: 200px;
    height: 100px
  }

  .client-image {
    width: 100%;
    height: 100%;
    max-height: none
  }
}

/* "o" ring cursor on hero */
.hero-cursor-o .section-hero,
.hero-cursor-o .section-hero * {
  cursor: none !important;
}
.hero-cursor-o .cursor-icon {
  opacity: 1 !important;
  background-color: transparent !important;
  border: 2px solid #fff;
  mix-blend-mode: difference;
  width: 44px !important;
  height: 44px !important;
}
.hero-cursor-o .cursor-icon svg {
  opacity: 0;
}

/* Hero rotating word (Option A: vertical slide + blur; js/hero-rotator.js swaps classes) */
.hero-words-wrapper {
  position: relative;
  display: inline-grid;
  vertical-align: bottom;
  overflow: hidden;
  /* italic glyphs lean past their advance width; without this right-hand room
     the reveal mask (overflow:hidden on .hero-heading-line-wrapper) shaves them */
  padding-right: .3em
}

.hero-word {
  grid-area: 1 / 1 / auto / auto;
  font-style: italic;
  color: var(--colors--brand-primary);
  opacity: 0;
  transform: translateY(80%);
  filter: blur(5px);
  transition: transform .55s cubic-bezier(.22, .84, .38, 1), opacity .4s ease, filter .45s ease;
  pointer-events: none
}

.hero-word.is-visible {
  opacity: 1;
  transform: translateY(0);
  filter: blur(0)
}

.hero-word.is-leaving {
  opacity: 0;
  transform: translateY(-80%);
  filter: blur(5px)
}

/* Hero container: exact horizontal metrics of the navbar container
   (48px side insets desktop, 24px <=991px, 16px <=767/479px, 1440px cap).
   width/margins pinned because inside the flex .section-hero the blockcontainer's
   margin:auto shrink-to-fit centers the container at ~957px instead of spanning it */
.section-hero .container {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  max-width: var(--container-sizing--container-large);
  padding-left: 48px;
  padding-right: 48px
}

@media screen and (max-width:991px) {
  .section-hero .container {
    padding-left: 24px;
    padding-right: 24px
  }
}

@media screen and (max-width:767px) {
  .section-hero .container {
    padding-left: 16px;
    padding-right: 16px
  }
}

@media screen and (max-width:479px) {
  .section-hero .container {
    padding-left: 16px;
    padding-right: 16px
  }
}

/* Shop CTA icon ("Shop" buttons in the nav). The .button is a flex container;
   the svg needs self-centering (flex default aligns it flex-start) */
.shop-icon {
  width: 16px;
  height: 16px;
  flex: none;
  align-self: center;
  margin-right: 6px;
  display: inline-block;
  vertical-align: text-bottom
}

/* Coming-soon shop modal (html: #shop-modal, js: shop-modal.js). Opens with a
   fade + rise; closes instantly on backdrop / X / ESC */
.shop-modal-overlay {
  z-index: 9998;
  position: fixed;
  inset: 0%;
  opacity: 0;
  pointer-events: none;
  transition: opacity .3s cubic-bezier(.165, .84, .44, 1)
}

.shop-modal-overlay.is-open {
  opacity: 1;
  pointer-events: auto
}

.shop-modal-backdrop {
  background-color: #060709b3;
  position: absolute;
  inset: 0
}

.shop-modal-card {
  box-shadow: 0 24px 64px #06070933;
  background-color: var(--colors--white);
  border-radius: 24px;
  display: flex;
  flex-flow: column;
  justify-content: center;
  text-align: center;
  align-items: center;
  grid-row-gap: 12px;
  padding: 48px 40px 40px;
  max-width: 400px;
  margin-left: auto;
  margin-right: auto;
  position: absolute;
  inset: 50% 0 auto;
  transform: translateY(-50%) scale(.92) translateY(10px);
  opacity: 0;
  transition: transform .38s cubic-bezier(.22, .84, .38, 1), opacity .28s ease
}

.shop-modal-overlay.is-open .shop-modal-card {
  transform: translateY(-50%) scale(1) translateY(0);
  opacity: 1
}

.shop-modal-close {
  color: var(--colors--gray-5);
  background-color: var(--colors--gray-1);
  border: 0;
  border-radius: 100vw;
  justify-content: center;
  align-items: center;
  padding: 8px;
  cursor: pointer;
  position: absolute;
  inset: 16px 16px auto auto
}

.shop-modal-close:hover {
  color: var(--colors--black)
}

.shop-modal-icon {
  color: var(--colors--brand-primary);
  border: 1px solid var(--colors--gray-3);
  border-radius: 100vw;
  justify-content: center;
  align-items: center;
  width: 64px;
  height: 64px;
  margin-bottom: 8px;
  display: flex
}

.shop-modal-heading {
  font-size: 2rem;
  font-weight: 700
}

.shop-modal-copy {
  color: var(--colors--gray-5);
  font-size: 1.0625rem;
  max-width: 280px
}

.shop-modal-cta {
  margin-top: 16px
}

/* nav.js engine: inline-style scrub owns the navbar states; with site.js's a-10
   family removed, none of the IX2 nav keyframes run. body-level helpers: */
body.nav-rest .nav-shadow,
body.nav-scrolled .nav-logo-in-pill .nav-logo-img-in-pill[data-w-id] {
  /* intentional: opacity etc. handled via nav.js inline styles */
}

/* controls.js engine: IX2 a/a-2 and a-4/a-5 as plain CSS hovers (same curves) */
.solution-item .solution-image-wrapper {
  transition: transform .5s cubic-bezier(.165, .84, .44, 1)
}
.solution-item .solution-image {
  transition: transform .5s cubic-bezier(.165, .84, .44, 1)
}
.solution-item:hover .solution-image-wrapper {
  transform: scale3d(.95, .95, 1)
}
.solution-item:hover .solution-image {
  transform: scale3d(1.2, 1.2, 1)
}
.accordion-card .accordion-toggle svg,
.accordion-card .chevron-down {
  transition: transform .4s cubic-bezier(.165, .84, .44, 1), color .4s cubic-bezier(.165, .84, .44, 1)
}
.accordion-card:hover .chevron-down {
  color: var(--colors--black-2)
}
.accordion-card.is-open .chevron-down {
  transform: rotate(180deg)
}

/* controls.js mobile menu toggle (JS-driven .w--open, replaces Webflow runtime)
   !important is required because Webflow's base collapse rule
   (.w-nav[data-collapse=medium] .w-nav-menu { display:none }, 0-3-1) outranks
   a plain class selector */
@media screen and (max-width: 991px) {
  nav.nav-menu-wrapper {
    display: none;
    transition: transform .43s cubic-bezier(.165, .84, .44, 1),
                opacity .33s ease
  }
  nav.nav-menu-wrapper.w--open {
    display: block !important
  }
}

/* the toggle runs without motion when the user opts out */
@media (prefers-reduced-motion: reduce) {
  nav.nav-menu-wrapper {
    transition: none !important
  }
}

/* smooth glide for section anchor links (nav menu, footer, promo) */
html {
  scroll-behavior: smooth
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto
  }
}

/* Contact modal: email row + copy pill (shares the shop-modal card layout) */
.contact-email-row {
  z-index: 1;
  background-color: var(--colors--gray-1);
  border: 1px solid var(--colors--gray-3);
  border-radius: 100vw;
  flex-flow: row;
  justify-content: space-between;
  align-items: center;
  padding: 6px 6px 6px 20px;
  margin-top: 16px;
  width: 100%;
  display: flex;
  position: relative
}

.contact-email-link {
  color: var(--colors--black);
  font-size: 1.0625rem;
  font-weight: 500;
  text-decoration: none
}

.contact-copy-btn {
  color: var(--colors--gray-5);
  background-color: var(--colors--white);
  border: 1px solid var(--colors--gray-3);
  border-radius: 100vw;
  flex: none;
  white-space: nowrap;
  gap: 4px;
  padding: 7px 14px;
  cursor: pointer;
  transition: color .2s cubic-bezier(.165, .84, .44, 1), background-color .2s cubic-bezier(.165, .84, .44, 1);
  display: inline-flex;
  align-items: center
}

.contact-copy-btn:hover {
  color: var(--colors--brand-primary);
  background-color: var(--colors--gray-2)
}

.contact-copy-btn.copied {
  color: var(--colors--brand-secondary)
}
