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: bold;
}

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: bold;
}

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

td, th {
  padding: 0;
}

@font-face {
  font-family: webflow-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: normal;
  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: normal;
  line-height: 1;
  font-family: webflow-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;
}

.w-webflow-badge, .w-webflow-badge > img {
  box-sizing: unset;
  width: unset;
  height: unset;
  max-height: unset;
  max-width: unset;
  min-height: unset;
  min-width: unset;
  margin: unset;
  padding: unset;
  float: unset;
  clear: unset;
  border: unset;
  border-radius: unset;
  background: unset;
  background-image: unset;
  background-position: unset;
  background-size: unset;
  background-repeat: unset;
  background-origin: unset;
  background-clip: unset;
  background-attachment: unset;
  background-color: unset;
  box-shadow: unset;
  transform: unset;
  direction: unset;
  font-family: unset;
  font-weight: unset;
  color: unset;
  font-size: unset;
  line-height: unset;
  font-style: unset;
  font-variant: unset;
  text-align: unset;
  letter-spacing: unset;
  -webkit-text-decoration: unset;
  text-decoration: unset;
  text-indent: unset;
  text-transform: unset;
  list-style-type: unset;
  text-shadow: unset;
  vertical-align: unset;
  cursor: unset;
  white-space: unset;
  word-break: unset;
  word-spacing: unset;
  word-wrap: unset;
  transition: unset;
}

.w-webflow-badge {
  white-space: nowrap;
  cursor: pointer;
  box-shadow: 0 0 0 1px #0000001a, 0 1px 3px #0000001a;
  visibility: visible !important;
  opacity: 1 !important;
  z-index: 2147483647 !important;
  color: #aaadb0 !important;
  width: auto !important;
  height: auto !important;
  overflow: unset !important;
  background-color: #fff !important;
  border-radius: 3px !important;
  margin: 0 !important;
  padding: 6px !important;
  font-size: 12px !important;
  line-height: 14px !important;
  text-decoration: none !important;
  display: inline-block !important;
  position: fixed !important;
  inset: auto 12px 12px auto !important;
  transform: none !important;
}

.w-webflow-badge > img {
  position: unset;
  visibility: unset !important;
  opacity: 1 !important;
  vertical-align: middle !important;
  display: inline-block !important;
}

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

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: bold;
  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: normal;
  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: normal;
  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: normal;
  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: normal;
  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 {
  width: auto;
  height: auto;
  font-size: inherit;
  line-height: inherit;
  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: center;
  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: translate3d(0, 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: translate(0, -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);
  }

  100% {
    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;
}

:root {
  --white: white;
  --blue_ian: var(--white);
  --black: black;
}

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

.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-layout {
  grid-row-gap: 20px;
  grid-column-gap: 20px;
  grid-auto-columns: 1fr;
  justify-content: center;
  padding: 20px;
}

.w-layout-cell {
  flex-direction: column;
  justify-content: flex-start;
  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 {
  color: #1a1b1f;
  font-family: Montserrat, sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 28px;
}

h1 {
  margin-top: 20px;
  margin-bottom: 15px;
  font-size: 44px;
  font-weight: 400;
  line-height: 62px;
}

h2 {
  margin-top: 10px;
  margin-bottom: 10px;
  font-size: 36px;
  font-weight: 400;
  line-height: 50px;
}

h3 {
  margin-top: 10px;
  margin-bottom: 10px;
  font-size: 30px;
  font-weight: 400;
  line-height: 46px;
}

h4 {
  margin-top: 10px;
  margin-bottom: 10px;
  font-size: 24px;
  font-weight: 400;
  line-height: 38px;
}

h5 {
  margin-top: 10px;
  margin-bottom: 10px;
  font-size: 20px;
  font-weight: 500;
  line-height: 34px;
}

h6 {
  margin-top: 10px;
  margin-bottom: 10px;
  font-size: 16px;
  font-weight: 500;
  line-height: 28px;
}

p {
  margin-bottom: 10px;
}

a {
  color: #e6e6e6;
  font-size: 14px;
  text-decoration: none;
  transition: opacity .2s;
  display: block;
  position: static;
}

a:hover {
  color: #32343a;
}

a:active {
  color: #43464d;
}

ul {
  margin-top: 20px;
  margin-bottom: 20px;
  padding-left: 40px;
  list-style-type: disc;
}

li {
  margin-bottom: 10px;
}

img {
  display: block;
}

label {
  letter-spacing: 1px;
  text-transform: uppercase;
  margin-bottom: 10px;
  font-size: 12px;
  font-weight: 500;
  line-height: 20px;
}

blockquote {
  border-left: 5px solid #e2e2e2;
  margin-top: 25px;
  margin-bottom: 25px;
  padding: 15px 30px;
  font-size: 20px;
  line-height: 34px;
}

figure {
  margin-top: 25px;
  padding-bottom: 20px;
}

figcaption {
  opacity: .6;
  text-align: center;
  margin-top: 5px;
  font-size: 14px;
  line-height: 26px;
}

.heading-jumbo-small {
  text-transform: none;
  margin-top: 10px;
  margin-bottom: 15px;
  font-size: 36px;
  font-weight: 400;
  line-height: 50px;
}

.styleguide-block {
  text-align: left;
  flex-direction: column;
  align-items: center;
  margin-top: 80px;
  margin-bottom: 80px;
  display: block;
}

.heading-jumbo-tiny {
  text-transform: uppercase;
  margin-top: 10px;
  margin-bottom: 10px;
  font-size: 18px;
  font-weight: 500;
  line-height: 32px;
}

.rich-text {
  width: 70%;
  margin-bottom: 100px;
  margin-left: auto;
  margin-right: auto;
}

.rich-text p {
  opacity: .6;
  margin-top: 15px;
  margin-bottom: 25px;
}

.container {
  border-top: 1px #f7f7f7;
  flex-direction: row;
  flex: 0 auto;
  justify-content: center;
  align-items: center;
  width: 100%;
  max-width: 760px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  display: block;
}

.styleguide-content-wrap {
  text-align: center;
}

.paragraph-small {
  font-size: 14px;
  line-height: 26px;
}

.styleguide-header-wrap {
  color: #fff;
  text-align: center;
  background-color: #1a1b1f;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  height: 460px;
  padding: 30px;
  display: flex;
}

.styleguide-button-wrap {
  margin-top: 10px;
  margin-bottom: 10px;
}

.heading-jumbo {
  text-transform: none;
  margin-top: 10px;
  margin-bottom: 10px;
  font-size: 24px;
  line-height: 36px;
}

.paragraph-tiny {
  color: #5bbbff;
  font-size: 12px;
  font-weight: 500;
  line-height: 20px;
}

.paragraph-tiny.cc-paragraph-tiny-light {
  opacity: .7;
}

.label {
  letter-spacing: 1px;
  text-transform: uppercase;
  margin-bottom: 10px;
  font-size: 12px;
  font-weight: 500;
  line-height: 20px;
}

.label.cc-styleguide-label {
  margin-bottom: 25px;
}

.label.cc-speaking-label {
  margin-top: 20px;
  margin-bottom: 10px;
}

.label.cc-about-light {
  opacity: .6;
}

.paragraph-light {
  opacity: .6;
  color: #000;
  margin-bottom: 40px;
}

.paragraph-light.cc-position-name {
  color: #1a1b1f;
  margin-bottom: 0;
  font-weight: 500;
}

.content-section-cs {
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  max-width: 1140px;
  margin: 56px 30px 0;
  padding-bottom: 0;
  display: flex;
}

.content-section-cs.cc-contact {
  background-color: #000;
  border: 1px solid #212121;
  width: 100%;
  margin-top: 160px;
  padding-left: 80px;
  padding-right: 80px;
  box-shadow: 6px 6px 0 1px #3636365c;
}

.content-section-cs.sketches-section {
  margin-top: 40px;
}

.button {
  color: #000;
  letter-spacing: 2px;
  text-transform: uppercase;
  background-color: #e6e6e6;
  border-radius: 0;
  padding: 12px 25px;
  font-size: 12px;
  line-height: 20px;
  text-decoration: none;
  transition: background-color .4s, opacity .4s, color .4s;
}

.button:hover {
  color: #fff;
  background-color: #32343a;
}

.button:active {
  background-color: #43464d;
}

.button.cc-jumbo-button {
  padding: 16px 35px;
  font-size: 14px;
  line-height: 26px;
}

.button.cc-white-button {
  color: #202020;
  background-color: #fff;
  padding: 16px 35px;
  font-size: 14px;
  line-height: 26px;
}

.button.cc-white-button:hover {
  background-color: #fffc;
}

.button.cc-white-button:active {
  background-color: #ffffffe6;
}

.paragraph-bigger {
  opacity: 1;
  margin-bottom: 10px;
  font-size: 20px;
  font-weight: 400;
  line-height: 34px;
}

.paragraph-bigger.cc-bigger-light {
  opacity: .6;
}

.divider {
  background-color: #eee;
  height: 1px;
}

.logo-link {
  z-index: 1;
  text-transform: uppercase;
  font-family: Montserrat, sans-serif;
  font-style: normal;
  font-weight: 500;
  text-decoration: none;
}

.logo-link:hover {
  opacity: .8;
  color: #32b5ff;
}

.logo-link:active {
  opacity: .7;
}

.navigation-item {
  opacity: .6;
  letter-spacing: 1px;
  text-transform: uppercase;
  padding-top: 9px;
  padding-bottom: 9px;
  font-size: 12px;
  font-weight: 500;
  line-height: 20px;
}

.navigation-item:hover {
  opacity: .9;
  color: #32b5ff;
}

.navigation-item:active {
  opacity: .8;
}

.navigation-item.w--current {
  opacity: 1;
  color: #1a1b1f;
  font-weight: 600;
}

.navigation-item.w--current:hover {
  opacity: .8;
  color: #32343a;
}

.navigation-item.w--current:active {
  opacity: .7;
  color: #32343a;
}

.navbar-inner-cs {
  flex: 1;
  justify-content: space-between;
  align-items: center;
  display: flex;
}

.navbar-case-study {
  grid-column-gap: 16px;
  grid-row-gap: 16px;
  background-color: #0000;
  flex-flow: row;
  grid-template-rows: auto auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  justify-content: center;
  align-items: stretch;
  width: 100%;
  max-width: 1140px;
  margin-left: 0;
  margin-right: 0;
  padding: 30px 30px 30px 0;
  display: flex;
}

.logo-image {
  display: block;
}

.navbar-wrap-cs {
  align-items: center;
  margin-right: -20px;
  display: flex;
}

.intro-wrap {
  grid-column-gap: 16px;
  grid-row-gap: 16px;
  outline-offset: 0px;
  border: 2px #212121;
  border-radius: 0;
  outline: 1px solid #151515;
  grid-template-rows: auto auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  margin-top: 100px;
  margin-bottom: 140px;
  display: flex;
  box-shadow: 5px 6px 0 1px #48484833;
}

.name-text {
  font-size: 20px;
  font-weight: 400;
  line-height: 34px;
}

.position-name-text {
  text-align: center;
  text-transform: none;
  flex-direction: column;
  align-items: flex-start;
  width: 100%;
  margin-top: 24px;
  margin-bottom: 24px;
  font-size: 20px;
  font-weight: 400;
  line-height: 32px;
  display: flex;
}

.work-description {
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  margin-bottom: 60px;
  display: flex;
}

.work-experience-grid {
  grid-column-gap: 30px;
  grid-row-gap: 30px;
  grid-template: ". . . ."
  / 1fr 1fr 1fr 1fr;
  margin-bottom: 140px;
}

.works-grid {
  grid-column-gap: 30px;
  grid-row-gap: 30px;
  grid-template: ". . ."
                 ". . ."
                 / 1.5fr;
  grid-auto-columns: 1.5fr;
  grid-auto-flow: row;
  align-content: start;
  margin-bottom: 80px;
}

.work-position-wrap {
  margin-bottom: 16px;
}

.carrer-headline-wrap {
  width: 70%;
  margin-bottom: 50px;
}

.work-image {
  text-align: center;
  background-color: #f4f4f4;
  background-image: url("../images/background-image.svg");
  background-position: 50%;
  background-size: cover;
  flex-direction: column;
  justify-content: center;
  align-items: stretch;
  height: 460px;
  margin-bottom: 40px;
  text-decoration: none;
  display: flex;
}

.work-image:hover {
  opacity: .8;
}

.work-image:active {
  opacity: .7;
}

.work-image.cc-work-1 {
  object-fit: cover;
  background-image: url("../images/portfolio_1_wide.svg");
  background-size: cover;
}

.work-image.cc-work-2 {
  background-image: url("../images/portfolio_2_wide.svg");
  background-size: cover;
}

.work-image.cc-work-4 {
  background-image: url("../images/portfolio_3_wide.svg");
  background-size: cover;
}

.work-image.cc-work-3 {
  background-image: url("../images/portfolio_4_wide.svg");
  background-size: cover;
}

.project-name-link {
  margin-bottom: 5px;
  font-size: 20px;
  font-weight: 400;
  line-height: 34px;
  text-decoration: none;
}

.project-name-link:hover {
  opacity: .8;
}

.project-name-link:active {
  opacity: .7;
}

.text-field {
  color: #383838;
  background-color: #fff;
  border: 1px solid #e4e4e4;
  border-radius: 0;
  margin-bottom: 18px;
  padding: 21px 20px;
  font-size: 14px;
  line-height: 26px;
  transition: border-color .4s;
}

.text-field:hover {
  border-color: #e3e6eb;
}

.text-field:active, .text-field:focus {
  border-color: #43464d;
}

.text-field::placeholder {
  color: #32343a66;
}

.text-field.cc-textarea {
  color: #383838;
  border-color: #4f4f4f;
  height: 200px;
  padding-top: 12px;
}

.status-message {
  color: #fff;
  text-align: center;
  background-color: #202020;
  padding: 9px 30px;
  font-size: 14px;
  line-height: 26px;
}

.status-message.cc-success-message {
  background-color: #12b878;
}

.status-message.cc-error-message {
  background-color: #db4b68;
}

.contact {
  color: #bebebe;
  text-align: center;
  flex-direction: column;
  flex: 1;
  align-items: center;
  width: 100%;
  padding-top: 80px;
  padding-bottom: 90px;
  display: flex;
}

.contact-headline {
  width: 70%;
  margin-bottom: 40px;
}

.contact-form-grid {
  grid-column-gap: 30px;
  grid-row-gap: 10px;
  text-align: center;
  justify-items: stretch;
}

.contact-form-wrap {
  width: 70%;
}

.footer-wrap {
  justify-content: space-between;
  align-items: center;
  padding: 40px 50px;
  display: flex;
}

.footer-wrap:hover {
  color: #32b5ff;
}

.webflow-link {
  opacity: .5;
  text-transform: uppercase;
  align-items: center;
  text-decoration: none;
  transition: opacity .4s;
  display: flex;
}

.webflow-link:hover {
  opacity: 1;
}

.webflow-link:active {
  opacity: .8;
}

.webflow-logo-tiny {
  margin-top: -2px;
  margin-right: 8px;
}

.footer-links {
  color: #636363;
  align-items: center;
  margin-left: 16px;
  margin-right: 0;
  display: flex;
}

.footer-item {
  opacity: .6;
  color: #5bbbff;
  letter-spacing: 1px;
  text-transform: uppercase;
  margin-left: 20px;
  margin-right: 20px;
  font-size: 12px;
  line-height: 20px;
  text-decoration: none;
}

.footer-item:hover {
  opacity: .9;
  color: #32b5ff;
  -webkit-text-stroke-color: #32b5ff;
}

.footer-item:active {
  opacity: .8;
}

.about-intro-grid {
  grid-column-gap: 80px;
  grid-row-gap: 30px;
  grid-template: ". ."
  / 1fr 2fr;
  align-items: center;
  margin-top: 100px;
  margin-bottom: 140px;
}

.hi-there-heading {
  margin-top: 10px;
  margin-bottom: 20px;
}

.service-name-text {
  opacity: .6;
  margin-bottom: 10px;
  font-size: 30px;
  line-height: 46px;
}

.skillset-wrap {
  padding-right: 60px;
}

.reference-link {
  opacity: .6;
  font-size: 14px;
  line-height: 26px;
  text-decoration: none;
}

.reference-link:hover {
  opacity: 1;
}

.reference-link:active {
  opacity: .9;
}

.featured-item-wrap {
  margin-bottom: 25px;
}

.services-items-grid {
  grid-column-gap: 30px;
  grid-row-gap: 30px;
  grid-template-rows: auto;
  grid-template-areas: ". .";
  padding-top: 10px;
}

.skills-grid {
  grid-column-gap: 80px;
  grid-row-gap: 30px;
  grid-template: ". ."
  / 1fr 1fr;
  margin-bottom: 140px;
}

.personal-features-grid {
  grid-column-gap: 80px;
  grid-row-gap: 20px;
  grid-template-rows: auto auto;
  grid-template-areas: ". ."
                       ". .";
  margin-bottom: 110px;
}

.speaking-text {
  margin-right: 8px;
  display: inline-block;
}

.speaking-text.cc-past-speaking {
  opacity: .6;
}

.speaking-detail {
  opacity: .6;
  display: inline-block;
}

.upcoming-wrap {
  margin-bottom: 40px;
}

.social-media-heading {
  margin-bottom: 60px;
}

.social-media-grid {
  grid-column-gap: 30px;
  grid-row-gap: 30px;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  grid-template-areas: ". . . ."
                       ". . . .";
  margin-bottom: 30px;
}

.project-overview-grid {
  grid-column-gap: 50px;
  grid-row-gap: 100px;
  grid-template: ". . . ."
                 ". . . ."
                 / 1fr 1fr 1fr 1fr;
  justify-content: stretch;
  justify-items: stretch;
  width: 100%;
  margin: 60px 30px 72px;
  display: block;
}

.detail-header-image {
  width: 100%;
  transform-style: preserve-3d;
}

.detail-header-image:hover {
  transform: scale3d(1none, 1none, 1none);
}

.detail-header-image.double_diamond {
  transition: all .7s;
}

.detail-header-image.double_diamond:hover {
  transform: scale(1.4);
}

.project-description-grid {
  grid-column-gap: 30px;
  grid-row-gap: 30px;
  grid-template: ". ."
  / 1fr 2.5fr;
  margin-top: 0;
  margin-bottom: 88px;
}

.detail-image {
  width: 100%;
  margin-bottom: 0;
}

.email-section {
  text-align: center;
  width: 70%;
  margin: 140px auto 200px;
}

.email-link {
  text-transform: none;
  margin-top: 15px;
  margin-bottom: 15px;
  font-size: 64px;
  font-weight: 400;
  line-height: 88px;
  text-decoration: none;
}

.email-link:hover {
  opacity: .8;
}

.email-link:active {
  opacity: .7;
}

.utility-page-wrap {
  color: #fff;
  text-align: center;
  justify-content: center;
  align-items: center;
  width: 100vw;
  max-width: 100%;
  height: 100vh;
  max-height: 100%;
  padding: 30px;
  display: flex;
}

._404-wrap {
  background-color: #1a1b1f;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  padding: 30px;
  display: flex;
}

._404-content-wrap {
  margin-bottom: 20px;
}

.protected-wrap {
  text-align: center;
  justify-content: center;
  padding-top: 90px;
  padding-bottom: 100px;
  display: flex;
}

.protected-form {
  flex-direction: column;
  display: flex;
}

.protected-heading {
  margin-bottom: 30px;
}

.div-block {
  flex: 1 0 100%;
}

.case-studies-grid {
  object-fit: contain;
  border-radius: 0;
  grid-template-rows: minmax(auto, 40vw) auto;
  width: 100%;
  max-width: 1140px;
  margin-left: 30px;
  margin-right: 30px;
}

.case-studies-section {
  grid-column-gap: 0px;
  grid-row-gap: 0px;
  object-fit: contain;
  flex-direction: column;
  grid-template-rows: auto auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  justify-content: center;
  align-items: center;
  width: 100%;
  min-width: 80vw;
  max-width: none;
  margin-left: 0;
  margin-right: 0;
  display: flex;
  position: relative;
}

.card-text-infinity {
  clear: none;
  opacity: 0;
  width: 100%;
  color: var(--white);
  text-align: center;
  overflow-wrap: normal;
  object-fit: fill;
  direction: ltr;
  border-radius: 0;
  font-size: 32px;
  font-weight: 200;
  line-height: 48px;
  text-decoration: none;
  transition: opacity .4s ease-in-out;
  position: relative;
}

.card-text-infinity:hover {
  opacity: 1;
  border-radius: 0 !important;
}

.card-infinity {
  opacity: .96;
  background-image: url("../images/infinity_art_card.png");
  background-position: 50%;
  background-size: cover;
  border-radius: 0;
  display: flex;
  transform: translate(0);
}

.card-text-report {
  opacity: 0;
  color: #fff;
  text-align: center;
  border-radius: 0;
  justify-content: center;
  width: 100%;
  font-size: 32px;
  font-weight: 200;
  line-height: 48px;
  transition: opacity .4s ease-in-out;
  display: flex;
}

.card-text-report:hover {
  opacity: 1;
}

.card-report {
  opacity: .96;
  background-image: url("../images/ux_report_card.jpg");
  background-position: 50%;
  background-size: cover;
  border-radius: 0;
  display: flex;
}

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

.figure-caption-empathy {
  color: #797979;
  text-align: left;
  flex-flow: column;
  justify-content: space-around;
  align-items: center;
  width: 100%;
  font-size: 14px;
  display: flex;
}

.text-span-2 {
  color: #6d6d6d;
  flex-direction: column;
  justify-content: flex-start;
  width: 100%;
  font-family: Ubuntu, Helvetica, sans-serif;
  font-size: 14px;
  display: flex;
}

.div-block-4 {
  flex-direction: column;
  align-items: stretch;
  width: 100%;
  margin-top: 0;
  display: flex;
}

.section-3 {
  grid-column-gap: 16px;
  grid-row-gap: 16px;
  text-align: center;
  flex-direction: column;
  grid-template-rows: auto auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  place-content: stretch center;
  max-width: 1140px;
  margin-left: 30px;
  margin-right: 30px;
  display: grid;
}

.quick-stack {
  text-align: left;
  margin-top: 40px;
  padding: 0;
}

.cell {
  flex-direction: column;
  justify-content: center;
  align-items: stretch;
}

.section-4 {
  flex-direction: row;
  justify-content: center;
  align-items: stretch;
  max-width: 1140px;
  margin-top: 0;
  margin-left: 30px;
  margin-right: 30px;
  display: flex;
}

.quick-stack-2 {
  padding-left: 0;
  padding-right: 0;
}

.cell-2 {
  grid-column-gap: 16px;
  grid-row-gap: 16px;
  opacity: 1;
  grid-template-rows: auto auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  line-height: 16px;
  display: block;
}

.grid-2 {
  grid-template-rows: minmax(auto, 540px) auto;
  grid-template-areas: ". ."
                       ". Area";
  align-content: stretch;
  max-width: 1140px;
  margin-top: 0;
}

.div-block-5 {
  flex-direction: column;
  justify-content: flex-start;
  align-items: stretch;
  display: flex;
  overflow: scroll;
}

.div-block-6 {
  position: static;
}

.grid-3 {
  grid-column-gap: 16px;
  grid-template-rows: minmax(auto, 1em) minmax(auto, 720px);
  grid-template-columns: 0% 75% 0%;
  max-width: 1140px;
}

.live-preview-content-ux {
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  max-width: 600px;
  height: 1050px;
  max-height: 1110px;
  margin: 0 30px 96px;
  padding-right: 0;
  display: flex;
}

.cell-3 {
  flex-direction: column;
  justify-content: center;
  align-items: stretch;
}

.visual-divider-section {
  margin-left: 30px;
  padding-right: 30px;
}

.grid-4 {
  text-align: left;
  flex: 1;
  justify-content: stretch;
  align-self: center;
  justify-items: stretch;
  max-width: 1140px;
}

.section-7 {
  float: none;
  clear: none;
  grid-column-gap: 16px;
  grid-row-gap: 16px;
  object-fit: fill;
  flex-direction: row;
  grid-template-rows: auto auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  justify-content: center;
  align-items: flex-start;
  max-width: 1140px;
  margin-top: 0;
  margin-left: 30px;
  margin-right: 30px;
  display: flex;
  position: static;
}

.grid-5 {
  max-width: 1140px;
  margin-left: 30px;
  margin-right: 30px;
}

.section-8 {
  text-align: left;
  justify-content: center;
  max-width: 1140px;
  margin-top: 0;
  margin-bottom: 0;
  display: flex;
}

.div-block-7 {
  align-items: center;
  padding-top: 0;
  display: flex;
}

.accent-highlight-4, .text-span-4, .text-span-5, .text-span-6 {
  font-family: Ubuntu, Helvetica, sans-serif;
}

.empathy-map-section {
  max-width: 1140px;
  margin-left: 30px;
  margin-right: 30px;
}

.italic-text, .bold-text, .bold-text-2, .italic-text-2 {
  font-family: Ubuntu, Helvetica, sans-serif;
}

.text-span-7 {
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  width: 100%;
  font-family: Ubuntu, Helvetica, sans-serif;
  display: flex;
}

.bold-text-3, .italic-text-3 {
  font-family: Ubuntu, Helvetica, sans-serif;
}

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

.survey-graphs-section {
  object-fit: contain;
  flex-direction: row;
  justify-content: space-around;
  align-items: stretch;
  width: 100%;
  max-width: 1440px;
  height: auto;
  max-height: none;
  display: flex;
}

.html-embed {
  flex-direction: row;
  align-items: center;
  min-width: 100%;
  height: 540px;
  max-height: 540px;
  display: block;
}

.div-block-8 {
  flex-direction: column;
  height: 540px;
  display: flex;
}

.persona-validation-section {
  max-width: 1140px;
  margin-left: 30px;
  margin-right: 30px;
}

.heading {
  text-align: center;
  margin-top: 40px;
  margin-bottom: 56px;
}

.validated-personas-title {
  text-align: center;
  margin-top: 120px;
  margin-bottom: 56px;
}

.validated-personas-section {
  flex-direction: column;
  justify-content: center;
  align-items: center;
  max-width: 1140px;
  margin-left: 30px;
  margin-right: 30px;
  display: flex;
}

.persona-avatar-inf {
  margin-top: 0;
}

.persona-v1-title {
  text-align: center;
  margin-top: 80px;
  margin-bottom: 56px;
}

.persona-v2-title, .comp-audit-title {
  text-align: center;
  margin-top: 120px;
  margin-bottom: 56px;
}

.paragraph {
  max-width: 1440px;
  margin-bottom: 40px;
  margin-left: 0;
  margin-right: 0;
}

.audit-conclusions-title {
  text-align: center;
  margin-top: 72px;
  margin-bottom: 56px;
}

.audit-conclusions-section {
  flex-direction: column;
  max-width: 1140px;
  margin-left: 30px;
  margin-right: 30px;
  display: flex;
}

.takeaways-title {
  text-align: center;
  margin-top: 80px;
  margin-bottom: 56px;
}

.audit-intro-text {
  margin-top: 24px;
  margin-bottom: 40px;
}

.sitemap-section {
  flex-direction: column;
  align-items: center;
  max-width: 1140px;
  margin-top: 120px;
  margin-left: 30px;
  margin-right: 30px;
  display: flex;
}

.sitemap-title {
  text-align: center;
  margin-top: 0;
  margin-bottom: 56px;
}

.sitemap-img {
  text-align: left;
  width: 70%;
  margin-top: 40px;
}

.interface-dev-section {
  flex-direction: column;
  max-width: 1140px;
  margin-left: 30px;
  margin-right: 30px;
  display: flex;
}

.interface-dev-title {
  text-align: center;
  margin-top: 96px;
  margin-bottom: 56px;
}

.interface-v1-img {
  margin-top: 0;
}

.interface-v1-desc {
  margin-top: 40px;
}

.interface-v1-title {
  margin-top: 80px;
  margin-bottom: 56px;
}

.interface-v2-section {
  flex-direction: column;
  max-width: 1140px;
  margin-left: 30px;
  margin-right: 30px;
  padding-top: 0;
  padding-bottom: 0;
  display: flex;
}

.interface-v2-title {
  margin-top: 80px;
  margin-bottom: 56px;
}

.interface-v2-img {
  margin-top: 0;
  margin-bottom: 40px;
}

.interface-v3-section {
  flex-direction: column;
  justify-content: center;
  align-items: center;
  max-width: 1140px;
  margin-left: 30px;
  margin-right: 30px;
  display: flex;
}

.interface-v3-title {
  text-align: left;
  flex-direction: column;
  flex: 1;
  align-items: flex-start;
  width: 100%;
  margin-top: 80px;
  margin-bottom: 56px;
  padding-bottom: 0;
  display: flex;
}

.interface-v3-img {
  margin-top: 0;
  margin-bottom: 0;
}

.interface-v2-desc, .interface-v3-desc {
  margin-top: 40px;
}

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

.cell-4 {
  text-align: left;
  justify-content: center;
  align-items: center;
}

.heading-13 {
  text-align: center;
  flex: 1;
  width: 100%;
  margin-top: 80px;
  margin-bottom: 56px;
  display: flex;
}

.heading-14 {
  margin-top: 80px;
  margin-bottom: 56px;
}

.cell-5, .cell-6 {
  align-items: center;
}

.paragraph-6 {
  margin-top: 40px;
}

.conclusion-section-inf {
  flex-direction: column;
  align-items: stretch;
  max-width: 1140px;
  margin-bottom: 40px;
  margin-left: 30px;
  margin-right: 30px;
  display: flex;
}

.conclusion-title-inf {
  text-align: center;
  margin-top: 120px;
  margin-bottom: 56px;
}

.visual-direction-section {
  max-width: 1140px;
  margin-left: 30px;
  margin-right: 30px;
}

.visual-direction-title {
  text-align: center;
  margin-top: 40px;
  margin-bottom: 40px;
}

.section-20 {
  margin: 40px 30px;
}

.heading-17 {
  text-align: center;
  margin-top: 120px;
  margin-bottom: 56px;
}

.section-21 {
  margin-left: 30px;
  margin-right: 30px;
}

.heading-18 {
  text-align: center;
  margin-top: 120px;
  margin-bottom: 56px;
}

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

.div-block-9 {
  margin-bottom: 40px;
}

.div-block-10 {
  display: flex;
}

.live-preview-header-ux {
  margin: 120px 30px 56px;
}

.live-preview-title-ux {
  text-align: center;
  margin-top: 0;
  margin-bottom: 0;
}

.figma-iframe-wrapper {
  flex-direction: row;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  max-height: 1110px;
  display: flex;
}

.html-embed-2 {
  flex-direction: row;
  flex: 1;
  justify-content: flex-start;
  align-items: flex-start;
  max-width: 100%;
  height: 100%;
  display: flex;
}

.heading-21 {
  color: #e6e6e6;
  text-align: center;
  justify-content: flex-start;
  display: block;
}

.quick-stack-3 {
  margin-left: 0;
  margin-right: 0;
  padding-left: 0;
  padding-right: 0;
}

.infinity-art-body {
  flex-direction: column;
  align-items: center;
  display: flex;
  background-image: url("../images/body_background_dynamic.svg");
  background-position: 50% 50%;
  background-repeat: no-repeat;
  background-size: 4960px 896px;
  background-attachment: fixed;
}

.container-2 {
  flex-direction: column;
  justify-content: space-between;
  align-items: stretch;
  width: 100%;
  max-width: 1140px;
  height: 100%;
  display: flex;
}

.html-embed-3 {
  flex-direction: row;
  flex: 1;
  justify-content: center;
  display: flex;
}

.container-3 {
  flex-direction: column;
  align-items: stretch;
  width: 100%;
  max-width: 1140px;
  height: auto;
  margin-left: 0;
  margin-right: 0;
  display: flex;
}

.quick-stack-4 {
  margin-top: 44px;
  padding-left: 0;
  padding-right: 0;
}

.list {
  flex-direction: column;
  font-size: 14px;
  display: flex;
}

.heading-28 {
  color: #e6e6e6;
  margin-bottom: 0;
  margin-left: 16px;
}

.heading-29 {
  color: #a7a7a7;
  margin-top: 0;
  margin-left: 16px;
}

.cell-7, .cell-8, .cell-9, .cell-10 {
  border: 1px solid #212121;
  border-radius: 0;
  padding: 8px;
  box-shadow: 6px 6px 0 1px #3636365c;
}

.case-studies-title {
  color: #e6e6e6;
  text-align: center;
  text-transform: uppercase;
  margin-top: 100px;
  margin-bottom: 32px; /* Reduced from 100px to group with cards below */
  font-weight: 400;
}

.heading-31 {
  color: #e6e6e6;
  text-align: center;
  margin-top: 100px;
  margin-bottom: 0;
}

.list-2 {
  color: #d4d4d4;
  -webkit-text-stroke-color: #f1f1f1;
  font-size: 14px;
}

.list-3 {
  color: #f1f1f1;
  -webkit-text-stroke-color: #f1f1f1;
  font-size: 14px;
}

.list-4 {
  color: #f1f1f1;
  font-size: 14px;
}

.image-8 {
  border-radius: 0;
  max-width: 320px;
  display: inline-block;
}

.div-block-12 {
  text-align: left;
  display: inline;
}

.div-block-13 {
  text-align: left;
  flex-direction: column;
  justify-content: center;
  padding: 32px;
  display: flex;
}

.home-body {
  background-color: #000;
  border: 0 solid #000;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  display: flex;
  overflow-x: clip !important;
  background-image: url("../images/body_background_dynamic_dark.svg");
  background-position: 50% 50%;
  background-repeat: no-repeat;
  background-size: 4960px 896px;
  background-attachment: fixed;
}

.ux-report-body {
  flex-direction: column;
  align-items: center;
  display: flex;
  background-image: url("../images/body_background_dynamic.svg");
  background-position: 50% 50%;
  background-repeat: no-repeat;
  background-size: 4960px 896px;
  background-attachment: fixed;
}

.field-label, .field-label-2, .field-label-3 {
  color: #e6e6e6;
  text-align: left;
}

.text-block-4 {
  flex-direction: column;
  justify-content: flex-end;
  align-items: flex-start;
  font-family: Ubuntu, Helvetica, sans-serif;
  line-height: 24px;
  display: flex;
}

.comp-audit-bullet-desc {
  margin-bottom: 0;
}

.div-block-14 {
  flex-direction: column;
  flex: 1;
  display: flex;
}

.paragraph-8 {
  margin-bottom: 40px;
}

.quick-stack-5 {
  padding: 0;
}

.navigation-black {
  flex-direction: row;
  flex: 1;
  justify-content: center;
  width: 100%;
  max-width: 1140px;
  padding-top: 20px;
  padding-bottom: 20px;
  display: flex;
}

.navbar-home {
  z-index: 5;
  background-color: #0000;
  width: 1030px;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding: 15px 20px;
}

.navbar-home.shadow-three {
  color: #e6e6e6;
  flex-direction: column;
  flex: 0 auto;
  justify-content: center;
  align-items: stretch;
  width: 100%;
  max-width: 1140px;
  margin-bottom: 0;
  padding: 36px 36px 30px 16px;
  display: flex;
  position: sticky;
}

.navbar-home.shadow-three:hover {
  color: #e6e6e6;
}

.navbar-inner-home {
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  max-width: 1140px;
  margin-left: auto;
  margin-right: auto;
  padding-right: 0;
  display: flex;
}

.navbar-wrap-home {
  flex-flow: row;
  flex: 0 auto;
  justify-content: space-between;
  align-items: stretch;
  width: 100%;
  height: 24px;
  margin-right: 0;
  padding-left: 0;
  padding-right: 0;
  display: flex;
}

.navbar-brand {
  flex-direction: column;
  justify-content: center;
  display: flex;
}

.nav-menu-wrapper {
  flex-direction: row;
  align-items: flex-start;
  display: flex;
}

.nav-menu-two {
  justify-content: space-between;
  align-items: center;
  height: 24px;
  margin-bottom: 0;
  display: flex;
}

.nav-link {
  color: #1a1b1f;
  letter-spacing: .25px;
  margin-left: 5px;
  margin-right: 5px;
  padding: 5px 10px;
  font-size: 12px;
  font-weight: 600;
  line-height: 20px;
  text-decoration: none;
}

.nav-link:hover {
  color: #1a1b1fbf;
}

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

.nav-link.w--current {
  color: #e6e6e6;
  align-items: flex-start;
  padding-top: 0;
  padding-bottom: 0;
  display: flex;
}

.nav-dropdown {
  margin-left: 5px;
  margin-right: 5px;
}

.nav-dropdown-toggle {
  letter-spacing: .25px;
  padding: 5px 30px 5px 10px;
  font-size: 14px;
  line-height: 20px;
}

.nav-dropdown-toggle:hover {
  color: #1a1b1fbf;
}

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

.nav-dropdown-icon {
  margin-right: 10px;
}

.nav-dropdown-list {
  background-color: #fff;
  border-radius: 12px;
}

.nav-dropdown-list.w--open {
  padding-top: 10px;
  padding-bottom: 10px;
}

.nav-dropdown-link {
  padding-top: 5px;
  padding-bottom: 5px;
  font-size: 14px;
}

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

.nav-divider {
  background-color: #e4ebf3;
  width: 1px;
  height: 22px;
  margin-left: 15px;
  margin-right: 15px;
}

.nav-link-accent {
  color: #1a1b1f;
  letter-spacing: .25px;
  margin-left: 5px;
  margin-right: 20px;
  padding: 5px 10px;
  font-size: 14px;
  font-weight: 700;
  line-height: 20px;
  text-decoration: none;
}

.nav-link-accent:hover {
  color: #1a1b1fbf;
}

.button-primary {
  color: #fff;
  letter-spacing: 2px;
  text-transform: uppercase;
  background-color: #1a1b1f;
  padding: 12px 25px;
  font-size: 12px;
  line-height: 20px;
  transition: all .2s;
}

.button-primary:hover {
  color: #fff;
  background-color: #32343a;
}

.button-primary:active {
  background-color: #43464d;
}

.navbar-brand-home {
  justify-content: center;
  align-items: center;
  height: 24px;
  text-decoration: none;
  display: flex;
}

.link {
  flex: 0 auto;
  font-weight: 500;
  text-decoration: none;
}

.link.w--current {
  color: #e6e6e6;
}

.heading-32 {
  color: #fff;
  font-weight: 200;
}

.list-item, .list-item-2 {
  color: #d4d4d4;
  -webkit-text-stroke-color: #f1f1f1;
}

.card-title-infinity, .card-title-report {
  font-size: 40px;
  font-weight: 900;
  line-height: 60px;
}

.list-item-3 {
  margin-bottom: 0;
}

.navbar-link-home {
  flex-direction: column;
  justify-content: flex-end;
  align-items: flex-end;
  margin-left: 20px;
  margin-right: 20px;
  font-size: 12px;
  font-weight: 500;
  display: flex;
}

.navbar-link-home:hover {
  color: #32b5ff;
}

.intro-text-block {
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin-top: 40px;
  display: flex;
}

.intro-details-block {
  margin-bottom: 72px;
}

.div-block-18 {
  flex-direction: column;
  flex: 1;
  width: 100%;
  margin-bottom: 32px;
  display: flex;
}

.layout-separator-line, .intro-spacer-cs {
  flex-direction: column;
  width: 100%;
  margin-bottom: 40px;
  display: flex;
}

.image-9 {
  width: 100%;
}

.case-studies-header {
  width: 100%;
  max-width: 1140px;
}

.div-block-21 {
  height: auto;
  min-height: auto;
  max-height: 790px;
}

.html-embed-4 {
  height: 790px;
  max-height: none;
}

.body-4 {
  flex-direction: column;
  align-items: center;
  display: flex;
}

.navbar-links-home {
  align-items: center;
  display: flex;
}

.navbar-link-linkedin {
  margin-left: 20px;
  margin-right: 20px;
  padding-left: 0;
  padding-right: 0;
  font-size: 12px;
}

.navbar-link-linkedin:hover {
  color: #32b5ff;
}

.div-block-23 {
  flex-direction: column;
  justify-content: center;
  width: 100%;
  display: flex;
}

.layout-architecture-title {
  text-align: center;
  margin-top: 40px;
  margin-bottom: 40px;
  display: block;
}

.sketch-caption-2 {
  flex-direction: column;
  width: 100%;
  height: 100px;
  display: flex;
}

.sketch-caption-1 {
  width: 100%;
  height: 100px;
}

.figure-caption-sketches-1, .figure-caption-sketches-2 {
  color: #6d6d6d;
  margin-top: 8px;
  font-family: Ubuntu, Helvetica, sans-serif;
  font-size: 14px;
  line-height: 20px;
}

.div-block-26 {
  margin-top: 20px;
  margin-bottom: 20px;
}

.layout-details-grid {
  flex: 1;
  width: 100%;
  padding: 0;
}

.layout-accent-text-3, .layout-accent-text-1, .layout-accent-text-2 {
  margin-bottom: 0;
}

.html-embed-5 {
  position: relative;
}

.html-embed-6 {
  text-align: left;
  overflow-wrap: normal;
  justify-content: flex-start;
  margin-bottom: 16px;
  display: flex;
}

.html-embed-7 {
  text-align: center;
  margin-bottom: 16px;
}

.conclusion-section-ux {
  width: 100%;
  max-width: 1140px;
  height: auto;
  margin-bottom: 40px;
}

.conclusion-title-ux {
  text-align: center;
}

.html-embed-8, .html-embed-9 {
  text-align: center;
  margin-bottom: 16px;
}

.div-block-27 {
  align-items: flex-start;
  display: flex;
}

.hero-section-cs {
  background-color: #000;
  background-image: url("../images/header_dynamic.svg");
  background-position: 50%;
  background-size: cover;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 560px;
  display: flex;
}

.hero-title-cs {
  outline-offset: 0px;
  color: #fff;
  -webkit-text-stroke-width: 0px;
  -webkit-text-stroke-color: white;
  overflow-wrap: normal;
  -webkit-text-fill-color: inherit;
  background-color: #000;
  background-clip: border-box;
  border: 1px #000;
  border-radius: 0;
  outline: 3px #fff;
  font-family: Montserrat, sans-serif;
  font-size: 64px;
  font-weight: 700;
  margin-top: 20px !important;
  margin-bottom: 15px !important;
}

.hero-subtitle-cs {
  color: #32b5ff !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  font-family: Montserrat, sans-serif !important;
  font-weight: 200 !important;
}

.hero-cell-left {
  justify-content: center;
}

.hero-cell-right {
  grid-column-gap: 16px;
  grid-row-gap: 16px;
  grid-template-rows: auto auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  justify-content: flex-end;
  align-items: center;
  display: block;
}

.hero-image-ux {
  word-break: normal;
  width: 100%;
  max-width: 300px;
  margin-top: 0;
  margin-left: 60px;
  position: absolute;
  overflow: hidden;
  transform: translateY(calc(var(--parallax-y, 0px) * 1.6)) !important;
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1) !important;
  will-change: transform;
}

.layout-desc-cell {
  justify-content: center;
}

.hero-image-inf {
  width: 100%;
  max-width: 480px;
  position: absolute;
  overflow: visible;
  transform: translateY(calc(var(--parallax-y, 0px) * 1.6)) !important;
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1) !important;
  will-change: transform;
}

.div-block-28 {
  max-width: 800px;
}

.hero-section-home {
  opacity: 1;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: auto;
  min-height: 100px;
  display: flex;
}

.heading-37 {
  outline-color: var(--blue_ian);
  outline-offset: 0px;
  color: #fff;
  text-align: left;
  border: 0 solid #000;
  outline-width: 3px;
  outline-style: none;
  font-style: normal;
  font-weight: 700;
}

.div-block-29 {
  background-color: #000;
  flex-direction: column;
  width: 100%;
  max-width: 100%;
  padding: 32px;
  display: flex;
}

.heading-38 {
  color: #32b5ff;
  font-family: Inter, sans-serif;
  font-size: 18px;
  font-weight: 400;
  line-height: 27px;
}

.heading-39 {
  color: #32b5ff;
  margin-top: 0;
  margin-bottom: 0;
  font-family: Inter, sans-serif;
  font-size: 18px;
  font-weight: 400;
  line-height: 27px;
}

.list-5 {
  color: #fff;
  font-family: Inter, sans-serif;
  font-size: 18px;
  font-style: italic;
  font-weight: 200;
  line-height: 27px;
}

.heading-40 {
  color: #32b5ff;
  font-family: Inter, sans-serif;
  font-size: 18px;
  font-weight: 400;
  line-height: 27px;
}

.columns {
  width: 100%;
  max-width: 1140px;
}

.grid-6 {
  grid-column-gap: 0px;
  grid-row-gap: 0px;
  grid-template: ". Area"
  / minmax(auto, 1020px);
  grid-auto-flow: column;
  max-width: 1140px;
}

.div-block-30 {
  background-image: url("../images/portfolio_header_art.png");
  background-position: 40%;
  background-size: auto;
  width: 100%;
}

.accent-highlight-3 {
  color: #fff;
  font-weight: 300;
}

.text-span-11, .text-span-12, .text-span-13, .text-span-14 {
  color: #fff;
}

.text-span-15, .text-span-16, .text-span-17 {
  color: #32b5ff;
  font-weight: 500;
}

.section-614 {
  width: 100%;
  max-width: 1140px;
  min-height: 100px;
}

.list-item-4, .list-item-5, .list-item-6 {
  font-weight: 300;
}

.heading-41 {
  color: #fff;
  text-align: center;
  margin-top: 120px;
  margin-bottom: 64px;
  font-weight: 700;
}

.accent-highlight-1, .accent-highlight-2 {
  color: #fff;
  font-weight: 300;
}

.grid-7 {
  grid-column-gap: 24px;
  grid-row-gap: 24px;
  text-align: center;
  grid-template: ". . ."
                 ". . Area"
                 ". . ."
                 / 1fr 1fr 1fr;
  place-items: center;
  max-height: none;
}

.image-12 {
  max-height: 64px;
}

.image-13 {
  max-height: 48px;
}

.image-14, .image-15 {
  max-height: 100px;
}

.image-16 {
  max-height: 32px;
}

.image-17 {
  max-height: 64px;
}

.hero-subtitle-home {
  outline-offset: 0px;
  color: #32b5ff;
  text-align: center;
  text-shadow: 0 1px 4px #000;
  outline: 3px #32b5ff;
  font-family: Inter, sans-serif;
  font-size: 32px;
  font-weight: 300;
  line-height: 48px;
}

.paragraph-13 {
  font-size: 18px;
  line-height: 27px;
}

.paragraph-14 {
  color: #32b5ff;
  font-family: Inter, sans-serif;
  font-size: 20px;
}

.live-preview-section-inf {
  flex-direction: column;
  align-items: center;
  width: 100%;
  max-width: 1140px;
  min-height: 100px;
  display: flex;
}

.live-preview-title-inf {
  text-align: center;
  margin-top: 96px;
  margin-bottom: 56px;
}

.figma-embed-wrapper {
  grid-column-gap: 16px;
  grid-row-gap: 16px;
  flex-direction: row;
  grid-template-rows: auto auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  justify-content: flex-start;
  align-items: stretch;
  width: 100%;
  max-width: 386px;
  height: auto;
  min-height: 812px;
  max-height: 812px;
  display: flex;
}

.html-embed-10 {
  flex-direction: row;
  width: 100%;
  height: auto;
  display: flex;
}

.comp_audit {
  transition: all .7s;
}

.comp_audit:hover {
  overflow: hidden;
  transform: scale(1.4);
}

.bento-section-title {
  color: #fff;
  text-transform: uppercase;
  margin-top: 100px;
  margin-bottom: 0px; /* Reduced from 100px so it groups with the bento grid (which has 32px margin-top) */
  font-weight: 400;
}

.projects {
  flex-direction: column;
  align-items: center;
  width: 100%;
  max-width: 1140px;
  display: flex;
}

.columns-2 {
  flex-direction: row;
  width: 100%;
  margin-bottom: 160px;
  display: flex;
}

.bento-card-title-lg {
  color: #fff;
}

.bento-card-desc-lg {
  color: #d2d2d2;
}

.column {
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  display: flex;
}

.bento-card-tags {
  display: flex;
}

.bento-tag-secondary {
  color: #000;
  background-color: #fff;
  margin-left: 16px;
  padding-left: 8px;
  padding-right: 8px;
  font-weight: 800;
}

.bento-tag-primary {
  color: #000;
  background-color: #fff;
  padding-left: 8px;
  padding-right: 8px;
  font-weight: 800;
}

.bento-link-primary {
  margin-top: 16px;
  font-size: 16px;
  text-decoration: underline;
}

.bento-link-primary:hover {
  color: #32b5ff;
  text-decoration: underline;
}

.columns-3 {
  width: 100%;
}

.column-2 {
  margin-bottom: 160px;
}

.bento-card-title-sm {
  color: #fff;
}

.bento-card-desc-sm {
  color: #d2d2d2;
}

.bento-link-secondary {
  margin-top: 16px;
  font-size: 16px;
  text-decoration: underline;
}

.bento-link-secondary:hover {
  color: #32b5ff;
}

.column-3 {
  flex-direction: column;
  justify-content: center;
  padding-left: 24px;
  display: flex;
}

.image-18 {
  max-height: 64px;
}

.section-616 {
  justify-content: flex-end;
  width: 100%;
  max-width: 1140px;
  display: flex;
}

.bento-card-title-alt {
  color: #fff;
}

.bento-card-desc-alt {
  color: #d2d2d2;
}

.columns-4 {
  flex-flow: row;
  align-items: center;
  display: flex;
}

.link-6 {
  font-size: 16px;
}

.bento-link-tertiary {
  margin-top: 16px;
  margin-bottom: 40px;
  font-size: 16px;
  text-decoration: underline;
}

.bento-link-tertiary:hover {
  color: #32b5ff;
}

.column-4 {
  padding-left: 24px;
}

.intro-title-inf {
  text-align: center;
  margin-bottom: 64px;
}

.hero-content-home {
  z-index: 10;
  background-color: #0000;
  width: 100%;
  max-width: 1140px;
  padding: 32px;
  position: relative;
}

.background-video {
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  max-width: 1140px;
  display: flex;
  position: relative;
  overflow: hidden;
}

.container-5 {
  background-color: #0000;
  flex-direction: row;
  justify-content: flex-start;
  align-items: flex-start;
  width: 100%;
  max-width: 1140px;
  min-height: 20px;
  display: flex;
}

.hero-title-home {
  z-index: 0;
  color: var(--white);
  text-align: center;
  -webkit-text-stroke-width: 0px;
  -webkit-text-stroke-color: var(--black);
  text-shadow: 0 1px 4px var(--black);
  white-space: nowrap;
  word-break: normal;
  overflow-wrap: normal;
  mix-blend-mode: normal;
  margin-bottom: 40px;
  font-family: Montserrat, sans-serif;
  font-size: 140px;
  font-weight: 100;
  line-height: 120px;
  position: relative;
  top: auto;
  left: auto;
  overflow: hidden;
}

.photography-title {
  color: #fff;
  margin-top: 100px;
  margin-bottom: 100px;
}

.photography-section {
  flex-direction: column;
  align-items: center;
  width: 100%;
  max-width: 1140px;
  display: flex;
}

.photography-grid {
  grid-row-gap: 16px;
  grid-template: "Area-2 Area-3 Area-3" minmax(auto, 14em)
                 "Area-2 Area-3 Area-3" minmax(auto, 14em)
                 "Area-2 Area-4 Area-6" minmax(auto, 14em)
                 "Area-2 Area-4 Area-6" minmax(auto, 14em)
                 "Area-7 Area-7 Area-5" minmax(auto, 14em)
                 "Area-8 Area-8 Area-5" minmax(auto, 14em)
                 "Area-8 Area-8 Area-5" minmax(auto, 14em)
                 / minmax(200px, 1fr) minmax(200px, 1fr) minmax(200px, 1fr);
  grid-auto-flow: row;
  width: 100%;
  max-width: 1140px;
}

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

.link-block {
  display: block;
}

.image-20 {
  object-fit: cover;
  width: 100%;
  height: 100%;
  max-height: 100%;
}

.image-21, .image-22, .image-23, .image-24 {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.image-25 {
  width: 100%;
  height: 100%;
}

.photo-img-ficus {
  filter: grayscale();
  object-fit: cover;
  width: 100%;
  height: 100%;
  transition: all .8s ease-in-out;
}

.photo-img-ficus:hover {
  filter: grayscale(0%);
}

.photo-img-tree {
  filter: grayscale();
  object-fit: cover;
  width: 100%;
  height: 100%;
  transition: all .8s ease-in-out;
}

.photo-img-tree:hover {
  filter: grayscale(0%);
}

.photo-img-corridor {
  filter: grayscale();
  object-fit: cover;
  width: 100%;
  height: 100%;
  transition: all .8s ease-in-out;
}

.photo-img-corridor:hover {
  filter: grayscale(0%);
}

.photo-img-scarf {
  filter: grayscale();
  object-fit: cover;
  width: 100%;
  height: 100%;
  transition: all .8s ease-in-out;
}

.photo-img-scarf:hover {
  filter: grayscale(0%);
}

.photo-img-model {
  filter: grayscale();
  object-fit: cover;
  width: 100%;
  height: 100%;
  transition: all .8s ease-in-out;
}

.photo-img-model:hover {
  filter: grayscale(0%);
}

.photo-img-sax {
  filter: grayscale();
  object-fit: cover;
  width: 100%;
  height: 100%;
  transition: all .8s ease-in-out;
}

.photo-img-sax:hover {
  filter: grayscale(0%);
}

.photo-img-camera {
  filter: grayscale();
  object-fit: cover;
  width: 100%;
  height: 100%;
  transition: all .8s ease-in-out;
}

.photo-img-camera:hover {
  filter: grayscale(0%);
}

/* Photography Grid Parallax overrides */
.photography-grid a.w-lightbox {
  overflow: hidden !important;
  display: block !important;
  position: relative !important;
}

.photography-grid img {
  transform: scale(1.15) translateY(var(--parallax-y, 0px)) !important;
  transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1), filter 0.8s ease-in-out !important;
  will-change: transform;
}

.photography-grid a.w-lightbox:hover img {
  transform: scale(1.22) translateY(var(--parallax-y, 0px)) !important;
  filter: grayscale(0%) !important;
}

.ai-art-title {
  color: #fff;
  margin-top: 100px;
  margin-bottom: 100px;
}

.ai-art-section {
  justify-content: center;
  width: 100%;
  max-width: 1140px;
  display: none;
}

.link-8 {
  color: #616161;
  text-decoration: underline;
  display: inline;
  position: relative;
}

.survey-graphs-grid {
  grid-template-rows: auto auto auto auto auto;
}

.columns-3-copy {
  width: 100%;
}

@media screen and (max-width: 991px) {
  .styleguide-block {
    text-align: center;
  }

  .heading-jumbo {
    font-size: 56px;
    line-height: 70px;
  }

  .content-section-cs {
    margin-left: 0;
    margin-right: 0;
    padding-left: 30px;
    padding-right: 30px;
  }

  .content-section-cs.cc-contact {
    padding-left: 0;
    padding-right: 0;
  }

  .button {
    justify-content: center;
  }

  .logo-link.w--current {
    flex: 1;
  }

  .menu-icon {
    display: block;
  }

  .navigation-item {
    text-align: center;
    padding: 15px 30px;
    transition: background-color .4s, opacity .4s, color .4s;
  }

  .navigation-item:hover {
    background-color: #f7f8f9;
  }

  .navigation-item:active {
    background-color: #eef0f3;
  }

  .navbar-inner-cs {
    background-color: #fff;
  }

  .navbar-case-study {
    padding: 25px 30px;
  }

  .menu-button {
    padding: 0;
  }

  .menu-button.w--open {
    background-color: #0000;
  }

  .navbar-wrap-cs {
    margin-right: 0;
  }

  .position-name-text {
    text-align: center;
    display: block;
  }

  .work-experience-grid {
    grid-template: ". ."
                   ". ."
                   / 1fr 1fr;
  }

  .works-grid {
    flex-direction: column;
    align-items: stretch;
    display: flex;
  }

  .carrer-headline-wrap {
    width: auto;
  }

  .work-image {
    margin-bottom: 30px;
  }

  .contact {
    width: auto;
    padding: 30px 50px 40px;
  }

  .contact-headline, .contact-form-wrap {
    width: 100%;
  }

  .about-intro-grid {
    grid-row-gap: 50px;
    text-align: center;
    grid-template: "."
                   "."
                   / 1fr;
  }

  .about-head-text-wrap {
    width: 80%;
    margin-left: auto;
    margin-right: auto;
  }

  .service-name-text {
    font-size: 24px;
    line-height: 42px;
  }

  .skillset-wrap {
    padding-right: 0;
  }

  .services-items-grid {
    grid-row-gap: 0px;
    grid-template: "."
                   "."
                   / 1fr;
    padding-top: 0;
  }

  .skills-grid {
    grid-row-gap: 50px;
    text-align: center;
    grid-template: "."
                   "."
                   / 1fr;
    width: 80%;
    margin-left: auto;
    margin-right: auto;
  }

  .personal-features-grid {
    text-align: center;
    grid-template: "."
                   "."
                   "."
                   "."
                   / 1fr;
    width: 80%;
    margin-left: auto;
    margin-right: auto;
  }

  .social-media-heading {
    text-align: center;
    width: 80%;
    margin-left: auto;
    margin-right: auto;
  }

  .social-media-grid {
    grid-template: ". ."
                   ". ."
                   ". ."
                   ". ."
                   / 1fr 1fr;
  }

  .project-overview-grid {
    grid-row-gap: 50px;
    text-align: center;
    grid-template: "."
                   "."
                   "."
                   / 1fr;
    width: 70%;
    margin-left: auto;
    margin-right: auto;
  }

  .project-description-grid {
    grid-row-gap: 50px;
    text-align: center;
    grid-template: "."
                   "."
                   / 1fr;
    width: 80%;
    margin-left: auto;
    margin-right: auto;
  }

  .email-section {
    margin-bottom: 160px;
  }

  .email-link {
    font-size: 36px;
    line-height: 54px;
  }

  .section-7 {
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
  }

  .navbar-inner-home {
    max-width: 728px;
  }

  .nav-menu-wrapper {
    background-color: #0000;
  }

  .nav-menu-two {
    background-color: #fff;
    border-radius: 50px;
    flex-wrap: wrap;
    justify-content: space-around;
    align-items: center;
    margin-top: 10px;
    padding: 20px;
    display: flex;
    box-shadow: 0 8px 50px #0000000d;
  }

  .nav-link {
    padding-left: 5px;
    padding-right: 5px;
  }

  .nav-dropdown-list.shadow-three.w--open {
    position: absolute;
  }

  .menu-button-2 {
    padding: 12px;
  }

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

  .hero-title-cs {
    text-align: center;
  }

  .hero-cell-left {
    align-items: center;
  }

  .hero-cell-right {
    text-align: center;
    display: flex;
  }

  .hero-image-ux {
    text-align: center;
    max-width: 160px;
    margin-left: 0;
    position: relative;
    transform: none !important;
  }

  .hero-image-inf {
    max-width: 300px;
    position: relative;
    transform: none !important;
  }

  .hero-subtitle-home {
    font-size: 26px;
    line-height: 39px;
  }

  .columns-2 {
    margin-top: 60px;
    margin-bottom: 0;
  }

  .columns-4 {
    margin-top: 60px;
  }

  .hero-title-home {
    font-size: 80px;
    line-height: 80px;
  }

  .photography-grid {
    flex-flow: column;
    grid-template-columns: minmax(200px, 1fr);
    display: flex;
  }

  .ai-art-section, .icon {
    display: none;
  }
}

@media screen and (max-width: 767px) {
  .heading-jumbo-small {
    font-size: 30px;
    line-height: 52px;
  }

  .rich-text {
    text-align: left;
    width: 90%;
    max-width: 470px;
  }

  .container {
    text-align: center;
  }

  .heading-jumbo {
    font-size: 50px;
    line-height: 64px;
  }

  .content-section-cs {
    margin-left: 0;
    margin-right: 0;
    padding-left: 30px;
    padding-right: 30px;
  }

  .content-section-cs.cc-contact {
    padding: 15px;
  }

  .paragraph-bigger {
    font-size: 16px;
    line-height: 28px;
  }

  .logo-link {
    padding-left: 0;
  }

  .navbar-case-study {
    padding: 20px 30px;
  }

  .work-experience-grid {
    flex-direction: column;
    align-items: center;
    display: flex;
  }

  .work-position-wrap {
    margin-bottom: 40px;
  }

  .project-name-link {
    font-size: 16px;
    line-height: 28px;
  }

  .text-field.cc-textarea {
    text-align: left;
  }

  .contact {
    padding-left: 30px;
    padding-right: 30px;
  }

  .contact-form-grid {
    grid-column-gap: 30px;
    grid-template: "."
                   "."
                   "."
                   / 1fr;
  }

  .contact-form {
    flex-direction: column;
    display: flex;
  }

  .contact-form-wrap {
    text-align: left;
  }

  .footer-wrap {
    text-align: center;
    flex-direction: column;
  }

  .webflow-link {
    margin-bottom: 15px;
  }

  .footer-links {
    flex-direction: column;
  }

  .footer-item {
    margin-top: 10px;
    margin-bottom: 10px;
    margin-left: 0;
  }

  .about-head-text-wrap {
    width: 70%;
    max-width: 470px;
  }

  .skills-grid {
    grid-template-columns: 1fr;
    width: 70%;
    max-width: 470px;
  }

  .personal-features-grid, .social-media-heading {
    width: 70%;
    max-width: 470px;
  }

  .social-media-grid {
    grid-column-gap: 15px;
    grid-row-gap: 15px;
    grid-template-columns: 1fr 1fr;
  }

  .project-overview-grid {
    width: 80%;
    max-width: 470px;
    margin-top: 90px;
    margin-bottom: 95px;
  }

  .project-description-grid {
    width: 70%;
    max-width: 470px;
    margin-top: 90px;
    margin-bottom: 85px;
  }

  .detail-image {
    margin-bottom: 15px;
  }

  .email-section {
    width: 80%;
    max-width: 470px;
    margin-top: 120px;
    margin-bottom: 120px;
  }

  .email-link {
    font-size: 36px;
    line-height: 54px;
  }

  .utility-page-wrap {
    padding: 15px;
  }

  ._404-wrap {
    padding: 30px;
  }

  .navbar-home {
    max-width: 100%;
  }

  .navbar-brand {
    padding-left: 0;
  }

  .nav-menu-two {
    border-radius: 20px;
    flex-direction: column;
    padding-bottom: 30px;
  }

  .nav-link {
    padding-top: 10px;
    padding-bottom: 10px;
    display: inline-block;
  }

  .nav-dropdown {
    flex-direction: column;
    align-items: center;
    display: flex;
  }

  .nav-dropdown-toggle {
    padding-top: 10px;
    padding-bottom: 10px;
  }

  .nav-dropdown-list.shadow-three {
    box-shadow: 0 8px 50px #0000000d;
  }

  .nav-dropdown-list.shadow-three.w--open {
    position: relative;
  }

  .nav-dropdown-list.shadow-three.mobile-shadow-hide {
    box-shadow: none;
  }

  .nav-divider {
    width: 200px;
    max-width: 100%;
    height: 1px;
    margin-top: 10px;
    margin-bottom: 10px;
  }

  .nav-link-accent {
    margin-right: 5px;
    padding-top: 10px;
    padding-bottom: 10px;
    display: inline-block;
  }

  .mobile-margin-top-10 {
    margin-top: 10px;
  }

  .heading-32 {
    font-size: 16px;
    line-height: 24px;
  }

  .layout-details-grid {
    float: none;
    object-fit: fill;
  }

  .conclusion-section-ux {
    padding-left: 30px;
    padding-right: 30px;
  }

  .hero-subtitle-cs {
    flex-direction: row;
    justify-content: center;
    display: flex;
  }

  .hero-cell-left {
    flex-direction: column;
    align-items: center;
  }

  .hero-cell-right {
    flex-flow: column;
    place-content: center;
    align-items: center;
  }

  .hero-image-ux {
    margin-left: 0;
  }

  .hero-columns-ux {
    text-align: center;
  }

  .columns-2 {
    flex-flow: column-reverse;
  }

  .bento-card-title-lg {
    text-align: center;
    justify-content: center;
    align-self: stretch;
    margin-bottom: 40px;
    display: block;
  }

  .column {
    margin-top: 40px;
    padding-left: 24px;
    padding-right: 24px;
  }

  .column-2 {
    margin-bottom: 0;
  }

  .bento-card-title-sm {
    text-align: center;
    margin-bottom: 40px;
  }

  .column-3 {
    margin-top: 40px;
    padding-right: 24px;
  }

  .bento-card-title-alt {
    text-align: center;
    margin-bottom: 40px;
  }

  .columns-4 {
    flex-flow: column;
  }

  .column-4 {
    margin-top: 40px;
    padding-right: 24px;
  }

  .hero-title-home {
    font-size: 60px;
    line-height: 90px;
  }

  .photography-title {
    margin-bottom: 40px;
  }

  .ai-art-title {
    color: #000;
  }

  .ai-art-section {
    display: none;
  }

  .image-34, .image-35 {
    width: 100%;
    margin-top: 60px;
  }

  .icon {
    display: none;
  }
}

@media screen and (max-width: 479px) {
  .rich-text {
    width: 100%;
    max-width: none;
  }

  .heading-jumbo {
    font-size: 36px;
    line-height: 48px;
  }

  .navbar-case-study {
    padding-left: 20px;
    padding-right: 20px;
  }

  .menu-button, .menu-button.w--open {
    flex: none;
  }

  .intro-wrap {
    flex-direction: column;
  }

  .contact {
    padding-left: 15px;
    padding-right: 15px;
  }

  .contact-form, .contact-form-wrap, .footer-wrap {
    flex-direction: column;
  }

  .about-head-text-wrap {
    width: 100%;
    max-width: none;
  }

  .skills-grid {
    grid-template-columns: 1fr;
    width: 100%;
    max-width: none;
  }

  .personal-features-grid, .social-media-heading, .project-overview-grid, .project-description-grid {
    width: 100%;
    max-width: none;
  }

  .email-section {
    flex-direction: column;
    align-items: center;
    width: 100%;
    max-width: none;
    display: flex;
  }

  .email-link {
    font-size: 30px;
    line-height: 46px;
  }

  .case-studies-grid {
    grid-template-rows: minmax(auto, 64vw) minmax(auto, 64vw);
    grid-template-columns: 1fr;
  }

  .grid-5 {
    grid-auto-flow: row;
    display: flex;
  }

  .navbar-inner-home {
    max-width: none;
  }

  .nav-menu-two {
    flex-direction: column;
  }

  .heading-32 {
    font-size: 18px;
  }

  .hero-title-cs {
    font-size: 30px;
  }

  .hero-subtitle-cs {
    font-size: 20px;
  }

  .hero-cell-left {
    align-items: center;
  }

  .hero-image-ux {
    margin-left: 0;
  }

  .hero-image-inf {
    max-width: 280px;
  }

  .hero-subtitle-home {
    font-size: 24px;
    line-height: 36px;
  }

  .bento-section-title {
    margin-bottom: 48px;
  }

  .columns-2 {
    flex-flow: column-reverse;
    justify-content: flex-end;
    align-self: stretch;
    margin-bottom: 0;
    padding-bottom: 40px;
  }

  .bento-card-title-lg {
    text-align: center;
    justify-content: center;
    align-self: flex-start;
    width: 100%;
    margin-bottom: 20px;
    display: flex;
    position: static;
  }

  .bento-card-desc-lg {
    align-self: flex-start;
  }

  .column {
    text-align: center;
    flex-flow: column;
    justify-content: center;
    align-self: flex-start;
    align-items: center;
    margin-top: 40px;
    margin-bottom: 40px;
    padding-left: 24px;
    padding-right: 24px;
  }

  .bento-card-tags {
    text-align: center;
    flex-flow: row;
    justify-content: center;
  }

  .bento-tag-secondary, .bento-tag-primary {
    font-size: 14px;
  }

  .bento-link-primary {
    text-align: center;
  }

  .columns-3 {
    clear: none;
    flex-flow: column;
    justify-content: center;
    align-self: center;
    display: flex;
    position: static;
  }

  .column-2 {
    margin-bottom: 0;
  }

  .bento-card-title-sm {
    text-align: center;
    margin-bottom: 20px;
  }

  .bento-card-desc-sm, .bento-link-secondary {
    text-align: center;
  }

  .column-3 {
    padding-right: 24px;
  }

  .bento-card-title-alt {
    text-align: center;
    margin-bottom: 20px;
  }

  .columns-4 {
    flex-flow: column;
  }

  .column-4 {
    flex-flow: column;
    align-self: center;
    margin-top: 40px;
    padding-right: 24px;
    display: flex;
  }

  .hero-title-home {
    text-transform: none;
    white-space: normal;
    word-break: normal;
    overflow-wrap: break-word;
    font-size: 36px;
    line-height: 54px;
  }

  .photography-title {
    margin-bottom: 20px;
  }

  .photography-section {
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
  }

  .photography-grid {
    grid-column-gap: 0px;
    grid-row-gap: 0px;
    flex-direction: column;
    grid-template: "Area-2" minmax(auto, 14em)
                   "Area"
                   "Area-3"
                   / 1.5fr;
    grid-auto-columns: 1fr;
    grid-auto-flow: column;
    place-content: center;
    place-items: center;
    display: flex;
  }

  .ai-art-title {
    color: var(--black);
  }

  .ai-art-section {
    display: none;
  }

  .image-33 {
    margin-bottom: 20px;
  }

  .image-34, .image-35 {
    margin-top: 60px;
    padding-bottom: 20px;
  }

  .icon {
    display: none;
  }

  .survey-graphs-grid {
    grid-template-rows: auto auto auto auto auto auto auto auto auto auto;
    grid-template-columns: 1fr;
  }

  .columns-3-copy {
    clear: none;
    flex-flow: column;
    justify-content: center;
    align-self: center;
    display: flex;
    position: static;
  }
}

#w-node-_3abb57d3-165d-d6ef-8307-416c16514aed-a0bc5dc2 {
  grid-area: Area-5;
}

#w-node-_2e3f0769-c816-6868-f6c4-5ca72cfdce88-a0bc5dc2 {
  grid-area: Area-3;
}

#w-node-_96967930-76f8-6876-6722-fdcc5cfa52eb-a0bc5dc2 {
  grid-area: Area-4;
}

#w-node-e38f96be-3dad-f4fe-e8f1-7930fa75631d-a0bc5dc2 {
  grid-area: Area-6;
}

#w-node-_1161d3ec-49fb-77bf-c434-75068fea3836-a0bc5dc2 {
  grid-area: Area-2;
}

#w-node-dac931a4-5f7a-2b95-9a77-1e07d7a5f42a-a0bc5dc2 {
  grid-area: Area-8;
}

#w-node-_98334322-7f7f-6dc5-1e39-b3567d06c42f-a0bc5dc2 {
  grid-area: Area-7;
}

#w-node-_9b2922ad-09b1-aebb-0430-7dee623c62c1-a0bc5dc5 {
  grid-area: 1 / 1 / 2 / 2;
}

#w-node-_9b2922ad-09b1-aebb-0430-7dee623c62c8-a0bc5dc5 {
  grid-area: 1 / 2 / 2 / 3;
}

#w-node-dac044b7-be90-60f3-414d-4224828ffd8a-a0bc5dc5 {
  grid-area: 1 / 1 / 2 / 2;
}

#w-node-dac044b7-be90-60f3-414d-4224828ffd8f-a0bc5dc5 {
  grid-area: 1 / 2 / 2 / 3;
}

#w-node-dac044b7-be90-60f3-414d-4224828ffd90-a0bc5dc5 {
  grid-area: 1 / 1 / 2 / 2;
}

#w-node-dac044b7-be90-60f3-414d-4224828ffd99-a0bc5dc5 {
  grid-area: 1 / 2 / 2 / 3;
}

#w-node-dac044b7-be90-60f3-414d-4224828ffda1-a0bc5dc5 {
  grid-area: 1 / 1 / 2 / 2;
}

#w-node-dac044b7-be90-60f3-414d-4224828ffda6-a0bc5dc5 {
  grid-area: 2 / 1 / 3 / 2;
}

#w-node-dac044b7-be90-60f3-414d-4224828ffdd8-a0bc5dc5 {
  grid-area: 2 / 2 / 3 / 3;
}

#w-node-dac044b7-be90-60f3-414d-4224828ffe12-a0bc5dc5 {
  grid-area: 1 / 2 / 2 / 3;
}

#w-node-_76ba38e4-2715-c796-e82b-8239d41d1e9d-a0bc5dc5, #w-node-_76ba38e4-2715-c796-e82b-8239d41d1e9d-a0bc5dc5:active {
  grid-area: 1 / 1 / 2 / 2;
}

#w-node-_76ba38e4-2715-c796-e82b-8239d41d1e9e-a0bc5dc5 {
  grid-area: 2 / 2 / 3 / 3;
}

#w-node-_76ba38e4-2715-c796-e82b-8239d41d1e9f-a0bc5dc5 {
  grid-area: 1 / 2 / 2 / 3;
}

#w-node-_76ba38e4-2715-c796-e82b-8239d41d1ea0-a0bc5dc5 {
  grid-area: 2 / 1 / 3 / 2;
}

#w-node-_76ba38e4-2715-c796-e82b-8239d41d1ea1-a0bc5dc5 {
  grid-area: 1 / 3 / 2 / 4;
}

#w-node-_76ba38e4-2715-c796-e82b-8239d41d1ea2-a0bc5dc5 {
  grid-area: 1 / 4 / 2 / 5;
}

#w-node-_76ba38e4-2715-c796-e82b-8239d41d1ea3-a0bc5dc5 {
  grid-area: 2 / 3 / 3 / 4;
}

#w-node-_76ba38e4-2715-c796-e82b-8239d41d1ea4-a0bc5dc5 {
  grid-area: 2 / 4 / 3 / 5;
}

#w-node-d783a17e-0b35-a13a-0448-a852d0df4a32-d0df4a24 {
  grid-area: 1 / 1 / 2 / 2;
}

#w-node-d783a17e-0b35-a13a-0448-a852d0df4a36-d0df4a24 {
  grid-area: 1 / 2 / 2 / 3;
}

#w-node-d783a17e-0b35-a13a-0448-a852d0df4a3a-d0df4a24 {
  grid-area: 2 / 1 / 3 / 3;
}

#w-node-_0befc76b-828c-2822-f9fa-f2c6de040bbf-a0bc5dc8 {
  grid-area: 1 / 1 / 2 / 4;
}

#w-node-_0befc76b-828c-2822-f9fa-f2c6de040bc4-a0bc5dc8 {
  grid-area: 2 / 1 / 3 / 3;
}

#w-node-_0befc76b-828c-2822-f9fa-f2c6de040bc9-a0bc5dc8 {
  grid-area: 2 / 3 / 3 / 5;
}

#w-node-d3f75b54-d55b-33f4-ea3a-c91966061c52-a0bc5dc8, #w-node-_4298aecc-4e07-9881-d37b-c7f7e179e3cc-a0bc5dc8 {
  grid-area: span 1 / span 1 / span 1 / span 1;
}

#w-node-d6880bbf-6c5d-6025-c8f5-c412a5bef7fd-a0bc5dc8 {
  grid-template-rows: auto;
  grid-template-columns: 1fr;
}

#w-node-_4c90c937-343a-9cfe-2eca-aab02d082fa9-a0bc5dc8 {
  grid-template-rows: auto;
  grid-template-columns: .25fr 1.75fr;
}

#w-node-_65b5b9b1-a473-e570-04d3-c8c6c74eec7a-a0bc5dc8, #w-node-_1139903a-4a6f-406d-a5f7-ef77d03849da-d03849d8 {
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr;
}

#w-node-_0befc76b-828c-2822-f9fa-f2c6de040bbf-a0bc5dc9 {
  grid-area: 1 / 1 / 2 / 4;
}

#w-node-_0befc76b-828c-2822-f9fa-f2c6de040bc4-a0bc5dc9 {
  grid-area: 2 / 1 / 3 / 3;
}

#w-node-_0befc76b-828c-2822-f9fa-f2c6de040bc9-a0bc5dc9 {
  grid-area: 2 / 3 / 3 / 5;
}

#w-node-_0befc76b-828c-2822-f9fa-f2c6de040bbf-a0bc5dca {
  grid-area: 1 / 1 / 2 / 4;
}

#w-node-_0befc76b-828c-2822-f9fa-f2c6de040bc4-a0bc5dca {
  grid-area: 2 / 1 / 3 / 3;
}

#w-node-_0befc76b-828c-2822-f9fa-f2c6de040bc9-a0bc5dca {
  grid-area: 2 / 3 / 3 / 5;
}

#w-node-b915ad84-715b-fc9d-8156-ee63d52fd22b-a0bc5dca {
  grid-area: 1 / 2 / 2 / 3;
}

#w-node-_1f85730f-9889-a71b-9be8-c086a8d10760-a0bc5dca {
  grid-area: 1 / 1 / 2 / 2;
}

#w-node-_0befc76b-828c-2822-f9fa-f2c6de040bc4-1ad9e3d5 {
  grid-area: 2 / 1 / 3 / 3;
}

#w-node-_0befc76b-828c-2822-f9fa-f2c6de040bc9-1ad9e3d5 {
  grid-area: 2 / 3 / 3 / 5;
}

#w-node-b915ad84-715b-fc9d-8156-ee63d52fd223-1ad9e3d5 {
  grid-area: 1 / 1 / 2 / 2;
}

#w-node-f23d3350-2b95-6840-f640-7ca732bb5e65-1ad9e3d5 {
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr;
}

#w-node-_9a056c33-1f11-f3f9-f10e-e454f39d2e19-1ad9e3d5 {
  grid-area: span 1 / span 1 / span 1 / span 1;
}

#w-node-a9c07d09-2772-9e83-5de7-1edb3caee8e2-3caee8e0 {
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr;
}

@media screen and (max-width: 991px) {
  #w-node-_9b2922ad-09b1-aebb-0430-7dee623c62c8-a0bc5dc5, #w-node-dac044b7-be90-60f3-414d-4224828ffd8f-a0bc5dc5, #w-node-dac044b7-be90-60f3-414d-4224828ffd99-a0bc5dc5 {
    grid-area: 2 / 1 / 3 / 2;
  }

  #w-node-dac044b7-be90-60f3-414d-4224828ffdd8-a0bc5dc5 {
    grid-area: 4 / 1 / 5 / 2;
  }

  #w-node-dac044b7-be90-60f3-414d-4224828ffe12-a0bc5dc5 {
    grid-area: 3 / 1 / 4 / 2;
  }

  #w-node-_76ba38e4-2715-c796-e82b-8239d41d1e9e-a0bc5dc5 {
    grid-area: 3 / 2 / 4 / 3;
  }

  #w-node-_76ba38e4-2715-c796-e82b-8239d41d1ea0-a0bc5dc5 {
    grid-area: 3 / 1 / 4 / 2;
  }

  #w-node-_76ba38e4-2715-c796-e82b-8239d41d1ea1-a0bc5dc5 {
    grid-area: 2 / 1 / 3 / 2;
  }

  #w-node-_76ba38e4-2715-c796-e82b-8239d41d1ea2-a0bc5dc5 {
    grid-area: 2 / 2 / 3 / 3;
  }

  #w-node-_76ba38e4-2715-c796-e82b-8239d41d1ea3-a0bc5dc5 {
    grid-area: 4 / 1 / 5 / 2;
  }

  #w-node-_76ba38e4-2715-c796-e82b-8239d41d1ea4-a0bc5dc5 {
    grid-area: 4 / 2 / 5 / 3;
  }

  #w-node-_0befc76b-828c-2822-f9fa-f2c6de040bbf-a0bc5dc8 {
    grid-area: 1 / 1 / 2 / 2;
  }

  #w-node-_0befc76b-828c-2822-f9fa-f2c6de040bc4-a0bc5dc8 {
    grid-column-end: 2;
  }

  #w-node-_0befc76b-828c-2822-f9fa-f2c6de040bc9-a0bc5dc8 {
    grid-area: 3 / 1 / 4 / 2;
  }

  #w-node-_1139903a-4a6f-406d-a5f7-ef77d03849da-d03849d8 {
    grid-template-rows: auto;
    grid-template-columns: 1fr;
  }

  #w-node-_0befc76b-828c-2822-f9fa-f2c6de040bbf-a0bc5dc9 {
    grid-area: 1 / 1 / 2 / 2;
  }

  #w-node-_0befc76b-828c-2822-f9fa-f2c6de040bc4-a0bc5dc9 {
    grid-column-end: 2;
  }

  #w-node-_0befc76b-828c-2822-f9fa-f2c6de040bc9-a0bc5dc9 {
    grid-area: 3 / 1 / 4 / 2;
  }

  #w-node-_0befc76b-828c-2822-f9fa-f2c6de040bbf-a0bc5dca {
    grid-area: 1 / 1 / 2 / 2;
  }

  #w-node-_0befc76b-828c-2822-f9fa-f2c6de040bc4-a0bc5dca {
    grid-column-end: 2;
  }

  #w-node-_0befc76b-828c-2822-f9fa-f2c6de040bc9-a0bc5dca {
    grid-area: 3 / 1 / 4 / 2;
  }

  #w-node-b915ad84-715b-fc9d-8156-ee63d52fd22b-a0bc5dca {
    grid-area: 2 / 1 / 3 / 2;
  }

  #w-node-_1f85730f-9889-a71b-9be8-c086a8d10760-a0bc5dca {
    grid-area: 1 / 1 / 2 / 2;
  }

  #w-node-_0befc76b-828c-2822-f9fa-f2c6de040bc4-1ad9e3d5 {
    grid-column-end: 2;
  }

  #w-node-_0befc76b-828c-2822-f9fa-f2c6de040bc9-1ad9e3d5 {
    grid-area: 3 / 1 / 4 / 2;
  }

  #w-node-a9c07d09-2772-9e83-5de7-1edb3caee8e2-3caee8e0 {
    grid-template-rows: auto;
    grid-template-columns: 1fr;
  }
}

@media screen and (max-width: 767px) {
  #w-node-d783a17e-0b35-a13a-0448-a852d0df4a36-d0df4a24 {
    grid-area: 2 / 1 / 3 / 2;
  }

  #w-node-d783a17e-0b35-a13a-0448-a852d0df4a3a-d0df4a24 {
    grid-area: 3 / 1 / 4 / 2;
  }

  #w-node-f23d3350-2b95-6840-f640-7ca732bb5e65-1ad9e3d5 {
    grid-template-rows: auto;
    grid-template-columns: 1fr;
    display: grid;
  }
}

@media screen and (max-width: 479px) {
  #w-node-d6880bbf-6c5d-6025-c8f5-c412a5bef7fd-a0bc5dc8 {
    grid-template-rows: auto;
    grid-template-columns: 1fr;
  }

  #w-node-d6880bbf-6c5d-6025-c8f5-c412a5bef7fe-a0bc5dc8 {
    grid-area: span 1 / span 1 / span 1 / span 1;
  }
}


/* ==========================================================================
   Custom Spacing Normalization for UX Spacing Scale and Consistent Rhythm
   ========================================================================== */

/* 1. Normalize vertical margins of content blocks & grid sections */
.section, 
.case-studies-section,
.survey-graphs-section, 
.persona-validation-section, 
.validated-personas-section, 
.audit-conclusions-section, 
.sitemap-section,
.interface-dev-section, 
.interface-v2-section, 
.interface-v3-section, 
.conclusion-section-inf, 
.visual-direction-section,
.live-preview-header-ux,
.case-studies-header,
.content-section-cs,
.conclusion-section-ux,
.photography-section,
.ai-art-section,
.projects {
  margin-top: 48px !important;
  margin-bottom: 48px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* 2. Responsive 64px vertical rhythm spacing on tablet/desktop */
@media (min-width: 768px) {
  .section, 
  .case-studies-section,
  .survey-graphs-section, 
  .persona-validation-section, 
  .validated-personas-section, 
  .audit-conclusions-section, 
  .sitemap-section,
  .interface-dev-section, 
  .interface-v2-section, 
  .interface-v3-section, 
  .conclusion-section-inf, 
  .visual-direction-section,
  .live-preview-header-ux,
  .case-studies-header,
  .content-section-cs,
  .conclusion-section-ux,
  .photography-section,
  .ai-art-section,
  .projects {
    margin-top: 64px !important;
    margin-bottom: 64px !important;
  }
}

/* 3. Standardize Typography Margins to follow 8px Grid guidelines */
h1, h2, h3, h4, h5, h6 {
  margin-top: 24px !important;
  margin-bottom: 16px !important;
}

p {
  margin-top: 0 !important;
  margin-bottom: 16px !important;
}

p:last-child {
  margin-bottom: 0 !important;
}

/* 4. Hide empty layout spacers that bypass default checks */
.div-block-8:empty,
.intro-spacer-cs:empty,
.div-block-23:empty,
.sketch-caption-2:empty,
.div-block-26:empty,
.div-block-4:empty,
.content-section-cs:empty {
  display: none !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}


/* ==========================================================================
   Blueprint Gridlines & Scroll Reveal Transitions Styling
   ========================================================================== */

/* 1. Technical Spacing Gridlines (Blueprint Style) */
.navbar-home, .navbar-case-study {
  border-bottom: 1px solid rgba(255, 255, 255, 0.2) !important; /* Increased visibility */
}
.ux-report-body .navbar-case-study {
  border-bottom: 1px solid rgba(0, 0, 0, 0.15) !important; /* Increased visibility */
}
.infinity-art-body .navbar-case-study {
  border-bottom: 1px solid rgba(0, 0, 0, 0.15) !important; /* Increased visibility */
}

/* Case study projects sitemap grid */
.w-layout-grid.case-studies-grid {
  border-top: none;
  border-bottom: none;
  padding: 40px 0 !important;
}

/* Thin separators for projects rows on Home page */
.projects .w-row {
  border-bottom: 1px solid rgba(255, 255, 255, 0.18); /* Increased visibility */
  padding: 48px 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
.projects .w-row:last-child {
  border-bottom: none;
}

/* 1b. Crisp section dividers inside Case Studies layout */
.ux-report-body .live-preview-content-ux, .ux-report-body .visual-divider-section, .ux-report-body .empathy-map-section, .ux-report-body .survey-graphs-section, .ux-report-body .persona-validation-section, .ux-report-body .validated-personas-section, .ux-report-body .audit-conclusions-section, .ux-report-body .sitemap-section, .ux-report-body .interface-dev-section, .ux-report-body .interface-v2-section, .ux-report-body .interface-v3-section, .ux-report-body .conclusion-section-inf, .ux-report-body .visual-direction-section, .ux-report-body .live-preview-header-ux, .ux-report-body .content-section-cs, .ux-report-body .conclusion-section-ux, .ux-report-body .live-preview-section-inf,
.infinity-art-body .live-preview-content-ux, .infinity-art-body .visual-divider-section, .infinity-art-body .empathy-map-section, .infinity-art-body .survey-graphs-section, .infinity-art-body .persona-validation-section, .infinity-art-body .validated-personas-section, .infinity-art-body .audit-conclusions-section, .infinity-art-body .sitemap-section, .infinity-art-body .interface-dev-section, .infinity-art-body .interface-v2-section, .infinity-art-body .interface-v3-section, .infinity-art-body .conclusion-section-inf, .infinity-art-body .visual-direction-section, .infinity-art-body .live-preview-header-ux, .infinity-art-body .content-section-cs, .infinity-art-body .conclusion-section-ux, .infinity-art-body .live-preview-section-inf {
  border-bottom: 1px solid rgba(0, 0, 0, 0.08) !important;
}

/* Ensure full-width hero header does not render a bottom border */
.ux-report-body .hero-section-cs,
.infinity-art-body .hero-section-cs {
  border-bottom: none !important;
}

/* 2. Scroll Reveal Animations styling */
.reveal-element {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 1.2s cubic-bezier(0.16, 1, 0.3, 1), transform 1.2s cubic-bezier(0.16, 1, 0.3, 1);
  will-change: transform, opacity;
}
.reveal-element.revealed {
  opacity: 1;
  transform: translateY(0);
}


/* 5. Ensure comfortable spacing for text following visual assets */
img + p, 
.interface-v1-img + p, 
.interface-v2-img + p, 
.interface-v3-img + p, 
iframe + p, 
.w-layout-layout + p,
blockquote + p {
  margin-top: 24px !important;
}

/* Ensure images have a default bottom margin if not in grid cells */
.interface-v1-img, .interface-v2-img, .interface-v3-img {
  margin-bottom: 16px !important;
}

/* 6. Case Studies Hover Zoom effect */
.card-infinity, .card-report {
  position: relative;
  overflow: hidden;
  display: flex;
  background-image: none !important; /* overrides standard Webflow CSS bg */
  transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.6s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.card-infinity:hover, .card-report:hover {
  transform: translateY(-4px) scale(1.01) !important;
  box-shadow: 0 15px 30px rgba(0, 0, 0, 0.12) !important;
  z-index: 10 !important;
}

.card-bg-img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
  transition: transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
  pointer-events: none; /* ensures it doesn't block text mouse hover */
}

.card-infinity:hover .card-bg-img,
.card-report:hover .card-bg-img {
  transform: scale(1.08) !important;
}

/* Ensure text blocks stay on top of absolute positioned images and apply dynamic glassmorphism on hover */
.card-infinity .card-text-infinity,
.card-report .card-text-report {
  position: relative;
  z-index: 2 !important;
  width: 100%;
  height: 100%;
  background-color: rgba(8, 4, 18, 0.6) !important; /* elegant dark violet overlay */
  backdrop-filter: blur(0px);
  -webkit-backdrop-filter: blur(0px);
  transition: opacity 0.5s ease-in-out, backdrop-filter 0.5s ease-in-out, -webkit-backdrop-filter 0.5s ease-in-out !important;
}

.card-infinity:hover .card-text-infinity,
.card-report:hover .card-text-report {
  opacity: 1 !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
}


/* Projects images hover zoom */
.image-33, .image-34, .image-35 {
  transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.6s cubic-bezier(0.16, 1, 0.3, 1) !important;
  border-radius: 8px !important;
}

.image-33:hover, .image-34:hover, .image-35:hover {
  transform: translateY(-4px) scale(1.03) !important;
  box-shadow: 0 15px 30px rgba(0, 0, 0, 0.1) !important;
}

/* 7. Bento Grid Projects Layout */
.bento-grid-projects {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
  width: 100%;
  max-width: 1140px;
  margin: 32px auto 0 auto;
  box-sizing: border-box;
}

.bento-card {
  background: rgba(15, 15, 22, 0.65); /* Dark Glassmorphism */
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: 1px solid rgba(255, 255, 255, 0.07);
  border-radius: 16px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.5s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.3s ease !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.4);
  transform: translateY(var(--parallax-y, 0px)) !important;
  will-change: transform;
}

.bento-card:hover {
  transform: translateY(calc(var(--parallax-y, 0px) - 8px)) !important;
  box-shadow: 0 25px 50px rgba(0, 0, 0, 0.6);
  border-color: rgba(255, 255, 255, 0.2);
}

.bento-card-image-wrapper {
  overflow: hidden;
  position: relative;
  width: 100%;
}

.bento-card-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1) !important;
  display: block; /* prevents inline baseline gap */
}

.bento-card:hover .bento-card-img {
  transform: scale(1.05) !important;
}

.bento-card-content {
  padding: 24px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  flex-grow: 1;
}

.bento-card-content h3 {
  margin-top: 0 !important;
  margin-bottom: 8px !important;
  color: #ffffff !important;
  font-weight: 700 !important;
}

.bento-card-content p {
  font-size: 0.88rem !important;
  line-height: 1.5 !important;
  margin-top: 8px !important;
  margin-bottom: 16px !important;
  color: rgba(255, 255, 255, 0.7) !important;
}

.bento-card-content .bento-card-tags {
  margin-bottom: 20px !important;
}

/* Translucent Capsule tags style */
.bento-card-content .bento-tag-secondary, 
.bento-card-content .bento-tag-primary {
  color: rgba(255, 255, 255, 0.9) !important;
  background-color: rgba(255, 255, 255, 0.08) !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  border-radius: 4px !important;
  padding: 4px 10px !important;
  font-size: 0.72rem !important;
  letter-spacing: 0.5px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  display: inline-block !important;
}

/* Custom interactive pill button style for project links */
.bento-card-content a.bento-link-primary, 
.bento-card-content a.bento-link-secondary, 
.bento-card-content a.bento-link-tertiary {
  display: inline-block !important;
  width: fit-content !important;
  padding: 10px 22px !important;
  background-color: rgba(255, 255, 255, 0.06) !important;
  border: 1px solid rgba(255, 255, 255, 0.15) !important;
  border-radius: 30px !important;
  color: #ffffff !important;
  text-decoration: none !important;
  font-size: 0.82rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.5px !important;
  text-transform: uppercase !important;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
  margin-top: 12px !important;
}

.bento-card-content a.bento-link-primary:hover, 
.bento-card-content a.bento-link-secondary:hover, 
.bento-card-content a.bento-link-tertiary:hover {
  background-color: #ffffff !important;
  color: #000000 !important;
  border-color: #ffffff !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2) !important;
}

/* Specific layout adjustments for large screens */
@media screen and (min-width: 768px) {
  .bento-card.span-2 {
    grid-column: span 2;
    flex-direction: row; /* horizontal layout */
  }
  
  .bento-card.span-2 .bento-card-image-wrapper {
    width: 50%;
    min-height: 340px;
  }
  
  .bento-card.span-2 .bento-card-content {
    width: 50%;
    padding: 28px;
  }
  
  .bento-card.span-1 .bento-card-image-wrapper {
    height: 200px;
  }
}

/* Mobile responsive fixes */
@media screen and (max-width: 767px) {
  .bento-grid-projects {
    grid-template-columns: 1fr;
    gap: 20px;
    margin-top: 20px;
  }
  
  .bento-card.span-2 {
    grid-column: span 1;
  }
  
  .bento-card-image-wrapper {
    height: 200px;
  }
  
  .bento-card-content {
    padding: 20px;
  }
}

/* 8. Custom Hero Dynamic Clouds Glow */
.hero-glow-container {
  height: 500px !important;
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important; /* Forces full width even if section is inside parent margins */
  margin-right: 0 !important;
  background-color: transparent !important; /* transparent background to show the dynamic stars */
  position: relative !important;
  overflow: hidden !important;
  border-radius: 0px !important; /* Full width looks better with straight edges */
  box-shadow: none !important; /* Removed shadow boundary to keep glow seamless */
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
}

@media screen and (max-width: 767px) {
  .hero-glow-container {
    height: 380px !important;
  }
}

/* Base style for the glowing ribbons resembling the continuous wavy aurora stream */
.aurora-ribbon {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  border-radius: 40% 50% 30% 40% / 50% 60% 40% 50%;
  pointer-events: none;
  will-change: transform, border-radius, filter, opacity;
  mix-blend-mode: screen;
}

.aurora-ribbon-1 {
  width: 110%;
  height: 280px;
  background: linear-gradient(90deg, 
    rgba(0, 240, 200, 0.95) 0%, 
    rgba(0, 70, 255, 0.95) 35%, 
    rgba(216, 0, 216, 0.9) 70%, 
    rgba(232, 17, 71, 0.85) 100%
  );
  animation: auroraWave1 12s infinite cubic-bezier(0.37, 0, 0.63, 1);
}

.aurora-ribbon-2 {
  width: 115%;
  height: 240px;
  background: linear-gradient(90deg, 
    rgba(0, 220, 240, 0.7) 10%, 
    rgba(10, 30, 240, 0.8) 40%, 
    rgba(190, 0, 210, 0.75) 75%, 
    rgba(240, 10, 50, 0.7) 100%
  );
  animation: auroraWave2 16s infinite cubic-bezier(0.37, 0, 0.63, 1);
}

/* Smooth continuous morphing keyframes without flat hold states (tighter blur at corners, wider at center) */
@keyframes auroraWave1 {
  0% {
    transform: translate(-15%, -45%) scale(0.95) rotate(4deg);
    border-radius: 40% 50% 30% 40% / 50% 60% 40% 50%;
    filter: blur(42px);
    -webkit-filter: blur(42px);
    opacity: 0.95;
  }
  25% {
    transform: translate(-75%, -35%) scale(1.15) rotate(-3deg);
    border-radius: 45% 45% 35% 45% / 55% 50% 45% 55%;
    filter: blur(65px);
    -webkit-filter: blur(65px);
    opacity: 0.7;
  }
  50% {
    transform: translate(-80%, 5%) scale(1.05) rotate(-5deg);
    border-radius: 38% 48% 42% 38% / 46% 54% 48% 52%;
    filter: blur(44px);
    -webkit-filter: blur(44px);
    opacity: 0.92;
  }
  75% {
    transform: translate(-20%, -5%) scale(1.1) rotate(3deg);
    border-radius: 48% 42% 48% 42% / 52% 48% 52% 48%;
    filter: blur(65px);
    -webkit-filter: blur(65px);
    opacity: 0.7;
  }
  100% {
    transform: translate(-15%, -45%) scale(0.95) rotate(4deg);
    border-radius: 40% 50% 30% 40% / 50% 60% 40% 50%;
    filter: blur(42px);
    -webkit-filter: blur(42px);
    opacity: 0.95;
  }
}

@keyframes auroraWave2 {
  0% {
    transform: translate(-78%, 3%) scale(1.1) rotate(-3deg);
    border-radius: 50% 40% 50% 30% / 60% 40% 60% 40%;
    filter: blur(46px);
    -webkit-filter: blur(46px);
    opacity: 0.92;
  }
  25% {
    transform: translate(-25%, 0%) scale(0.95) rotate(2deg);
    border-radius: 45% 45% 40% 45% / 50% 55% 50% 50%;
    filter: blur(75px);
    -webkit-filter: blur(75px);
    opacity: 0.65;
  }
  50% {
    transform: translate(-22%, -43%) scale(1.05) rotate(4deg);
    border-radius: 40% 50% 30% 40% / 50% 60% 40% 50%;
    filter: blur(42px);
    -webkit-filter: blur(42px);
    opacity: 0.92;
  }
  75% {
    transform: translate(-75%, -40%) scale(0.9) rotate(-3deg);
    border-radius: 48% 42% 48% 42% / 54% 46% 54% 46%;
    filter: blur(75px);
    -webkit-filter: blur(75px);
    opacity: 0.65;
  }
}

.bento-card-content a.bento-link-primary, 
.bento-card-content a.bento-link-secondary, 
.bento-card-content a.bento-link-tertiary {
  padding: 10px 22px !important;
  background-color: rgba(255, 255, 255, 0.06) !important;
  border: 1px solid rgba(255, 255, 255, 0.15) !important;
  border-radius: 30px !important;
  color: #ffffff !important;
  text-decoration: none !important;
  font-size: 0.82rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.5px !important;
  text-transform: uppercase !important;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
  margin-top: 12px !important;
}

.bento-card-content a.bento-link-primary:hover, 
.bento-card-content a.bento-link-secondary:hover, 
.bento-card-content a.bento-link-tertiary:hover {
  background-color: #ffffff !important;
  color: #000000 !important;
  border-color: #ffffff !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2) !important;
}

/* Specific layout adjustments for large screens */
@media screen and (min-width: 768px) {
  .bento-card.span-2 {
    grid-column: span 2;
    flex-direction: row; /* horizontal layout */
  }
  
  .bento-card.span-2 .bento-card-image-wrapper {
    width: 50%;
    min-height: 340px;
  }
  
  .bento-card.span-2 .bento-card-content {
    width: 50%;
    padding: 28px;
  }
  
  .bento-card.span-1 .bento-card-image-wrapper {
    height: 200px;
  }
}

/* Mobile responsive fixes */
@media screen and (max-width: 767px) {
  .bento-grid-projects {
    grid-template-columns: 1fr;
    gap: 20px;
    margin-top: 20px;
  }
  
  .bento-card.span-2 {
    grid-column: span 1;
  }
  
  .bento-card-image-wrapper {
    height: 200px;
  }
  
  .bento-card-content {
    padding: 20px;
  }
}

/* 8. Custom Hero Dynamic Clouds Glow */
.hero-glow-container {
  height: 500px !important;
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important; /* Forces full width even if section is inside parent margins */
  margin-right: 0 !important;
  background-color: transparent !important; /* transparent background to show the dynamic stars */
  position: relative !important;
  overflow: hidden !important;
  border-radius: 0px !important; /* Full width looks better with straight edges */
  box-shadow: none !important; /* Removed shadow boundary to keep glow seamless */
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
}

@media screen and (max-width: 767px) {
  .hero-glow-container {
    height: 380px !important;
  }
}

/* Base style for the glowing ribbons resembling the continuous wavy aurora stream */
.aurora-ribbon {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  border-radius: 40% 50% 30% 40% / 50% 60% 40% 50%;
  pointer-events: none;
  will-change: transform, border-radius, filter, opacity;
  mix-blend-mode: screen;
}

.aurora-ribbon-1 {
  width: 110%;
  height: 280px;
  background: linear-gradient(90deg, 
    rgba(0, 240, 200, 0.95) 0%, 
    rgba(0, 70, 255, 0.95) 35%, 
    rgba(216, 0, 216, 0.9) 70%, 
    rgba(232, 17, 71, 0.85) 100%
  );
  animation: auroraWave1 12s infinite cubic-bezier(0.37, 0, 0.63, 1);
}

.aurora-ribbon-2 {
  width: 115%;
  height: 240px;
  background: linear-gradient(90deg, 
    rgba(0, 220, 240, 0.7) 10%, 
    rgba(10, 30, 240, 0.8) 40%, 
    rgba(190, 0, 210, 0.75) 75%, 
    rgba(240, 10, 50, 0.7) 100%
  );
  animation: auroraWave2 16s infinite cubic-bezier(0.37, 0, 0.63, 1);
}

/* Smooth continuous morphing keyframes without flat hold states (tighter blur at corners, wider at center) */
@keyframes auroraWave1 {
  0% {
    transform: translate(-15%, -45%) scale(0.95) rotate(4deg);
    border-radius: 40% 50% 30% 40% / 50% 60% 40% 50%;
    filter: blur(42px);
    -webkit-filter: blur(42px);
    opacity: 0.95;
  }
  25% {
    transform: translate(-75%, -35%) scale(1.15) rotate(-3deg);
    border-radius: 45% 45% 35% 45% / 55% 50% 45% 55%;
    filter: blur(65px);
    -webkit-filter: blur(65px);
    opacity: 0.7;
  }
  50% {
    transform: translate(-80%, 5%) scale(1.05) rotate(-5deg);
    border-radius: 38% 48% 42% 38% / 46% 54% 48% 52%;
    filter: blur(44px);
    -webkit-filter: blur(44px);
    opacity: 0.92;
  }
  75% {
    transform: translate(-20%, -5%) scale(1.1) rotate(3deg);
    border-radius: 48% 42% 48% 42% / 52% 48% 52% 48%;
    filter: blur(65px);
    -webkit-filter: blur(65px);
    opacity: 0.7;
  }
  100% {
    transform: translate(-15%, -45%) scale(0.95) rotate(4deg);
    border-radius: 40% 50% 30% 40% / 50% 60% 40% 50%;
    filter: blur(42px);
    -webkit-filter: blur(42px);
    opacity: 0.95;
  }
}

@keyframes auroraWave2 {
  0% {
    transform: translate(-78%, -27%) scale(1.1) rotate(-3deg);
    border-radius: 50% 40% 50% 30% / 60% 40% 60% 40%;
    filter: blur(46px);
    -webkit-filter: blur(46px);
    opacity: 0.92;
  }
  25% {
    transform: translate(-25%, -30%) scale(0.95) rotate(2deg);
    border-radius: 45% 45% 40% 45% / 50% 55% 50% 50%;
    filter: blur(75px);
    -webkit-filter: blur(75px);
    opacity: 0.65;
  }
  50% {
    transform: translate(-22%, -73%) scale(1.05) rotate(4deg);
    border-radius: 40% 50% 30% 40% / 50% 60% 40% 50%;
    filter: blur(42px);
    -webkit-filter: blur(42px);
    opacity: 0.92;
  }
  75% {
    transform: translate(-75%, -70%) scale(0.9) rotate(-3deg);
    border-radius: 48% 42% 48% 42% / 54% 46% 54% 46%;
    filter: blur(75px);
    -webkit-filter: blur(75px);
    opacity: 0.65;
  }
  100% {
    transform: translate(-78%, -27%) scale(1.1) rotate(-3deg);
    border-radius: 50% 40% 50% 30% / 60% 40% 60% 40%;
    filter: blur(46px);
    -webkit-filter: blur(46px);
    opacity: 0.92;
  }
}

/* 9. Standardize Case Studies Grid and Alignment */
.section, 
.live-preview-content-ux, 
.visual-divider-section, 
.empathy-map-section, 
.persona-validation-section, 
.audit-conclusions-section, 
.conclusion-section-inf, 
.visual-direction-section, 
.live-preview-header-ux, 
.conclusion-section-ux,
.survey-graphs-section, 
.validated-personas-section, 
.sitemap-section, 
.interface-dev-section, 
.interface-v2-section, 
.interface-v3-section, 
.content-section-cs, 
.live-preview-section-inf {
  width: 100% !important;
  max-width: 100vw !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-left: 24px !important;
  padding-right: 24px !important;
  padding-top: 56px !important;
  padding-bottom: 56px !important;
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
}

/* Alternating background colors for content sections */
.section-bg-light {
  background-color: transparent !important;
}

.section-bg-dark {
  background-color: rgba(2, 2, 2, 0.04) !important;
}

/* Nested section overrides to prevent double padding, background conflicts and inner borders */
.persona-validation-section .survey-graphs-section,
.persona-validation-section .validated-personas-section,
.content-section-cs .audit-conclusions-section,
.interface-dev-section .interface-v2-section,
.interface-dev-section .interface-v3-section {
  padding-top: 24px !important;
  padding-bottom: 24px !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  border-bottom: none !important;
  background-color: transparent !important;
  width: 100% !important;
  max-width: 100vw !important;
}

/* Explicit width constraints for paragraph and blockquotes inside validated personas */
.validated-personas-section p,
.validated-personas-section blockquote {
  width: 100% !important;
  max-width: 760px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Stack headers higher than content sections to prevent absolutely positioned mockup images from being covered by white section backgrounds */
.hero-section-cs {
  position: relative !important;
  z-index: 10 !important;
}

.content-section-cs {
  position: relative !important;
  z-index: 1 !important;
}

/* Constrain Figma phone embed mockup container inside the standardized 900px live preview section */
.figma-iframe-wrapper {
  max-width: 900px !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Visual assets (images) inside the case studies grid should be aligned, look modern, and have hover zoom */
.section img, .live-preview-content-ux img, .visual-divider-section img, .empathy-map-section img, .survey-graphs-section img, .persona-validation-section img, .validated-personas-section img, .audit-conclusions-section img, .sitemap-section img, .interface-dev-section img, 
.interface-v2-section img, .interface-v3-section img, .conclusion-section-inf img, .visual-direction-section img, .live-preview-header-ux img, .content-section-cs img, .live-preview-section-inf img, .conclusion-section-ux img {
  width: 100% !important;
  max-width: 760px !important;
  height: auto !important;
  border-radius: 12px !important;
  border: 1px solid rgba(0, 0, 0, 0.05) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.03) !important;
  margin-top: 24px !important;
  margin-bottom: 32px !important;
  display: block !important;
  margin-left: auto !important;
  margin-right: auto !important;
  transform: translateY(var(--parallax-y, 0px)) !important;
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.4s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.3s ease !important;
  will-change: transform;
}

/* Reveal transition state for images inside scroll-revealed sections */
.reveal-element img {
  opacity: 0 !important;
  transform: translateY(calc(var(--parallax-y, 0px) + 50px)) scale(0.95) !important;
  transition: opacity 1.2s cubic-bezier(0.16, 1, 0.3, 1), transform 1.2s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.4s ease !important;
  will-change: transform, opacity;
}

.reveal-element.revealed img {
  opacity: 1 !important;
  transform: translateY(var(--parallax-y, 0px)) scale(1) !important;
}

.section img:hover, .live-preview-content-ux img:hover, .visual-divider-section img:hover, .persona-validation-section img:hover, .audit-conclusions-section img:hover, .sitemap-section img:hover, .interface-dev-section img:hover, 
.interface-v2-section img:hover, .interface-v3-section img:hover, .conclusion-section-inf img:hover, .visual-direction-section img:hover, .live-preview-header-ux img:hover, .conclusion-section-ux img:hover, .live-preview-section-inf img:hover,
.content-section-cs img:not(.detail-header-image):not(.comp_audit):not([src*="UX Report Final"]):hover {
  transform: scale(1.4) translateY(calc(var(--parallax-y, 0px) - 12px)) !important;
  box-shadow: 0 30px 60px rgba(0, 0, 0, 0.15) !important;
  border-color: rgba(0, 0, 0, 0.12) !important;
  z-index: 99999 !important;
  position: relative !important; /* ensures zoomed image stays on top of adjacent grid cells */
}

/* Enhanced hover zoom (50% increase) specifically for research data, survey charts, empathy maps, sketches and personas */
.empathy-map-section img:hover,
.survey-graphs-section img:hover,
.validated-personas-section img:hover,
.content-section-cs img.detail-header-image:hover,
.content-section-cs img[src*="UX Report Final"]:hover {
  transform: scale(1.5) translateY(calc(var(--parallax-y, 0px) - 15px)) !important;
  box-shadow: 0 45px 90px rgba(0, 0, 0, 0.22) !important;
  border-color: rgba(0, 0, 0, 0.15) !important;
  z-index: 100 !important;
  position: relative !important;
}

/* Ensure style guide cards align perfectly within the 760px content grid */
.style-guide-card {
  width: 100% !important;
  max-width: 760px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
}

/* Prevent clipping of zoomed images in Webflow cells and grids */
.w-layout-cell, 
.w-layout-layout, 
.wf-layout-layout,
.w-layout-grid {
  overflow: visible !important;
}

/* Extra magnification for the massive competitive audit table to allow pixel-perfect legibility */
.comp-audit-link {
  position: relative !important;
  z-index: 1 !important;
}
.comp-audit-link:hover {
  z-index: 999 !important;
}
.content-section-cs img.comp_audit:hover,
.comp-audit-link img.comp_audit:hover,
.comp_audit:hover {
  transform: scale(1.4) translateY(calc(var(--parallax-y, 0px) - 12px)) !important;
  box-shadow: 0 30px 60px rgba(0, 0, 0, 0.2) !important;
  z-index: 99999 !important;
  position: relative !important;
}


/* Custom overrides to group Case Studies title and grid cards closer together */
.case-studies-header {
  margin-bottom: 0px !important;
}

.case-studies-section {
  margin-top: 32px !important;
}

@media (max-width: 767px) {
  .case-studies-section {
    margin-top: 24px !important;
  }
}

/* --- Sticky Navbar & Responsive Layout Overrides --- */

/* Global Overflow Fix - Using clip to keep position: sticky functional */
html, body {
  overflow-x: clip !important;
  width: 100% !important;
  max-width: 100% !important;
}

.home-body {
  overflow-x: clip !important;
}

/* Homepage Navbar (Dark Theme) */
.navbar-home {
  position: sticky !important;
  top: 0 !important;
  z-index: 1000 !important;
  width: 100% !important;
  max-width: 100% !important;
  background-color: rgba(20, 23, 23, 0.75) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
  padding: 15px 0 !important;
  box-sizing: border-box !important;
}

.navbar-inner-home {
  width: 100% !important;
  max-width: 1140px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 30px !important;
  padding-right: 30px !important;
  box-sizing: border-box !important;
}

/* Case Study Navbar (Light Theme) */
.navbar-case-study {
  position: sticky !important;
  top: 0 !important;
  z-index: 1000 !important;
  width: 100% !important;
  max-width: 100% !important;
  background-color: rgba(253, 251, 251, 0.8) !important; /* Light background */
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1) !important;
  padding: 15px 0 !important;
  box-sizing: border-box !important;
}

.navbar-inner-cs {
  width: 100% !important;
  max-width: 1140px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 30px !important;
  padding-right: 30px !important;
  background-color: transparent !important; /* Override white background block */
  box-sizing: border-box !important;
}

/* Make links inside light navbar dark for readability */
.navbar-case-study .logo-link,
.navbar-case-study .navigation-item {
  color: #141717 !important;
}

/* Custom Hero Glow - Keep visible vertically to let clouds flow, but width aligned to 100% */
.hero-glow-container {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  overflow: visible !important; /* Keep clouds visible as they float vertically */
}

/* Mobile responsive padding adjustments */
@media (max-width: 767px) {
  .navbar-inner-home, .navbar-inner-cs {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
}

/* Overrides to make homepage navbar layout identical to case studies */
.navbar-home,
.navbar-home.shadow-three {
  position: sticky !important;
  top: 0 !important;
  z-index: 1000 !important;
  width: 100% !important;
  max-width: 100% !important;
  background-color: rgba(20, 23, 23, 0.75) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
  padding: 15px 0 !important;
  box-sizing: border-box !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  display: block !important;
  margin-bottom: 0 !important;
}

.navbar-home .logo-link,
.navbar-home .navigation-item {
  color: #fff !important;
}






/* ==========================================================================
   Case Studies Clean 760px Text & Content Reading Grid
   ========================================================================== */
/* Force all standard text components (paragraphs, lists, blockquotes, subheadings) 
   in the case study pages to align to a clean 760px wide left-aligned reading column. */
.ux-report-body p, 
.ux-report-body ul, 
.ux-report-body ol, 
.ux-report-body blockquote, 
.ux-report-body h2:not(.hero-subtitle-cs), 
.ux-report-body h3, 
.ux-report-body h4, 
.ux-report-body .position-name-text,
.ux-report-body .paragraph-light,
.ux-report-body .w-embed:not(.w-iframe),
.ux-report-body .sketch-caption-1,
.ux-report-body .sketch-caption-2,
.ux-report-body .figure-caption-sketches-1,
.ux-report-body .figure-caption-sketches-2,
.ux-report-body .figure-caption-empathy,
.infinity-art-body p, 
.infinity-art-body ul, 
.infinity-art-body ol, 
.infinity-art-body blockquote, 
.infinity-art-body h2:not(.hero-subtitle-cs), 
.infinity-art-body h3, 
.infinity-art-body h4,
.infinity-art-body .position-name-text,
.infinity-art-body .paragraph-light,
.infinity-art-body .w-embed:not(.w-iframe) {
  width: 100% !important;
  max-width: 760px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: left !important;
  box-sizing: border-box !important;
}

/* Specific alignments for list paddings and list items */
.ux-report-body ul, .ux-report-body ol,
.infinity-art-body ul, .infinity-art-body ol {
  padding-left: 24px !important;
}

.ux-report-body li,
.infinity-art-body li {
  text-align: left !important;
  margin-bottom: 8px !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 0.95rem !important;
  line-height: 1.65 !important;
  color: #2b2b2b !important;
}

.ux-report-body h2:not(.hero-subtitle-cs), .ux-report-body h3, .ux-report-body h4,
.infinity-art-body h2:not(.hero-subtitle-cs), .infinity-art-body h3, .infinity-art-body h4 {
  font-family: 'Inter', sans-serif !important;
  font-weight: 700 !important;
  color: #1a1a1a !important;
  margin-top: 40px !important;
  margin-bottom: 16px !important;
}

.ux-report-body p,
.infinity-art-body p {
  line-height: 1.65 !important;
  font-size: 0.98rem !important;
  color: #2b2b2b !important;
  margin-bottom: 24px !important;
}

/* Reset flex properties for caption elements to ensure left alignment */
.figure-caption-empathy,
.sketch-caption-1,
.sketch-caption-2 {
  display: block !important;
  text-align: left !important;
  height: auto !important; /* Remove height limits that could clip long caption text */
  margin-top: 12px !important;
  margin-bottom: 24px !important;
}

.figure-caption-sketches-1,
.figure-caption-sketches-2 {
  text-align: left !important;
  margin-top: 0 !important;
}

/* Additional resets for container-2 and iframe wrappers to align to the 760px grid */
.container-2,
.figma-iframe-wrapper {
  max-width: 760px !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Ensure survey graphs grid fits nicely in 760px columns */
.survey-graphs-grid {
  grid-column-gap: 16px !important;
  grid-row-gap: 16px !important;
  width: 100% !important;
  max-width: 760px !important;
}

/* ==========================================================================
   UX Report Restructuring & Overrides
   ========================================================================== */

/* Layout Architecture & Live Preview section standard layout */
.layout-architecture-section,
.live-preview-section-ux {
  width: 100% !important;
  max-width: 100vw !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-left: 24px !important;
  padding-right: 24px !important;
  padding-top: 56px !important;
  padding-bottom: 56px !important;
  box-sizing: border-box !important;
}

/* Ensure alternating borders apply correctly */
.ux-report-body .layout-architecture-section,
.ux-report-body .live-preview-section-ux {
  border-bottom: 1px solid rgba(0, 0, 0, 0.08) !important;
}

/* Live Preview Layout Styling */
.live-preview-section-ux {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
}

.live-preview-title-ux {
  text-align: center !important;
  margin-top: 0 !important;
  margin-bottom: 40px !important;
}

/* Ensure the figma iframe wrapper doesn't collapse inside live-preview-section-ux */
.live-preview-section-ux .figma-iframe-wrapper {
  height: 800px !important;
  max-width: 760px !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  display: flex !important;
  align-items: stretch !important;
  justify-content: center !important;
  box-sizing: border-box !important;
}

.live-preview-section-ux .html-embed-2 {
  display: flex !important;
  flex: 1 !important;
  height: 100% !important;
  width: 100% !important;
  align-items: stretch !important;
}

.live-preview-section-ux .html-embed-2 iframe {
  width: 100% !important;
  height: 100% !important;
  border: none !important;
}

/* Layout Architecture styling resets */
.layout-architecture-section {
  display: block !important;
}

.layout-architecture-title {
  text-align: center !important;
  margin-top: 0 !important;
  margin-bottom: 40px !important;
}

/* Empathy Map hover zoom logic */
.empathy-map-container img:hover {
  transform: scale(1.5) translateY(calc(var(--parallax-y, 0px) - 15px)) !important;
  box-shadow: 0 30px 60px rgba(0, 0, 0, 0.15) !important;
  border-color: rgba(0, 0, 0, 0.12) !important;
  z-index: 99999 !important;
  position: relative !important;
}

/* ==========================================================================
   Homepage (index.html) Scroll Arrow Overrides
   ========================================================================== */

/* Scroll Arrow section (replaces Case Studies section initially) */
.scroll-arrow-section {
  width: 100% !important;
  height: calc(100vh - 500px) !important;
  min-height: 250px !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  position: relative !important;
  cursor: pointer !important;
  z-index: 1000 !important;
  background: transparent !important;
  box-sizing: border-box !important;
  transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1), height 0.8s cubic-bezier(0.16, 1, 0.3, 1), min-height 0.8s cubic-bezier(0.16, 1, 0.3, 1), transform 0.8s cubic-bezier(0.16, 1, 0.3, 1) !important;
  will-change: transform, opacity, height;
}

@media (max-width: 991px) {
  .scroll-arrow-section {
    height: calc(100vh - 380px) !important;
  }
}

.scroll-arrow-wrapper {
  animation: arrow-bounce 2s infinite;
}

.scroll-arrow {
  width: 72px;
  height: 72px;
  stroke: #32B5FF;
  stroke-width: 0.8; /* Thin line weight 200 */
  display: block;
}

@keyframes arrow-bounce {
  0%, 20%, 50%, 80%, 100% {
    transform: translateY(0);
  }
  40% {
    transform: translateY(-12px);
  }
  60% {
    transform: translateY(-6px);
  }
}

/* Collapsing arrow section when page is revealed */
.home-body.is-revealed .scroll-arrow-section {
  opacity: 0 !important;
  height: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
  pointer-events: none !important;
  transform: translateY(60px) !important; /* Parallax downward drift as it fades out */
}

/* Collapsing other sections initially only if JS is enabled */
.js-enabled .home-content-hidden {
  opacity: 0 !important;
  visibility: hidden !important;
  max-height: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  overflow: hidden !important;
  border-bottom: none !important;
}

.js-enabled .home-content-visible {
  opacity: 1 !important;
  visibility: visible !important;
  max-height: none !important;
  transition: opacity 1.5s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

@media (max-width: 767px) {
  .scroll-arrow {
    width: 56px;
    height: 56px;
  }

  .w-layout-grid.case-studies-grid {
    grid-template-columns: 1fr !important;
    grid-template-rows: minmax(auto, 60vw) minmax(auto, 60vw) !important;
    row-gap: 28px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
}

/* Custom Responsive Mobile Navbar Adjustments */

/* Homepage mobile hamburger icon color (invert to make it white over dark background) */
.home-body .menu-icon {
  filter: invert(1) !important;
}

/* Case study pages mobile menu dropdown background (light white background for dark links) */
.navbar-case-study .w-nav-menu[data-nav-menu-open] {
  background-color: #ffffff !important;
  border-bottom: 1px solid rgba(0, 0, 0, 0.08) !important;
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.06) !important;
}

/* Homepage mobile menu dropdown background (dark background for light links) */
.navbar-home .w-nav-menu[data-nav-menu-open] {
  background-color: #0c0d12 !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.4) !important;
}

/* Mobile Responsive Layout and Alignment Adjustments */
@media (max-width: 767px) {
  /* Center case study section headings on mobile for index consistency */
  .ux-report-body h2:not(.hero-subtitle-cs), 
  .ux-report-body h3, 
  .ux-report-body h4,
  .infinity-art-body h2:not(.hero-subtitle-cs), 
  .infinity-art-body h3, 
  .infinity-art-body h4 {
    text-align: center !important;
  }

  /* Consistent 16px horizontal breathing space (respiro) for bento grid and photography */
  .bento-grid-projects,
  .photography-grid {
    box-sizing: border-box !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  /* Overlapping floating mockup effect in hero headers on mobile */
  .hero-section-cs {
    height: auto !important;
    padding-top: 60px !important;
    padding-bottom: 120px !important; /* Extra bottom padding inside the dark header */
    position: relative !important;
    z-index: 5 !important;
  }

  .hero-image-ux {
    text-align: center;
    max-width: 230px !important; /* Larger mockup size */
    margin-left: auto !important;
    margin-right: auto !important;
    position: relative !important;
    z-index: 10 !important;
    margin-bottom: -240px !important; /* Negative margin pulls the next section up to overlap */
    transform: none !important; /* Prevent scroll parallax on mobile */
  }

  .hero-image-inf {
    max-width: 340px !important; /* Larger mockup size */
    margin-left: auto !important;
    margin-right: auto !important;
    position: relative !important;
    z-index: 10 !important;
    margin-bottom: -260px !important; /* Negative margin pulls the next section up to overlap */
    transform: none !important; /* Prevent scroll parallax on mobile */
  }
}

/* --- Visual Specimen Dashboard --- */
.visual-dashboard {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 20px;
  margin: 32px auto;
  max-width: 760px;
  text-align: left;
  box-sizing: border-box;
}

.visual-side-grid {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.visual-card {
  background: rgba(255, 255, 255, 0.6) !important;
  backdrop-filter: blur(16px) !important;
  -webkit-backdrop-filter: blur(16px) !important;
  border: 1px solid rgba(0, 0, 0, 0.05) !important;
  border-radius: 16px;
  padding: 20px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.02) !important;
  position: relative;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  box-sizing: border-box;
}

.visual-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 35px rgba(0, 0, 0, 0.06) !important;
}

.visual-card-badge {
  display: inline-block;
  font-family: 'Inter', sans-serif;
  font-size: 0.65rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  color: #e97272;
  background: rgba(233, 114, 114, 0.08);
  padding: 4px 10px;
  border-radius: 100px;
  margin-bottom: 16px;
}

.visual-concept p {
  font-family: 'Montserrat', sans-serif;
  font-size: 0.9rem;
  line-height: 1.6;
  color: #333;
  margin: 0 0 12px 0;
}

.visual-concept p:last-child {
  margin-bottom: 0;
}

.visual-typo-specimens {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.specimen-row {
  display: flex;
  align-items: center;
  gap: 12px;
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.04);
}

.specimen-row:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

.specimen-glyph {
  font-size: 1.4rem;
  font-weight: 700;
  color: #141717;
  width: 44px;
  height: 44px;
  min-width: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0, 0, 0, 0.03);
  border-radius: 8px;
}

.specimen-text {
  display: flex;
  flex-direction: column;
}

.specimen-font-title {
  font-family: 'Inter', sans-serif;
  font-size: 0.85rem;
  font-weight: 700;
  color: #141717;
  line-height: 1.2;
}

.specimen-font-desc {
  font-family: 'Montserrat', sans-serif;
  font-size: 0.75rem;
  color: #666;
  margin-top: 2px;
}

.visual-color-swatches {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.mini-swatch {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 8px 12px;
  border-radius: 8px;
  font-family: 'Inter', sans-serif;
  font-size: 0.75rem;
  transition: transform 0.2s ease;
  box-sizing: border-box;
}

.mini-swatch:hover {
  transform: scale(1.02);
}

.swatch-name {
  font-weight: 600;
}

.swatch-hex {
  font-family: 'Ubuntu', sans-serif;
  font-weight: 700;
  opacity: 0.95;
  font-size: 0.75rem;
}

/* Mobile responsiveness for visual dashboard */
@media (max-width: 767px) {
  .visual-dashboard {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
}

/* --- Conclusion Readability Enhancements --- */
.conclusion-lead-text {
  font-family: 'Inter', sans-serif;
  max-width: 760px;
  margin: 32px auto;
  text-align: left;
  box-sizing: border-box;
}

.conclusion-lead-text p {
  margin-bottom: 20px;
  font-family: 'Inter', sans-serif !important;
  font-size: 1.05rem !important;
  line-height: 1.75 !important;
  color: #444 !important;
}

.conclusion-lead-text p:last-of-type {
  margin-bottom: 0;
}

.conclusion-lead-text p.conclusion-highlight {
  font-size: 1.15rem !important;
  line-height: 1.7 !important;
  color: #141717 !important;
  font-weight: 500;
  border-left: 3px solid #E97272;
  padding-left: 16px;
}

.conclusion-thanks {
  margin-top: 32px;
  text-align: center;
}

.conclusion-thanks span {
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  font-size: 1.1rem;
  color: #E97272;
  background: rgba(233, 114, 114, 0.08);
  padding: 8px 20px;
  border-radius: 100px;
  display: inline-block;
  letter-spacing: 0.5px;
}

@media (max-width: 767px) {
  .conclusion-lead-text {
    padding: 0 16px;
  }
  .conclusion-lead-text p {
    font-size: 0.95rem !important;
    line-height: 1.65 !important;
  }
  .conclusion-lead-text p.conclusion-highlight {
    font-size: 1.05rem !important;
    padding-left: 12px;
  }
}

/* --- Capabilities & Venn Diagrams Section --- */
.capabilities-section {
  width: 100%;
  max-width: 1140px;
  margin: 64px auto !important;
  padding: 0 30px;
  box-sizing: border-box;
  text-align: center;
  position: relative;
}

.capabilities-title {
  font-family: 'Montserrat', sans-serif;
  font-weight: 400;
  font-size: 2.2rem;
  color: #fff;
  margin-bottom: 8px;
  text-transform: uppercase;
}

.capabilities-subtitle {
  font-family: 'Inter', sans-serif;
  font-size: 1rem;
  color: rgba(255, 255, 255, 0.6);
  max-width: 600px;
  margin: 0 auto 48px auto;
  line-height: 1.5;
}

.venn-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: auto auto auto auto auto;
  gap: 24px;
}

.venn-card {
  background: rgba(15, 16, 22, 0.6) !important;
  backdrop-filter: blur(20px) !important;
  -webkit-backdrop-filter: blur(20px) !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  border-radius: 20px;
  padding: 24px;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3) !important;
  transition: transform 0.3s cubic-bezier(0.2, 0.8, 0.2, 1), box-shadow 0.3s ease, border-color 0.3s ease;
  display: grid;
  grid-row: span 5;
  grid-template-rows: subgrid;
  align-items: stretch;
  box-sizing: border-box;
}

.venn-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 30px 60px rgba(0, 194, 255, 0.1) !important;
  border-color: rgba(255, 255, 255, 0.15) !important;
}

.venn-card-title {
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  font-size: 1.25rem;
  color: #fff;
  margin-bottom: 20px;
  grid-row: 1;
  text-align: center;
}

.venn-diagram-wrapper {
  width: 100%;
  max-width: 280px;
  height: 180px;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 20px;
  grid-row: 2;
  justify-self: center;
}

.venn-svg {
  width: 100%;
  height: 100%;
  overflow: visible;
}

.venn-circle {
  mix-blend-mode: screen;
  transition: r 0.3s ease, fill-opacity 0.3s ease;
  cursor: pointer;
}

.venn-circle:hover {
  r: 74;
}

.circle-a {
  transform-origin: 120px 100px;
}

.circle-b {
  transform-origin: 200px 100px;
}

.venn-text-label {
  font-family: 'Montserrat', sans-serif;
  font-weight: 900;
  font-size: 9px;
  fill: #fff;
  text-anchor: middle;
  pointer-events: none;
  letter-spacing: 0.5px;
  opacity: 0.9;
  text-shadow: 0 2px 4px rgba(0,0,0,0.5);
}

.label-left {
  transform: translateX(-5px);
}

.label-right {
  transform: translateX(5px);
}

.label-center {
  font-size: 8px;
  font-weight: 800;
  fill: #fff;
  opacity: 1;
}

.venn-details {
  width: 100%;
  text-align: left;
  display: grid;
  grid-row: span 3;
  grid-template-rows: subgrid;
  gap: 16px;
}

.venn-group {
  padding: 12px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid rgba(255, 255, 255, 0.03);
  transition: background 0.2s ease, border-color 0.2s ease;
}

.venn-group:hover {
  background: rgba(255, 255, 255, 0.04);
  border-color: rgba(255, 255, 255, 0.06);
}

.venn-group h4 {
  font-family: 'Inter', sans-serif;
  font-weight: 700;
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 1px;
  margin: 0 0 8px 0;
}

.venn-card:nth-child(1) .venn-group-a h4 {
  color: #32b5ff;
}

.venn-card:nth-child(1) .venn-group-b h4 {
  color: #61a8ff;
}

.venn-card:nth-child(2) .venn-group-a h4 {
  color: #32b5ff;
}

.venn-card:nth-child(2) .venn-group-b h4 {
  color: #e97272;
}

.venn-card:nth-child(3) .venn-group-a h4 {
  color: #32b5ff;
}

.venn-card:nth-child(3) .venn-group-b h4 {
  color: #e97272;
}

.venn-group-center {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.08);
}

.venn-group-center h4 {
  color: #fff;
}

.venn-group ul {
  margin: 0;
  padding-left: 14px;
  list-style-type: square;
}

.venn-group li {
  font-family: 'Inter', sans-serif;
  font-size: 0.75rem;
  line-height: 1.4;
  color: rgba(255, 255, 255, 0.7);
  margin-bottom: 4px;
}

.venn-group li:last-child {
  margin-bottom: 0;
}

/* Mobile responsiveness for Venn Diagrams */
@media (max-width: 991px) {
  .venn-grid {
    grid-template-columns: 1fr;
    grid-template-rows: auto;
    gap: 32px;
  }
  .venn-card {
    grid-row: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .venn-details {
    grid-row: auto;
    display: flex;
    flex-direction: column;
    gap: 16px;
  }
  .capabilities-section {
    padding: 0 20px;
    margin: 48px auto !important;
  }
}

@media (max-width: 767px) {
  .capabilities-title {
    font-size: 1.8rem;
  }
  .venn-card {
    padding: 20px;
  }
}

/* --- Main Venn Card Styling --- */
.venn-main-card {
  background: rgba(15, 16, 22, 0.6) !important;
  backdrop-filter: blur(20px) !important;
  -webkit-backdrop-filter: blur(20px) !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  border-radius: 20px;
  padding: 28px;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3) !important;
  transition: transform 0.3s cubic-bezier(0.2, 0.8, 0.2, 1), box-shadow 0.3s ease, border-color 0.3s ease;
  margin-bottom: 32px;
  text-align: center;
  box-sizing: border-box;
  width: 100%;
}

.venn-main-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 30px 60px rgba(0, 194, 255, 0.1) !important;
  border-color: rgba(255, 255, 255, 0.15) !important;
}

.venn-main-layout {
  display: flex;
  align-items: center;
  gap: 32px;
  width: 100%;
}

.main-wrapper {
  flex: 0 0 280px;
}

.main-details {
  flex: 1;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

/* Intersection spans across full width in the main card details grid */
.main-details .venn-group-center {
  grid-column: span 2;
}

.venn-main-card .venn-group-a h4 {
  color: #32b5ff;
}

.venn-main-card .venn-group-b h4 {
  color: #e97272;
}

/* Mobile responsiveness for main card */
@media (max-width: 991px) {
  .venn-main-layout {
    flex-direction: column;
    gap: 20px;
  }
  .main-wrapper {
    flex: 0 0 auto;
  }
  .main-details {
    grid-template-columns: 1fr;
  }
  .main-details .venn-group-center {
    grid-column: span 1;
  }
}

/* --- SVG Venn diagram text styling overrides --- */
.circle-a-main, .circle-b-main {
  mix-blend-mode: screen;
  pointer-events: none !important;
  transition: none !important;
}

.circle-a-main {
  transform-origin: 370px 300px !important;
}

.circle-b-main {
  transform-origin: 730px 300px !important;
}

/* Prevent text boosting/autosizing on mobile browser */
.venn-svg text {
  -webkit-text-size-adjust: none !important;
  text-size-adjust: none !important;
}

.venn-text-title {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 26px !important;
  font-weight: 700 !important;
  fill: #ffffff !important;
  text-anchor: middle !important;
  letter-spacing: 0.5px !important;
  text-shadow: 0 3px 6px rgba(0, 0, 0, 0.95) !important;
  pointer-events: none !important;
}

.venn-text-item {
  font-family: 'Inter', sans-serif !important;
  font-size: 22px !important;
  font-weight: 500 !important;
  fill: #ffffff !important;
  text-anchor: middle !important;
  text-shadow: 0 3px 6px rgba(0, 0, 0, 0.95) !important;
  pointer-events: none !important;
}

.center-title {
  font-size: 26px !important;
  font-weight: 700 !important;
  fill: #ffffff !important;
}

.center-item {
  font-size: 20px !important;
  font-weight: 500 !important;
  fill: #ffffff !important;
}

/* Responsive styles for smaller screen form factors */
@media (max-width: 767px) {
  /* Prevent height stretching on mobile, keep aspect ratio and enable horizontal scrolling */
  .venn-diagram-wrapper.main-wrapper {
    height: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    display: block !important;
    padding-bottom: 8px !important;
  }
  
  /* Force the SVG to have a minimum width so it doesn't shrink below legibility */
  .venn-diagram-wrapper.main-wrapper .venn-svg {
    min-width: 640px !important;
    width: 640px !important;
    height: 320px !important; /* Maintain 2:1 aspect ratio */
    display: block !important;
    margin: 0 auto !important;
  }

  /* Custom scrollbar for the scrollable main Venn wrapper on mobile */
  .venn-diagram-wrapper.main-wrapper::-webkit-scrollbar {
    height: 5px !important;
  }
  .venn-diagram-wrapper.main-wrapper::-webkit-scrollbar-track {
    background: rgba(255, 255, 255, 0.01) !important;
    border-radius: 10px !important;
  }
  .venn-diagram-wrapper.main-wrapper::-webkit-scrollbar-thumb {
    background: rgba(0, 194, 255, 0.25) !important;
    border-radius: 10px !important;
  }
  .venn-diagram-wrapper.main-wrapper::-webkit-scrollbar-thumb:hover {
    background: rgba(0, 194, 255, 0.4) !important;
  }
  
  /* Scale text down on mobile so it stays perfectly inside circles */
  .venn-text-title {
    font-size: 28px !important;
  }
  
  .venn-text-item {
    font-size: 22px !important;
  }
  
  .center-title {
    font-size: 28px !important;
  }
  
  .center-item {
    font-size: 20px !important;
  }
}

@media (max-width: 480px) {
  /* On very small mobile screens, keep the same minimum width/height for the SVG
     so that the layout and text size don't shrink further, maintaining perfect legibility */
  .venn-diagram-wrapper.main-wrapper .venn-svg {
    min-width: 640px !important;
    width: 640px !important;
    height: 320px !important;
  }
}
