/*! YouSee360 CSS bundle — 13 files, exact concatenation of:
 * normalize.css
 * webflow.css
 * yousee360-66cc79.webflow.css
 * theme.css
 * navigation.css
 * design-system.css
 * page-modules.css
 * nav-v2.css
 * perf-fixes.css
 * mobile.css
 * wow.css
 * animations.css
 * blog.css
 */
/* ===== normalize.css ===== */
/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */
/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS and IE text size adjust after device orientation change,
 *    without disabling user zoom.
 */
html {
  font-family: sans-serif;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
}
/**
 * Remove default margin.
 */
body {
  margin: 0;
}
/* HTML5 display definitions
   ========================================================================== */
/**
 * Correct `block` display not defined for any HTML5 element in IE 8/9.
 * Correct `block` display not defined for `details` or `summary` in IE 10/11
 * and Firefox.
 * Correct `block` display not defined for `main` in IE 11.
 */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
  display: block;
}
/**
 * 1. Correct `inline-block` display not defined in IE 8/9.
 * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
 */
audio,
canvas,
progress,
video {
  display: inline-block;
  /* 1 */
  vertical-align: baseline;
  /* 2 */
}
/**
 * Prevent modern browsers from displaying `audio` without controls.
 * Remove excess height in iOS 5 devices.
 */
audio:not([controls]) {
  display: none;
  height: 0;
}
/**
 * Address `[hidden]` styling not present in IE 8/9/10.
 * Hide the `template` element in IE 8/9/10/11, Safari, and Firefox < 22.
 */
[hidden],
template {
  display: none;
}
/* Links
   ========================================================================== */
/**
 * Remove the gray background color from active links in IE 10.
 */
a {
  background-color: transparent;
}
/**
 * Improve readability of focused elements when they are also in an
 * active/hover state.
 */
a:active,
a:hover {
  outline: 0;
}
/* Text-level semantics
   ========================================================================== */
/**
 * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
 */
abbr[title] {
  border-bottom: 1px dotted;
}
/**
 * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
 */
b,
strong {
  font-weight: bold;
}
/**
 * Address styling not present in Safari and Chrome.
 */
dfn {
  font-style: italic;
}
/**
 * Address variable `h1` font-size and margin within `section` and `article`
 * contexts in Firefox 4+, Safari, and Chrome.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}
/**
 * Address styling not present in IE 8/9.
 */
mark {
  background: #ff0;
  color: #000;
}
/**
 * Address inconsistent and variable font size in all browsers.
 */
small {
  font-size: 80%;
}
/**
 * Prevent `sub` and `sup` affecting `line-height` in all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}
sup {
  top: -0.5em;
}
sub {
  bottom: -0.25em;
}
/* Embedded content
   ========================================================================== */
/**
 * Remove border when inside `a` element in IE 8/9/10.
 */
img {
  border: 0;
}
/**
 * Correct overflow not hidden in IE 9/10/11.
 */
svg:not(:root) {
  overflow: hidden;
}
/* Grouping content
   ========================================================================== */
/**
 * Address margin not present in IE 8/9 and Safari.
 */
figure {
  margin: 1em 40px;
}
/**
 * Address differences between Firefox and other browsers.
 */
hr {
  box-sizing: content-box;
  height: 0;
}
/**
 * Contain overflow in all browsers.
 */
pre {
  overflow: auto;
}
/**
 * Address odd `em`-unit font size rendering in all browsers.
 */
code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
}
/* Forms
   ========================================================================== */
/**
 * Known limitation: by default, Chrome and Safari on OS X allow very limited
 * styling of `select`, unless a `border` property is set.
 */
/**
 * 1. Correct color not being inherited.
 *    Known issue: affects color of disabled elements.
 * 2. Correct font properties not being inherited.
 * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
 */
button,
input,
optgroup,
select,
textarea {
  color: inherit;
  /* 1 */
  font: inherit;
  /* 2 */
  margin: 0;
  /* 3 */
}
/**
 * Address `overflow` set to `hidden` in IE 8/9/10/11.
 */
button {
  overflow: visible;
}
/**
 * Address inconsistent `text-transform` inheritance for `button` and `select`.
 * All other form control elements do not inherit `text-transform` values.
 * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
 * Correct `select` style inheritance in Firefox.
 */
button,
select {
  text-transform: none;
}
/**
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 *    and `video` controls.
 * 2. Correct inability to style clickable `input` types in iOS.
 * 3. Improve usability and consistency of cursor style between image-type
 *    `input` and others.
 * 4. CUSTOM FOR WEBFLOW: Removed the input[type="submit"] selector to reduce
 *    specificity and defer to the .w-button selector
 */
button,
html input[type="button"],
input[type="reset"] {
  -webkit-appearance: button;
  /* 2 */
  cursor: pointer;
  /* 3 */
}
/**
 * Re-set default cursor for disabled elements.
 */
button[disabled],
html input[disabled] {
  cursor: default;
}
/**
 * Remove inner padding and border in Firefox 4+.
 */
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}
/**
 * Address Firefox 4+ setting `line-height` on `input` using `!important` in
 * the UA stylesheet.
 */
input {
  line-height: normal;
}
/**
 * It's recommended that you don't attempt to style these elements.
 * Firefox's implementation doesn't respect box-sizing, padding, or width.
 *
 * 1. Address box sizing set to `content-box` in IE 8/9/10.
 * 2. Remove excess padding in IE 8/9/10.
 */
input[type='checkbox'],
input[type='radio'] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */
}
/**
 * Fix the cursor style for Chrome's increment/decrement buttons. For certain
 * `font-size` values of the `input`, it causes the cursor style of the
 * decrement button to change from `default` to `text`.
 */
input[type='number']::-webkit-inner-spin-button,
input[type='number']::-webkit-outer-spin-button {
  height: auto;
}
/**
 * 1. CUSTOM FOR WEBFLOW: changed from `textfield` to `none` to normalize iOS rounded input
 * 2. CUSTOM FOR WEBFLOW: box-sizing: content-box rule removed
 *    (similar to normalize.css >=4.0.0)
 */
input[type='search'] {
  -webkit-appearance: none;
  /* 1 */
}
/**
 * Remove inner padding and search cancel button in Safari and Chrome on OS X.
 * Safari (but not Chrome) clips the cancel button when the search input has
 * padding (and `textfield` appearance).
 */
input[type='search']::-webkit-search-cancel-button,
input[type='search']::-webkit-search-decoration {
  -webkit-appearance: none;
}
/**
 * Define consistent border, margin, and padding.
 */
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}
/**
 * 1. Correct `color` not being inherited in IE 8/9/10/11.
 * 2. Remove padding so people aren't caught out if they zero out fieldsets.
 */
legend {
  border: 0;
  /* 1 */
  padding: 0;
  /* 2 */
}
/**
 * Remove default vertical scrollbar in IE 8/9/10/11.
 */
textarea {
  overflow: auto;
}
/**
 * Don't inherit the `font-weight` (applied by a rule above).
 * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
 */
optgroup {
  font-weight: bold;
}
/* Tables
   ========================================================================== */
/**
 * Remove most spacing between table cells.
 */
table {
  border-collapse: collapse;
  border-spacing: 0;
}
td,
th {
  padding: 0;
}

/* ===== webflow.css ===== */
@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-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'webflow-icons' !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.w-icon-slider-right:before {
  content: "\e600";
}
.w-icon-slider-left:before {
  content: "\e601";
}
.w-icon-nav-menu:before {
  content: "\e602";
}
.w-icon-arrow-down:before,
.w-icon-dropdown-toggle:before {
  content: "\e603";
}
.w-icon-file-upload-remove:before {
  content: "\e900";
}
.w-icon-file-upload-icon:before {
  content: "\e903";
}
* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
html {
  height: 100%;
}
body {
  margin: 0;
  min-height: 100%;
  background-color: #fff;
  font-family: Arial, sans-serif;
  font-size: 14px;
  line-height: 20px;
  color: #333;
}
img {
  max-width: 100%;
  vertical-align: middle;
  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: " ";
  display: table;
  grid-column-start: 1;
  grid-row-start: 1;
  grid-column-end: 2;
  grid-row-end: 2;
}
.w-clearfix:after {
  clear: both;
}
.w-hidden {
  display: none;
}
.w-button {
  display: inline-block;
  padding: 9px 15px;
  background-color: #3898EC;
  color: white;
  border: 0;
  line-height: inherit;
  text-decoration: none;
  cursor: pointer;
  border-radius: 0;
}
input.w-button {
  -webkit-appearance: button;
}
html[data-w-dynpage] [data-w-cloak] {
  color: transparent !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;
  transition: 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;
  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;
}
.w-webflow-badge {
  position: fixed !important;
  display: inline-block !important;
  visibility: visible !important;
  opacity: 1 !important;
  z-index: 2147483647 !important;
  top: auto !important;
  right: 12px !important;
  bottom: 12px !important;
  left: auto !important;
  color: #aaadb0 !important;
  background-color: #fff !important;
  border-radius: 3px !important;
  padding: 6px !important;
  font-size: 12px !important;
  line-height: 14px !important;
  text-decoration: none !important;
  transform: none !important;
  margin: 0 !important;
  width: auto !important;
  height: auto !important;
  overflow: unset !important;
  white-space: nowrap;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1), 0px 1px 3px rgba(0, 0, 0, 0.1);
  cursor: pointer;
}
.w-webflow-badge > img {
  position: unset;
  display: inline-block !important;
  visibility: unset !important;
  opacity: 1 !important;
  vertical-align: middle !important;
}
h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: bold;
  margin-bottom: 10px;
}
h1 {
  font-size: 38px;
  line-height: 44px;
  margin-top: 20px;
}
h2 {
  font-size: 32px;
  line-height: 36px;
  margin-top: 20px;
}
h3 {
  font-size: 24px;
  line-height: 30px;
  margin-top: 20px;
}
h4 {
  font-size: 18px;
  line-height: 24px;
  margin-top: 10px;
}
h5 {
  font-size: 14px;
  line-height: 20px;
  margin-top: 10px;
}
h6 {
  font-size: 12px;
  line-height: 18px;
  margin-top: 10px;
}
p {
  margin-top: 0;
  margin-bottom: 10px;
}
blockquote {
  margin: 0 0 10px 0;
  padding: 10px 20px;
  border-left: 5px solid #E2E2E2;
  font-size: 18px;
  line-height: 22px;
}
figure {
  margin: 0;
  margin-bottom: 10px;
}
figcaption {
  margin-top: 5px;
  text-align: center;
}
ul,
ol {
  margin-top: 0px;
  margin-bottom: 10px;
  padding-left: 40px;
}
.w-list-unstyled {
  padding-left: 0;
  list-style: none;
}
.w-embed:before,
.w-embed:after {
  content: " ";
  display: table;
  grid-column-start: 1;
  grid-row-start: 1;
  grid-column-end: 2;
  grid-row-end: 2;
}
.w-embed:after {
  clear: both;
}
.w-video {
  width: 100%;
  position: relative;
  padding: 0;
}
.w-video iframe,
.w-video object,
.w-video embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: none;
}
fieldset {
  padding: 0;
  margin: 0;
  border: 0;
}
button,
[type='button'],
[type='reset'] {
  border: 0;
  cursor: pointer;
  -webkit-appearance: button;
}
.w-form {
  margin: 0 0 15px;
}
.w-form-done {
  display: none;
  padding: 20px;
  text-align: center;
  background-color: #dddddd;
}
.w-form-fail {
  display: none;
  margin-top: 10px;
  padding: 10px;
  background-color: #ffdede;
}
label {
  display: block;
  margin-bottom: 5px;
  font-weight: bold;
}
.w-input,
.w-select {
  display: block;
  width: 100%;
  height: 38px;
  padding: 8px 12px;
  margin-bottom: 10px;
  font-size: 14px;
  line-height: 1.42857143;
  color: #333333;
  vertical-align: middle;
  background-color: #ffffff;
  border: 1px solid #cccccc;
}
.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: #eeeeee;
}
textarea.w-input,
textarea.w-select {
  height: auto;
}
.w-select {
  background-color: #f3f3f3;
}
.w-select[multiple] {
  height: auto;
}
.w-form-label {
  display: inline-block;
  cursor: pointer;
  font-weight: normal;
  margin-bottom: 0px;
}
.w-radio {
  display: block;
  margin-bottom: 5px;
  padding-left: 20px;
}
.w-radio:before,
.w-radio:after {
  content: " ";
  display: table;
  grid-column-start: 1;
  grid-row-start: 1;
  grid-column-end: 2;
  grid-row-end: 2;
}
.w-radio:after {
  clear: both;
}
.w-radio-input {
  margin: 4px 0 0;
  line-height: normal;
  float: left;
  margin-left: -20px;
}
.w-radio-input {
  margin-top: 3px;
}
.w-file-upload {
  display: block;
  margin-bottom: 10px;
}
.w-file-upload-input {
  width: 0.1px;
  height: 0.1px;
  opacity: 0;
  overflow: hidden;
  position: absolute;
  z-index: -100;
}
.w-file-upload-default,
.w-file-upload-uploading,
.w-file-upload-success {
  display: inline-block;
  color: #333333;
}
.w-file-upload-error {
  display: block;
  margin-top: 10px;
}
.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 {
  display: flex;
  font-size: 14px;
  font-weight: normal;
  cursor: pointer;
  margin: 0;
  padding: 8px 12px;
  border: 1px solid #cccccc;
  background-color: #fafafa;
}
.w-file-upload-file {
  display: flex;
  flex-grow: 1;
  justify-content: space-between;
  margin: 0;
  padding: 8px 9px 8px 11px;
  border: 1px solid #cccccc;
  background-color: #fafafa;
}
.w-file-upload-file-name {
  font-size: 14px;
  font-weight: normal;
  display: block;
}
.w-file-remove-link {
  margin-top: 3px;
  margin-left: 10px;
  width: auto;
  height: auto;
  padding: 3px;
  display: block;
  cursor: pointer;
}
.w-icon-file-upload-remove {
  margin: auto;
  font-size: 10px;
}
.w-file-upload-error-msg {
  display: inline-block;
  color: #ea384c;
  padding: 2px 0;
}
.w-file-upload-info {
  display: inline-block;
  line-height: 38px;
  padding: 0 12px;
}
.w-file-upload-label {
  display: inline-block;
  font-size: 14px;
  font-weight: normal;
  cursor: pointer;
  margin: 0;
  padding: 8px 12px;
  border: 1px solid #cccccc;
  background-color: #fafafa;
}
.w-icon-file-upload-icon,
.w-icon-file-upload-uploading {
  display: inline-block;
  margin-right: 8px;
  width: 20px;
}
.w-icon-file-upload-uploading {
  height: 20px;
}
.w-container {
  margin-left: auto;
  margin-right: auto;
  max-width: 940px;
}
.w-container:before,
.w-container:after {
  content: " ";
  display: table;
  grid-column-start: 1;
  grid-row-start: 1;
  grid-column-end: 2;
  grid-row-end: 2;
}
.w-container:after {
  clear: both;
}
.w-container .w-row {
  margin-left: -10px;
  margin-right: -10px;
}
.w-row:before,
.w-row:after {
  content: " ";
  display: table;
  grid-column-start: 1;
  grid-row-start: 1;
  grid-column-end: 2;
  grid-row-end: 2;
}
.w-row:after {
  clear: both;
}
.w-row .w-row {
  margin-left: 0;
  margin-right: 0;
}
.w-col {
  position: relative;
  float: left;
  width: 100%;
  min-height: 1px;
  padding-left: 10px;
  padding-right: 10px;
}
.w-col .w-col {
  padding-left: 0;
  padding-right: 0;
}
.w-col-1 {
  width: 8.33333333%;
}
.w-col-2 {
  width: 16.66666667%;
}
.w-col-3 {
  width: 25%;
}
.w-col-4 {
  width: 33.33333333%;
}
.w-col-5 {
  width: 41.66666667%;
}
.w-col-6 {
  width: 50%;
}
.w-col-7 {
  width: 58.33333333%;
}
.w-col-8 {
  width: 66.66666667%;
}
.w-col-9 {
  width: 75%;
}
.w-col-10 {
  width: 83.33333333%;
}
.w-col-11 {
  width: 91.66666667%;
}
.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.33333333%;
  }
  .w-col-medium-2 {
    width: 16.66666667%;
  }
  .w-col-medium-3 {
    width: 25%;
  }
  .w-col-medium-4 {
    width: 33.33333333%;
  }
  .w-col-medium-5 {
    width: 41.66666667%;
  }
  .w-col-medium-6 {
    width: 50%;
  }
  .w-col-medium-7 {
    width: 58.33333333%;
  }
  .w-col-medium-8 {
    width: 66.66666667%;
  }
  .w-col-medium-9 {
    width: 75%;
  }
  .w-col-medium-10 {
    width: 83.33333333%;
  }
  .w-col-medium-11 {
    width: 91.66666667%;
  }
  .w-col-medium-12 {
    width: 100%;
  }
  .w-col-stack {
    width: 100%;
    left: auto;
    right: auto;
  }
}
@media screen and (max-width: 767px) {
  .w-hidden-main {
    display: inherit !important;
  }
  .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.33333333%;
  }
  .w-col-small-2 {
    width: 16.66666667%;
  }
  .w-col-small-3 {
    width: 25%;
  }
  .w-col-small-4 {
    width: 33.33333333%;
  }
  .w-col-small-5 {
    width: 41.66666667%;
  }
  .w-col-small-6 {
    width: 50%;
  }
  .w-col-small-7 {
    width: 58.33333333%;
  }
  .w-col-small-8 {
    width: 66.66666667%;
  }
  .w-col-small-9 {
    width: 75%;
  }
  .w-col-small-10 {
    width: 83.33333333%;
  }
  .w-col-small-11 {
    width: 91.66666667%;
  }
  .w-col-small-12 {
    width: 100%;
  }
}
@media screen and (max-width: 479px) {
  .w-container {
    max-width: none;
  }
  .w-hidden-main {
    display: inherit !important;
  }
  .w-hidden-medium {
    display: inherit !important;
  }
  .w-hidden-small {
    display: inherit !important;
  }
  .w-hidden-tiny {
    display: none !important;
  }
  .w-col {
    width: 100%;
  }
  .w-col-tiny-1 {
    width: 8.33333333%;
  }
  .w-col-tiny-2 {
    width: 16.66666667%;
  }
  .w-col-tiny-3 {
    width: 25%;
  }
  .w-col-tiny-4 {
    width: 33.33333333%;
  }
  .w-col-tiny-5 {
    width: 41.66666667%;
  }
  .w-col-tiny-6 {
    width: 50%;
  }
  .w-col-tiny-7 {
    width: 58.33333333%;
  }
  .w-col-tiny-8 {
    width: 66.66666667%;
  }
  .w-col-tiny-9 {
    width: 75%;
  }
  .w-col-tiny-10 {
    width: 83.33333333%;
  }
  .w-col-tiny-11 {
    width: 91.66666667%;
  }
  .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 {
  display: inline-block;
  vertical-align: top;
  position: relative;
  width: 28px;
  height: 20px;
  text-align: center;
  background: white;
  border: #758696 solid 1px;
  border-radius: 3px;
}
.w-widget-twitter-count-shim * {
  pointer-events: none;
  user-select: none;
}
.w-widget-twitter-count-shim .w-widget-twitter-count-inner {
  position: relative;
  font-size: 15px;
  line-height: 12px;
  text-align: center;
  color: #999;
  font-family: serif;
}
.w-widget-twitter-count-shim .w-widget-twitter-count-clear {
  position: relative;
  display: block;
}
.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 {
  top: 50%;
  left: 0;
  border: solid transparent;
  content: ' ';
  height: 0;
  width: 0;
  position: absolute;
  pointer-events: none;
}
.w-widget-twitter-count-shim:not(.w--vertical):before {
  border-color: rgba(117, 134, 150, 0);
  border-right-color: #5d6c7b;
  border-width: 4px;
  margin-left: -9px;
  margin-top: -4px;
}
.w-widget-twitter-count-shim:not(.w--vertical).w--large:before {
  border-width: 5px;
  margin-left: -10px;
  margin-top: -5px;
}
.w-widget-twitter-count-shim:not(.w--vertical):after {
  border-color: rgba(255, 255, 255, 0);
  border-right-color: white;
  border-width: 4px;
  margin-left: -8px;
  margin-top: -4px;
}
.w-widget-twitter-count-shim:not(.w--vertical).w--large:after {
  border-width: 5px;
  margin-left: -9px;
  margin-top: -5px;
}
.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 {
  top: 100%;
  left: 50%;
  border: solid transparent;
  content: ' ';
  height: 0;
  width: 0;
  position: absolute;
  pointer-events: none;
}
.w-widget-twitter-count-shim.w--vertical:before {
  border-color: rgba(117, 134, 150, 0);
  border-top-color: #5d6c7b;
  border-width: 5px;
  margin-left: -5px;
}
.w-widget-twitter-count-shim.w--vertical:after {
  border-color: rgba(255, 255, 255, 0);
  border-top-color: white;
  border-width: 4px;
  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 {
  position: relative;
  overflow: hidden;
  height: 500px;
  color: white;
}
.w-background-video > video {
  background-size: cover;
  background-position: 50% 50%;
  position: absolute;
  margin: auto;
  width: 100%;
  height: 100%;
  right: -100%;
  bottom: -100%;
  top: -100%;
  left: -100%;
  object-fit: cover;
  z-index: -100;
}
.w-background-video > video::-webkit-media-controls-start-playback-button {
  display: none !important;
  -webkit-appearance: none;
}
.w-background-video--control {
  position: absolute;
  bottom: 1em;
  right: 1em;
  background-color: transparent;
  padding: 0;
}
.w-background-video--control > [hidden] {
  display: none !important;
}
.w-slider {
  position: relative;
  height: 300px;
  text-align: center;
  background: #dddddd;
  clear: both;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  tap-highlight-color: rgba(0, 0, 0, 0);
}
.w-slider-mask {
  position: relative;
  display: block;
  overflow: hidden;
  z-index: 1;
  left: 0;
  right: 0;
  height: 100%;
  white-space: nowrap;
}
.w-slide {
  position: relative;
  display: inline-block;
  vertical-align: top;
  width: 100%;
  height: 100%;
  white-space: normal;
  text-align: left;
}
.w-slider-nav {
  position: absolute;
  z-index: 2;
  top: auto;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  padding-top: 10px;
  height: 40px;
  text-align: center;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  tap-highlight-color: rgba(0, 0, 0, 0);
}
.w-slider-nav.w-round > div {
  border-radius: 100%;
}
.w-slider-nav.w-num > div {
  width: auto;
  height: auto;
  padding: 0.2em 0.5em;
  font-size: inherit;
  line-height: inherit;
}
.w-slider-nav.w-shadow > div {
  box-shadow: 0 0 3px rgba(51, 51, 51, 0.4);
}
.w-slider-nav-invert {
  color: #fff;
}
.w-slider-nav-invert > div {
  background-color: rgba(34, 34, 34, 0.4);
}
.w-slider-nav-invert > div.w-active {
  background-color: #222;
}
.w-slider-dot {
  position: relative;
  display: inline-block;
  width: 1em;
  height: 1em;
  background-color: rgba(255, 255, 255, 0.4);
  cursor: pointer;
  margin: 0 3px 0.5em;
  transition: background-color 100ms, color 100ms;
}
.w-slider-dot.w-active {
  background-color: #fff;
}
.w-slider-dot:focus {
  outline: none;
  box-shadow: 0px 0px 0px 2px #fff;
}
.w-slider-dot:focus.w-active {
  box-shadow: none;
}
.w-slider-arrow-left,
.w-slider-arrow-right {
  position: absolute;
  width: 80px;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  cursor: pointer;
  overflow: hidden;
  color: white;
  font-size: 40px;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  tap-highlight-color: rgba(0, 0, 0, 0);
  user-select: none;
}
.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 {
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  width: 1em;
  height: 1em;
}
.w-slider-aria-label {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}
.w-slider-force-show {
  display: block !important;
}
.w-dropdown {
  display: inline-block;
  position: relative;
  text-align: left;
  margin-left: auto;
  margin-right: auto;
  z-index: 900;
}
.w-dropdown-btn,
.w-dropdown-toggle,
.w-dropdown-link {
  position: relative;
  vertical-align: top;
  text-decoration: none;
  color: #222222;
  padding: 20px;
  text-align: left;
  margin-left: auto;
  margin-right: auto;
  white-space: nowrap;
}
.w-dropdown-toggle {
  user-select: none;
  display: inline-block;
  cursor: pointer;
  padding-right: 40px;
}
.w-dropdown-toggle:focus {
  outline: 0;
}
.w-icon-dropdown-toggle {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  margin-right: 20px;
  width: 1em;
  height: 1em;
}
.w-dropdown-list {
  position: absolute;
  background: #dddddd;
  display: none;
  min-width: 100%;
}
.w-dropdown-list.w--open {
  display: block;
}
.w-dropdown-link {
  padding: 10px 20px;
  display: block;
  color: #222222;
}
.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;
  }
}
/**
 * ## Note
 * Safari (on both iOS and OS X) does not handle viewport units (vh, vw) well.
 * For example percentage units do not work on descendants of elements that
 * have any dimensions expressed in viewport units. It also doesn’t handle them at
 * all in `calc()`.
 */
/**
 * Wrapper around all lightbox elements
 *
 * 1. Since the lightbox can receive focus, IE also gives it an outline.
 * 2. Fixes flickering on Chrome when a transition is in progress
 *    underneath the lightbox.
 */
.w-lightbox-backdrop {
  cursor: auto;
  font-style: normal;
  letter-spacing: normal;
  list-style: disc;
  text-indent: 0;
  text-shadow: none;
  text-transform: none;
  visibility: visible;
  white-space: normal;
  word-break: normal;
  word-spacing: normal;
  word-wrap: normal;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  color: #fff;
  font-family: "Helvetica Neue", Helvetica, Ubuntu, "Segoe UI", Verdana, sans-serif;
  font-size: 17px;
  line-height: 1.2;
  font-weight: 300;
  text-align: center;
  background: rgba(0, 0, 0, 0.9);
  z-index: 2000;
  outline: 0;
  /* 1 */
  opacity: 0;
  -webkit-user-select: none;
  -moz-user-select: none;
  -webkit-tap-highlight-color: transparent;
  -webkit-transform: translate(0, 0);
  /* 2 */
}
/**
 * Neat trick to bind the rubberband effect to our canvas instead of the whole
 * document on iOS. It also prevents a bug that causes the document underneath to scroll.
 */
.w-lightbox-backdrop,
.w-lightbox-container {
  height: 100%;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}
.w-lightbox-content {
  position: relative;
  height: 100vh;
  overflow: hidden;
}
.w-lightbox-view {
  position: absolute;
  width: 100vw;
  height: 100vh;
  opacity: 0;
}
.w-lightbox-view:before {
  content: "";
  height: 100vh;
}
/* .w-lightbox-content */
.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 {
  display: inline-block;
  vertical-align: middle;
}
/*
 * 1. Remove default margin set by user-agent on the <figure> element.
 */
.w-lightbox-figure {
  position: relative;
  margin: 0;
  /* 1 */
}
.w-lightbox-group .w-lightbox-figure {
  cursor: pointer;
}
/**
 * IE adds image dimensions as width and height attributes on the IMG tag,
 * but we need both width and height to be set to auto to enable scaling.
 */
.w-lightbox-img {
  width: auto;
  height: auto;
  max-width: none;
}
/**
 * 1. Reset if style is set by user on "All Images"
 */
.w-lightbox-image {
  display: block;
  float: none;
  /* 1 */
  max-width: 100vw;
  max-height: 100vh;
}
.w-lightbox-group .w-lightbox-image {
  max-height: 86vh;
}
.w-lightbox-caption {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  padding: 0.5em 1em;
  background: rgba(0, 0, 0, 0.4);
  text-align: left;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}
.w-lightbox-embed {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.w-lightbox-control {
  position: absolute;
  top: 0;
  width: 4em;
  background-size: 24px;
  background-repeat: no-repeat;
  background-position: center;
  cursor: pointer;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.w-lightbox-left {
  display: none;
  bottom: 0;
  left: 0;
  /* <svg xmlns="http://www.w3.org/2000/svg" viewBox="-20 0 24 40" width="24" height="40"><g transform="rotate(45)"><path d="m0 0h5v23h23v5h-28z" opacity=".4"/><path d="m1 1h3v23h23v3h-26z" fill="#fff"/></g></svg> */
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9Ii0yMCAwIDI0IDQwIiB3aWR0aD0iMjQiIGhlaWdodD0iNDAiPjxnIHRyYW5zZm9ybT0icm90YXRlKDQ1KSI+PHBhdGggZD0ibTAgMGg1djIzaDIzdjVoLTI4eiIgb3BhY2l0eT0iLjQiLz48cGF0aCBkPSJtMSAxaDN2MjNoMjN2M2gtMjZ6IiBmaWxsPSIjZmZmIi8+PC9nPjwvc3ZnPg==");
}
.w-lightbox-right {
  display: none;
  right: 0;
  bottom: 0;
  /* <svg xmlns="http://www.w3.org/2000/svg" viewBox="-4 0 24 40" width="24" height="40"><g transform="rotate(45)"><path d="m0-0h28v28h-5v-23h-23z" opacity=".4"/><path d="m1 1h26v26h-3v-23h-23z" fill="#fff"/></g></svg> */
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9Ii00IDAgMjQgNDAiIHdpZHRoPSIyNCIgaGVpZ2h0PSI0MCI+PGcgdHJhbnNmb3JtPSJyb3RhdGUoNDUpIj48cGF0aCBkPSJtMC0waDI4djI4aC01di0yM2gtMjN6IiBvcGFjaXR5PSIuNCIvPjxwYXRoIGQ9Im0xIDFoMjZ2MjZoLTN2LTIzaC0yM3oiIGZpbGw9IiNmZmYiLz48L2c+PC9zdmc+");
}
/*
 * Without specifying the with and height inside the SVG, all versions of IE render the icon too small.
 * The bug does not seem to manifest itself if the elements are tall enough such as the above arrows.
 * (http://stackoverflow.com/questions/16092114/background-size-differs-in-internet-explorer)
 */
.w-lightbox-close {
  right: 0;
  height: 2.6em;
  /* <svg xmlns="http://www.w3.org/2000/svg" viewBox="-4 0 18 17" width="18" height="17"><g transform="rotate(45)"><path d="m0 0h7v-7h5v7h7v5h-7v7h-5v-7h-7z" opacity=".4"/><path d="m1 1h7v-7h3v7h7v3h-7v7h-3v-7h-7z" fill="#fff"/></g></svg> */
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9Ii00IDAgMTggMTciIHdpZHRoPSIxOCIgaGVpZ2h0PSIxNyI+PGcgdHJhbnNmb3JtPSJyb3RhdGUoNDUpIj48cGF0aCBkPSJtMCAwaDd2LTdoNXY3aDd2NWgtN3Y3aC01di03aC03eiIgb3BhY2l0eT0iLjQiLz48cGF0aCBkPSJtMSAxaDd2LTdoM3Y3aDd2M2gtN3Y3aC0zdi03aC03eiIgZmlsbD0iI2ZmZiIvPjwvZz48L3N2Zz4=");
  background-size: 18px;
}
/**
 * 1. All IE versions add extra space at the bottom without this.
 */
.w-lightbox-strip {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 0 1vh;
  line-height: 0;
  /* 1 */
  white-space: nowrap;
  overflow-x: auto;
  overflow-y: hidden;
}
/*
 * 1. We use content-box to avoid having to do `width: calc(10vh + 2vw)`
 *    which doesn’t work in Safari anyway.
 * 2. Chrome renders images pixelated when switching to GPU. Making sure
 *    the parent is also rendered on the GPU (by setting translate3d for
 *    example) fixes this behavior.
 */
.w-lightbox-item {
  display: inline-block;
  width: 10vh;
  padding: 2vh 1vh;
  box-sizing: content-box;
  /* 1 */
  cursor: pointer;
  -webkit-transform: translate3d(0, 0, 0);
  /* 2 */
}
.w-lightbox-active {
  opacity: 0.3;
}
.w-lightbox-thumbnail {
  position: relative;
  height: 10vh;
  background: #222;
  overflow: hidden;
}
.w-lightbox-thumbnail-image {
  position: absolute;
  top: 0;
  left: 0;
}
.w-lightbox-thumbnail .w-lightbox-tall {
  top: 50%;
  width: 100%;
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%);
}
.w-lightbox-thumbnail .w-lightbox-wide {
  left: 50%;
  height: 100%;
  -webkit-transform: translate(-50%, 0);
  transform: translate(-50%, 0);
}
/*
 * Spinner
 *
 * Absolute pixel values are used to avoid rounding errors that would cause
 * the white spinning element to be misaligned with the track.
 */
.w-lightbox-spinner {
  position: absolute;
  top: 50%;
  left: 50%;
  box-sizing: border-box;
  width: 40px;
  height: 40px;
  margin-top: -20px;
  margin-left: -20px;
  border: 5px solid rgba(0, 0, 0, 0.4);
  border-radius: 50%;
  -webkit-animation: spin 0.8s infinite linear;
  animation: spin 0.8s infinite linear;
}
.w-lightbox-spinner:after {
  content: "";
  position: absolute;
  top: -4px;
  right: -4px;
  bottom: -4px;
  left: -4px;
  border: 3px solid transparent;
  border-bottom-color: #fff;
  border-radius: 50%;
}
/*
 * Utility classes
 */
.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-content */
  .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 {
    display: block;
    opacity: 0.5;
  }
  .w-lightbox-close {
    opacity: 0.8;
  }
  .w-lightbox-control:hover {
    opacity: 1;
  }
}
.w-lightbox-inactive,
.w-lightbox-inactive:hover {
  opacity: 0;
}
.w-richtext:before,
.w-richtext:after {
  content: " ";
  display: table;
  grid-column-start: 1;
  grid-row-start: 1;
  grid-column-end: 2;
  grid-row-end: 2;
}
.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 {
  outline: 2px solid #2895f7;
}
.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: '';
  position: absolute;
  display: none;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
}
.w-richtext figure {
  position: relative;
  max-width: 60%;
}
.w-richtext figure > div:before {
  cursor: default!important;
}
.w-richtext figure img {
  width: 100%;
}
.w-richtext figure figcaption.w-richtext-figcaption-placeholder {
  opacity: 0.6;
}
.w-richtext figure div {
  /* fix incorrectly sized selection border in the data manager */
  font-size: 0px;
  color: transparent;
}
.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 {
  display: table-caption;
  caption-side: bottom;
}
.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 {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.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 {
  margin-right: auto;
  margin-left: auto;
  clear: both;
}
.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 {
  width: 100%;
  max-width: 100%;
  text-align: center;
  clear: both;
  display: block;
  margin-right: auto;
  margin-left: auto;
}
.w-richtext figure.w-richtext-align-fullwidth > div {
  display: inline-block;
  /* padding-bottom is used for aspect ratios in video figures
      we want the div to inherit that so hover/selection borders in the designer-canvas
      fit right*/
  padding-bottom: inherit;
}
.w-richtext figure.w-richtext-align-fullwidth > figcaption {
  display: block;
}
.w-richtext figure.w-richtext-align-floatleft {
  float: left;
  margin-right: 15px;
  clear: none;
}
.w-richtext figure.w-richtext-align-floatright {
  float: right;
  margin-left: 15px;
  clear: none;
}
.w-nav {
  position: relative;
  background: #dddddd;
  z-index: 1000;
}
.w-nav:before,
.w-nav:after {
  content: " ";
  display: table;
  grid-column-start: 1;
  grid-row-start: 1;
  grid-column-end: 2;
  grid-row-end: 2;
}
.w-nav:after {
  clear: both;
}
.w-nav-brand {
  position: relative;
  float: left;
  text-decoration: none;
  color: #333333;
}
.w-nav-link {
  position: relative;
  display: inline-block;
  vertical-align: top;
  text-decoration: none;
  color: #222222;
  padding: 20px;
  text-align: left;
  margin-left: auto;
  margin-right: auto;
}
.w-nav-link.w--current {
  color: #0082f3;
}
.w-nav-menu {
  position: relative;
  float: right;
}
[data-nav-menu-open] {
  display: block !important;
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background: #C8C8C8;
  text-align: center;
  overflow: visible;
  min-width: 200px;
}
.w--nav-link-open {
  display: block;
  position: relative;
}
.w-nav-overlay {
  position: absolute;
  overflow: hidden;
  display: none;
  top: 100%;
  left: 0;
  right: 0;
  width: 100%;
}
.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] {
  right: auto;
  z-index: 1;
  top: 0;
}
.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] {
  left: auto;
  z-index: 1;
  top: 0;
}
.w-nav-button {
  position: relative;
  float: right;
  padding: 18px;
  font-size: 24px;
  display: none;
  cursor: pointer;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  tap-highlight-color: rgba(0, 0, 0, 0);
  user-select: none;
}
.w-nav-button:focus {
  outline: 0;
}
.w-nav-button.w--open {
  background-color: #C8C8C8;
  color: white;
}
.w-nav[data-collapse='all'] .w-nav-menu {
  display: none;
}
.w-nav[data-collapse='all'] .w-nav-button {
  display: block;
}
.w--nav-dropdown-open {
  display: block;
}
.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: " ";
  display: table;
  grid-column-start: 1;
  grid-row-start: 1;
  grid-column-end: 2;
  grid-row-end: 2;
}
.w-tabs:after {
  clear: both;
}
.w-tab-menu {
  position: relative;
}
.w-tab-link {
  position: relative;
  display: inline-block;
  vertical-align: top;
  text-decoration: none;
  padding: 9px 30px;
  text-align: left;
  cursor: pointer;
  color: #222222;
  background-color: #dddddd;
}
.w-tab-link.w--current {
  background-color: #C8C8C8;
}
.w-tab-link:focus {
  outline: 0;
}
.w-tab-content {
  position: relative;
  display: block;
  overflow: hidden;
}
.w-tab-pane {
  position: relative;
  display: none;
}
.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(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
.w-dyn-empty {
  padding: 10px;
  background-color: #dddddd;
}
.w-dyn-hide {
  display: none !important;
}
.w-dyn-bind-empty {
  display: none !important;
}
.w-condition-invisible {
  display: none !important;
}
.wf-layout-layout {
  display: grid;
}

/* ===== yousee360-66cc79.webflow.css ===== */
:root {
  --medium-sea-green: #30ad64;
  --uc-green360: #62e382;
  --uc-blue: #24c0d8;
  --dark-background-color: #192024;
  --white-smoke: #ecf0f1;
  --white-smoke-2: #f0f0f0;
  --untitled-ui--white: white;
  --light-sea-green: #25ccbf3d;
  --uc-green: var(--light-sea-green);
  --flowui-component-library--gray-900: #160042;
  --flowui-component-library--white: white;
  --flowui-component-library--gray-700: #282556;
  --flowui-component-library--grey-300: #e4e6f1;
  --flowui-component-library--gray-400: #b6b9ce;
  --dark-khaki: #a8d069;
  --steel-blue-2: #2e80b6;
  --steel-blue: #3b99d9;
  --conversion-flow-library--medium-purple: #b16cea;
  --conversion-flow-library--light-coral: #ff5e69;
  --conversion-flow-library--sandy-brown: #ffa84b;
  --conversion-flow-library--coral: #ff8a56;
  --untitled-ui--gray200: #eaecf0;
  --untitled-ui--gray900: #101828;
  --untitled-ui--primary700: #6941c6;
  --untitled-ui--gray600: #475467;
  --untitled-ui--primary600: #7f56d9;
  --untitled-ui--primary100: #f4ebff;
  --untitled-ui--gray100: #f2f4f7;
  --untitled-ui--gray700: #344054;
  --untitled-ui--primary50: #f9f5ff;
  --untitled-ui--gray500: #667085;
  --untitled-ui--gray50-2: #f9fafb;
  --flowui-component-library--gray-200: #f3f5fb;
  --flowui-component-library--grey-600: #393b6a;
  --flowui-component-library--primary-base: #642eff;
  --flowui-component-library--gray-100: #f7f9fd;
  --flowui-component-library--primary-lighter: #f7f5ff;
  --flowui-component-library--gray-500: #6b7094;
  --light-sea-green-2: #20ac99;
  --sandy-brown: #f8c740;
  --goldenrod: #e2a62b;
  --khaki: #face6a;
  --sandy-brown-2: #e4b962;
  --salmon: #fd7072;
  --indian-red: #cf404d;
  --tan: #d39f9a;
  --dim-gray: #735260;
  --indian-red-2: #af4173;
  --brown: #822e50;
  --tomato: #e64c40;
  --firebrick: #bf3a30;
  --salmon-2: #fc7d64;
  --silver: #bec3c7;
  --dim-gray-2: #49647b;
  --dark-slate-gray: #2d3e4f;
  --dark-slate-gray-2: #404047;
  --white-smoke-3: #edeff2;
  --cadet-blue: #668cad;
  --pale-turquoise: #bfe0ff;
  --light-sky-blue: #69b9ff;
  --dodger-blue: #2e9dff;
  --black: #192024;
  --dim-gray-3: #676770;
  --light-slate-gray: #8e8e9c;
}

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

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

.w-checkbox:after {
  content: " ";
  clear: both;
  grid-area: 1 / 1 / 2 / 2;
  display: table;
}

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

/* Fix Checkbox Interaction */
.w-checkbox-input--inputType-custom {
  border: 1px solid #ccc;
  border-radius: 3px;
  width: 12px;
  height: 12px;
  pointer-events: none;
  /* Let clicks pass through to the input/label */
}

input[type="checkbox"],
input[type="radio"] {
  cursor: pointer;
  z-index: 1 !important;
  /* Bring input to front to capture clicks */
  opacity: 0.01 !important;
  /* Almost invisible but functional */
  width: 100% !important;
  height: 100% !important;
  position: absolute !important;
  inset: 0 !important;
}

.w-checkbox {
  position: relative;
  /* Ensure containment */
}

.w-checkbox-input--inputType-custom.w--redirected-checked {
  background-color: #3898ec;
  background-image: url('https://d3e54v103j8qbb.cloudfront.net/static/custom-checkbox-checkmark.589d534424.svg');
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: cover;
  border-color: #3898ec;
}

.w-checkbox-input--inputType-custom.w--redirected-focus {
  box-shadow: 0 0 3px 1px #3898ec;
}

body {
  color: #6a859c;
  background-color: #edeff2;
  font-family: Open Sans, sans-serif;
  font-size: 16px;
  line-height: 20px;
}

h1 {
  margin-top: 0;
  margin-bottom: 10px;
  font-size: 38px;
  font-weight: 700;
  line-height: 44px;
}

h2 {
  color: #676770;
  text-align: center;
  margin-top: 0;
  margin-bottom: 10px;
  font-size: 32px;
  font-weight: 300;
  line-height: 36px;
}

h3 {
  color: #676770;
  letter-spacing: 7px;
  text-transform: uppercase;
  margin-top: 0;
  margin-bottom: 0;
  font-size: 20px;
  font-weight: 300;
  line-height: 30px;
}

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

h5 {
  color: #676770;
  letter-spacing: 4px;
  text-transform: uppercase;
  margin-top: 0;
  margin-bottom: 20px;
  font-size: 18px;
  font-weight: 300;
  line-height: 20px;
}

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

p {
  margin-top: 10px;
  margin-bottom: 10px;
  font-size: 14px;
  font-weight: 300;
  line-height: 25px;
}

.button {
  color: #fff;
  text-align: center;
  letter-spacing: 2px;
  text-transform: uppercase;
  background-color: #24c0d8;
  border-radius: 5px;
  margin-left: 10px;
  margin-right: 10px;
  padding: 12px 30px;
  font-family: Montserrat, sans-serif;
  font-size: 16px;
  font-weight: 300;
  line-height: 21px;
  text-decoration: none;
  transition: background-color .3s;
  display: inline-block;
}

.button:hover {
  background-color: #2e9dff;
}

.button.w--current {
  background-color: #2e80b6;
}

.button.full-width {
  width: 100%;
  margin-left: 0;
  margin-right: 0;
  display: block;
}

.button.tab {
  background-color: #92a0ad;
  margin-left: 8px;
  margin-right: 8px;
}

.button.tab:hover,
.button.tab.w--current {
  background-color: #2e80b6;
}

.navigation-link {
  border: 0px solid var(--medium-sea-green);
  color: #fff;
  background-color: #22b2c900;
  border-radius: 21px;
  margin-top: 0;
  transition: all .3s ease-in-out;
  transform: scale(.8);
}

.navigation-link:hover {
  background-color: var(--uc-green360);
  color: #000;
}

.navigation-link.w--current {
  color: #fff;
  -webkit-text-fill-color: inherit;
  background-color: #0000;
  background-clip: border-box;
  border: 0 #000;
  border-radius: 5px;
  margin-top: 0;
  padding-top: 20px;
  font-family: Montserrat, sans-serif;
  font-weight: 400;
}

.navigation-link.w--current:hover {
  color: #429856;
}

.navigation-bar {
  z-index: auto;
  box-sizing: border-box;
  float: none;
  clear: none;
  grid-column-gap: 0px;
  grid-row-gap: 0px;
  aspect-ratio: auto;
  opacity: 1;
  filter: none;
  -webkit-backdrop-filter: brightness(50%) blur(5px);
  backdrop-filter: brightness(50%) blur(5px);
  color: #f3f3f3;
  text-align: left;
  mix-blend-mode: normal;
  object-fit: fill;
  background-color: #0000;
  flex-flow: row;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  justify-content: space-around;
  align-items: flex-start;
  width: 100%;
  height: auto;
  margin-left: auto;
  margin-right: auto;
  padding-top: 0;
  font-family: Montserrat, sans-serif;
  display: flex;
  position: static;
  inset: 0% 0% auto;
}

.navigation-bar.sticky {
  z-index: 10;
  float: none;
  clear: none;
  grid-column-gap: 0px;
  grid-row-gap: 0px;
  justify-content: space-between;
  align-items: center;
  margin-left: 0;
  display: flex;
  position: sticky;
  inset: 0% 0% auto;
}

.navigation-menu {
  float: right;
  clear: none;
  flex-flow: row;
  flex: 1;
  order: 1;
  justify-content: flex-end;
  align-self: center;
  align-items: flex-start;
  height: 50%;
  margin: 50px 40px;
  display: flex;
  position: static;
  inset: 0% 0% 0% auto;
}

.brand-text {
  clear: none;
  grid-column-gap: 0px;
  grid-row-gap: 0px;
  color: #69b9ff;
  letter-spacing: 4px;
  text-transform: uppercase;
  object-fit: fill;
  background-image: url('../images/Aqua-and-Teal-Modern-Sophisticated-Spiral-Circle-Business-Consulting-Logo-Design.svg');
  background-size: 250px;
  justify-content: center;
  align-items: center;
  margin-top: 0;
  margin-bottom: 0;
  font-family: Open Sans, sans-serif;
  font-size: 25px;
  font-weight: 300;
  line-height: 25px;
  display: flex;
  position: sticky;
  overflow: auto;
}

.brand-link {
  padding-top: 16px;
  padding-bottom: 16px;
}

.brand-link.w--current {
  box-sizing: border-box;
  float: none;
  clear: both;
  object-fit: contain;
  padding-top: 0;
  padding-bottom: 0;
  display: block;
}

.section {
  text-align: center;
  background-color: #fff;
  padding: 80px 10px;
  position: relative;
}

.section.accent {
  clear: none;
  background-color: #1920245e;
  height: auto;
  max-height: none;
  margin-bottom: auto;
  overflow: hidden;
}

.section.wwd {
  opacity: 1;
  -webkit-backdrop-filter: blur(7px);
  backdrop-filter: blur(7px);
  outline-offset: 0px;
  -webkit-text-fill-color: inherit;
  background-image: linear-gradient(#00000080, #00000080), url('../images/tours/elsalto.jpg');
  background-position: 0 0, 0 0;
  background-repeat: repeat, no-repeat;
  background-size: auto, cover;
  background-attachment: scroll, fixed;
  background-clip: border-box;
  outline: 0 #6a859c;
  margin-bottom: 0;
  padding: 0 0 40px;
}

.white-1box {
  border: 2px none var(--uc-blue);
  box-shadow: none;
  opacity: 1;
  -webkit-backdrop-filter: blur(9px);
  backdrop-filter: blur(9px);
  outline-color: var(--uc-blue);
  outline-offset: 0px;
  color: #24c0d8;
  text-align: center;
  background-color: #5dd4f51a;
  background-image: linear-gradient(#00000080, #00000080);
  border-radius: 8px;
  outline-width: 1px;
  outline-style: solid;
  height: 350px;
  margin-top: 15px;
  margin-bottom: 15px;
  padding: 10px 20px 20px;
  font-family: Montserrat, sans-serif;
  display: block;
}

.white-1box:hover {
  box-shadow: 2px 2px 15px 2px var(--uc-blue), inset 2px 2px 15px 2px var(--uc-green360);
  outline-color: var(--uc-green360);
  outline-offset: 0px;
  outline-width: 1px;
  outline-style: solid;
}

.white-1box.transparent {
  box-sizing: border-box;
  box-shadow: none;
  outline-color: var(--uc-blue);
  outline-offset: 0px;
  object-fit: fill;
  background-color: #0000;
  border-style: none;
  outline-width: 1px;
  outline-style: none;
  height: 560px;
  padding-bottom: 220px;
  display: inline-block;
}

.white-1box.transparent.transparent-box {
  box-shadow: none;
  outline-color: var(--uc-blue);
  outline-offset: 0px;
  border-style: none;
  outline-width: 1px;
  outline-style: none;
}

.white-1box.vid-cont {
  box-sizing: border-box;
  grid-column-gap: 16px;
  grid-row-gap: 16px;
  outline-color: var(--uc-blue);
  outline-offset: 0px;
  object-fit: contain;
  outline-width: 1px;
  outline-style: solid;
  grid-template-rows: auto auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  height: 350px;
  margin-bottom: 15px;
  padding: 0;
  display: block;
  overflow: visible;
}

.hero-section {
  padding-top: 242px;
  padding-bottom: 242px;
}

.hero-section.centered {
  text-align: center;
  -webkit-text-fill-color: inherit;
  background-color: #131010c2;
  background-image: url('../images/tours/elsalto.jpg');
  background-position: 0 0;
  background-size: cover;
  background-clip: border-box;
  border-bottom: 4px solid #69b9ff;
  margin-top: 0;
  padding-top: 220px;
  padding-bottom: 220px;
}

.hero-heading {
  color: #fff;
  letter-spacing: 4px;
  text-transform: uppercase;
  margin-bottom: 30px;
  font-family: Montserrat, sans-serif;
  font-size: 30px;
  font-weight: 300;
  line-height: 60px;
}

.hero-subheading {
  outline-offset: 0px;
  color: #2e9dff;
  letter-spacing: 3px;
  -webkit-text-stroke-width: .25px;
  -webkit-text-stroke-color: var(--white-smoke);
  text-transform: uppercase;
  text-shadow: 4px 4px 6px #000000b5;
  overflow-wrap: normal;
  outline: 3px #2e9dff;
  margin-bottom: 40px;
  font-family: Montserrat, sans-serif;
  font-size: 25px;
  font-style: normal;
  font-weight: 300;
  line-height: 25px;
}

.hollow-button {
  color: #fff;
  letter-spacing: 2px;
  text-transform: uppercase;
  border: 1px solid #fff;
  border-radius: 5px;
  margin-left: 10px;
  margin-right: 10px;
  padding: 10px 30px;
  font-weight: 300;
  line-height: 21px;
  text-decoration: none;
  transition: background-color .3s, border .3s, color .3s;
  display: inline-block;
}

.hollow-button:hover {
  color: #2e9dff;
  border-color: #2e9dff;
}

.hollow-button.all-caps {
  -webkit-backdrop-filter: blur(2px);
  backdrop-filter: blur(2px);
  -webkit-text-stroke-color: #24c0d8;
  text-transform: uppercase;
  background-color: #f5f5f500;
  border-color: #24c0d8;
  font-family: Montserrat, sans-serif;
}

.section-heading {
  margin-top: 0;
  margin-bottom: 16px;
}

.section-heading.centered {
  outline-offset: 0px;
  color: var(--white-smoke-2);
  text-align: center;
  letter-spacing: 5px;
  -webkit-text-stroke-width: 0px;
  -webkit-text-stroke-color: var(--uc-blue);
  text-transform: uppercase;
  text-shadow: 2px 2px 20px var(--uc-blue);
  -webkit-text-fill-color: inherit;
  mix-blend-mode: normal;
  background-clip: border-box;
  outline: 3px #f0f0f0;
  font-family: Montserrat, sans-serif;
  font-size: 30px;
  font-weight: 700;
}

.section-heading.centered.white {
  opacity: 1;
  outline-offset: 0px;
  color: var(--uc-blue);
  -webkit-text-stroke-color: var(--uc-blue);
  outline: 3px #24c0d8;
  font-family: Montserrat, sans-serif;
  font-weight: 800;
}

.section-subheading.center {
  color: #fff;
  text-align: center;
  letter-spacing: 3px;
  text-transform: uppercase;
  background-color: #0000;
  font-family: Montserrat, sans-serif;
  font-size: 18px;
  font-weight: 400;
}

.section-subheading.center.off-white {
  color: #e8e8e8;
  padding-bottom: 0;
}

.section-title-group {
  margin-bottom: 60px;
}

.form-field {
  border: 0 solid #000;
  border-radius: 3px;
  height: 45px;
  margin-bottom: 17px;
  box-shadow: 0 0 0 1px #4040474d;
}

.form-field.text-area {
  height: 110px;
}

.footer {
  margin-top: 20px;
  margin-bottom: 20px;
  padding-top: 0;
  padding-bottom: 0;
}

.footer.center {
  text-align: center;
  background-color: #383838;
  border-top: 1px solid #dbdbdb;
}

.footer-text {
  color: #9e9e9e;
  margin-top: 5px;
  margin-bottom: 5px;
  font-size: 16px;
}

.grid-image {
  box-sizing: border-box;
  aspect-ratio: auto;
  border: 10px solid var(--untitled-ui--white);
  background-color: #00c4fa99;
  background-image: radial-gradient(circle farthest-corner at 50% 50%, var(--uc-blue), #ffffffe0);
  opacity: 1;
  outline-color: var(--uc-green360);
  outline-offset: 0px;
  color: #2eb84e;
  -webkit-text-stroke-width: 2px;
  mix-blend-mode: normal;
  border-radius: 50%;
  outline-width: 3px;
  outline-style: solid;
  width: 50%;
  margin: 20px auto;
  padding: 20px;
  display: block;
  overflow: visible;
  box-shadow: 0 0 0 1px #2e9dff;
}

.info-icon {
  float: left;
}

.footer-link {
  color: #668cad;
  border-bottom: 1px solid #d5d5e0;
  margin-bottom: 6px;
  padding-bottom: 10px;
  font-size: 14px;
  font-weight: 300;
  text-decoration: none;
  display: block;
}

.footer-link:hover {
  color: #008cffd6;
}

.footer-link.with-icon {
  margin-left: 30px;
}

.tab-menu {
  text-align: center;
  margin-bottom: 40px;
}

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

.fullwidth-image {
  background-color: var(--uc-green360);
  background-image: linear-gradient(180deg, var(--uc-blue), var(--uc-green360));
  opacity: 1;
  outline-offset: 0px;
  pointer-events: auto;
  outline: 2px #24c0d8;
  width: 100%;
  margin-bottom: 20px;
  padding: 20px;
  box-shadow: 2px 2px 20px -5px #82d069;
}

.white-text {
  color: #fff;
  text-align: left;
  letter-spacing: 1px;
  margin-bottom: 20px;
  font-family: Montserrat, sans-serif;
}

.form {
  margin-top: 40px;
}

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

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

.body {
  background-color: #000;
}

.bold-text {
  color: #24c0d8;
  letter-spacing: 0;
  -webkit-text-stroke-width: 0px;
  text-transform: uppercase;
  text-shadow: none;
  word-break: normal;
  font-family: Montserrat, sans-serif;
  font-size: 60px;
  font-weight: 700;
}

.logo {
  box-sizing: content-box;
  clear: none;
  grid-column-gap: 0px;
  grid-row-gap: 0px;
  aspect-ratio: auto;
  word-break: normal;
  -webkit-text-fill-color: inherit;
  object-fit: fill;
  background-image: url('../images/350-x-375-You-see-360-logo-white-for-black-bg-1.png');
  background-repeat: no-repeat;
  background-size: contain;
  background-attachment: scroll;
  background-clip: border-box;
  flex-flow: row;
  justify-content: center;
  align-items: center;
  min-width: 200px;
  max-width: 250px;
  min-height: 150px;
  max-height: 250px;
  margin-top: 10px;
  margin-bottom: 10px;
  display: flex;
  position: fixed;
  overflow: visible;
}

.logo.f-logo {
  box-sizing: border-box;
  clear: none;
  grid-column-gap: 0px;
  grid-row-gap: 0px;
  aspect-ratio: 1;
  text-align: center;
  -webkit-text-fill-color: inherit;
  mix-blend-mode: normal;
  object-fit: fill;
  background-image: url('../images/350-x-375-You-see-360-logo-white-for-black-bg-1.png');
  background-position: 50%;
  background-size: contain;
  background-clip: border-box;
  flex-flow: row;
  place-content: stretch flex-start;
  align-items: center;
  width: 250px;
  min-width: auto;
  max-width: 100%;
  min-height: 68%;
  max-height: 68%;
  margin: 0 auto 0 0;
  padding-top: 0;
  padding-bottom: 0;
  font-size: 3px;
  text-decoration: none;
  display: block;
  position: static;
  inset: 0% auto auto 0;
  overflow: visible;
}

.paragraph {
  color: #fff;
  text-align: left;
  font-family: Montserrat, sans-serif;
}

.paragraph-2 {
  color: #f5f8f8;
  text-align: left;
  font-family: Montserrat, sans-serif;
}

.paragraph-3 {
  color: #fff;
  text-align: left;
  margin-bottom: 10px;
  padding-bottom: 0;
  font-family: Montserrat, sans-serif;
}

.paragraph-4 {
  color: #eef2f3;
  text-align: left;
  font-family: Montserrat, sans-serif;
}

.paragraph-5 {
  color: #eff4f5;
  text-align: left;
  font-family: Montserrat, sans-serif;
}

.paragraph-6 {
  color: #f7fbfc;
  text-align: left;
  font-family: Montserrat, sans-serif;
}

.fn-footer-copyright {
  color: #687373;
  font-size: 16px;
}

.fn-legal-links-wrapper {
  grid-column-gap: 22px;
  grid-row-gap: 22px;
  flex-wrap: wrap;
  display: flex;
}

.fn-footer-legal-link {
  color: #939b9b;
  transition: color .25s;
}

.fn-footer-legal-link:hover {
  color: #df0;
}

.fn-footer-line {
  background-color: #3e4545;
  width: 100%;
  height: 1px;
  margin-top: 36px;
  margin-bottom: 10px;
}

.fn-social-link-icon {
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 24px;
  height: 24px;
  display: flex;
}

.fn-social-link {
  color: #687373;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 24px;
  height: 24px;
  transition: color .25s;
  display: flex;
}

.fn-social-link:hover {
  color: #df0;
}

.fn-social-share-wrapper {
  grid-column-gap: 24px;
  grid-row-gap: 24px;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-end;
  display: flex;
}

.fn-standard-white-link {
  color: #ecf0ef;
  font-size: 18px;
  line-height: 1.4em;
  transition: color .25s;
  display: block;
}

.fn-standard-white-link:hover {
  color: var(--uc-green360);
}

.fn-standard-white-link.w--current {
  color: #df0;
}

.fn-links-wrapper {
  grid-column-gap: 24px;
  grid-row-gap: 24px;
  flex-direction: column;
  display: flex;
}

.fn-contain-logo {
  color: #df0;
  object-fit: contain;
  object-position: 0% 50%;
  background-image: url('../images/You-See-360-Logo-Black-Not-outlines.svg');
  background-position: 0 0;
  background-size: cover;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  display: flex;
}

.fn-brand-footer {
  object-fit: contain;
  object-position: 0% 50%;
  width: 106px;
  height: 21.55px;
  margin-right: 20px;
}

.fn-container-grid {
  grid-column-gap: 55px;
  grid-row-gap: 24px;
  grid-template: ". . . Area" 1fr
    / 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
  grid-auto-columns: 1fr;
  width: 100%;
  max-width: 1310px;
  padding-left: 15px;
  padding-right: 15px;
  display: grid;
}

.fn-footer-first {
  color: #ecf0ef;
  background-color: #0f1213;
  flex-direction: column;
  align-items: center;
  width: 100%;
  padding-top: 0;
  padding-bottom: 0;
  font-family: Open Sans, sans-serif;
  display: flex;
}

.f-button-neutral {
  background-color: var(--flowui-component-library--gray-900);
  color: var(--flowui-component-library--white);
  text-align: center;
  letter-spacing: -.02em;
  border-radius: 50px;
  justify-content: center;
  align-items: center;
  min-height: 48px;
  padding: 12px 32px;
  font-size: 14px;
  font-weight: 500;
  text-decoration: none;
  transition: background-color .3s;
  display: flex;
}

.f-button-neutral:hover {
  background-color: var(--flowui-component-library--gray-700);
}

.f-line-large {
  background-color: var(--flowui-component-library--grey-300);
  height: 1px;
  margin-top: 32px;
  margin-bottom: 32px;
}

.f-paragraph-small {
  letter-spacing: -.01em;
  margin-bottom: 0;
  font-size: 14px;
  line-height: 1.8;
}

.f-icon-regular {
  justify-content: center;
  align-items: center;
  width: 24px;
  height: 24px;
  transition: color .2s;
  display: flex;
}

.f-pricing-feature-item {
  grid-column-gap: 12px;
  align-items: center;
  display: flex;
}

.f-pricing-feature-grid {
  grid-column-gap: 40px;
  grid-row-gap: 24px;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr;
  align-items: center;
}

.f-pricing-divider {
  background-color: var(--flowui-component-library--grey-300);
  height: 1px;
  margin-top: 32px;
  margin-bottom: 32px;
}

.f-pricing-month-span {
  color: var(--flowui-component-library--gray-400);
  letter-spacing: -.02em;
  margin-left: 4px;
  font-size: 24px;
  font-weight: 700;
  line-height: 32px;
}

.f-pricing-dollar {
  margin-right: 4px;
  font-size: 32px;
}

.f-pricing-price-text {
  color: var(--flowui-component-library--gray-900);
  letter-spacing: -.02em;
  font-size: 48px;
  font-weight: 700;
  line-height: 56px;
}

.f-badge-filled {
  background-color: var(--light-sea-green);
  color: #fff;
  border-radius: 50px;
  justify-content: space-between;
  align-items: center;
  padding: 4px 12px;
  font-size: 12px;
  line-height: 16px;
  display: flex;
}

.f-h5-heading {
  color: var(--flowui-component-library--gray-900);
  letter-spacing: -.02em;
  margin-top: 0;
  margin-bottom: 0;
  font-size: 32px;
  line-height: 1.4;
}

.f-pricing-plan-type-wrapper {
  grid-column-gap: 16px;
  align-items: center;
  margin-bottom: 8px;
  display: flex;
}

.f-pricing-card-title-wrapper {
  justify-content: space-between;
  align-items: center;
  display: flex;
}

.f-pricing-card-outline {
  border: 1px solid var(--flowui-component-library--grey-300);
  border-radius: 21px;
  flex-direction: column;
  justify-content: center;
  height: 100%;
  padding: 40px;
  display: flex;
}

.f-margin-bottom-08 {
  margin-bottom: 8px;
}

.f-grid-two-column {
  grid-column-gap: 40px;
  grid-row-gap: 40px;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr;
  align-items: center;
}

.f-container-regular {
  width: 100%;
  max-width: 1140px;
  margin-left: auto;
  margin-right: auto;
  position: relative;
}

.f-section-large {
  padding: 92px 5%;
  position: relative;
}

.container,
.container-2,
.container-3,
.container-4,
.container-5 {
  height: 600px;
}

.fn-button {
  color: #0f1213;
  text-align: center;
  background-color: #df0;
  border: 1px solid #df0;
  border-radius: 8px;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 12px 24px;
  font-family: Open Sans, sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.6em;
  transition: opacity .25s, border-color .25s;
  display: flex;
}

.fn-button:hover {
  opacity: .9;
  border-color: #0f1213;
}

.fn-button-secondery-navbar {
  color: #fff;
  background-color: #0000;
  border: 1px solid #fff;
  border-radius: 8px;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 12px 24px;
  font-family: Open Sans, sans-serif;
  font-size: 16px;
  line-height: 1.6em;
  transition: background-color .25s;
  display: flex;
}

.fn-button-secondery-navbar:hover {
  background-color: #3e4545;
}

.fn-button-wrapper {
  grid-column-gap: 24px;
  grid-row-gap: 24px;
  grid-template-rows: auto;
  grid-template-columns: auto auto;
  grid-auto-columns: 1fr;
  display: grid;
}

.fn-navbar-link-second {
  align-items: center;
  margin-left: 0;
  margin-right: 0;
  padding-right: 20px;
  transition: color .25s;
  display: flex;
}

.fn-navbar-link-second:hover,
.fn-navbar-link-second.w--current {
  color: #df0;
}

.fn-navbar-link-second-2 {
  color: #ecf0ef;
  padding-top: 32px;
  padding-bottom: 32px;
  font-size: 18px;
  font-weight: 400;
  line-height: 1.3em;
  text-decoration: underline;
}

.fn-dropdown-list-link {
  color: #ecf0ef;
  width: 100%;
  min-width: 206px;
  padding: 12px 24px;
  font-size: 18px;
  line-height: 1.4em;
  transition: opacity .25s;
}

.fn-dropdown-list-link:hover,
.fn-dropdown-list-link.w--current {
  color: #df0;
}

.fn-navbar-link-list {
  text-align: left;
  background-color: #0f1213;
  border-radius: 13px;
  flex-direction: column;
  align-items: flex-start;
  padding-top: 12px;
  padding-bottom: 12px;
  display: none;
}

.fn-navbar-link-list.w--open,
.fn-navbar-link-list.first-look {
  display: flex;
}

.fn-dropdown-link-icon {
  justify-content: center;
  align-items: center;
  width: 12px;
  height: 8px;
  margin-left: 8px;
  display: flex;
}

.fn-dorpdown-link {
  margin-left: 0;
  margin-right: 0;
}

.fn-navbar-links-wrapper {
  justify-content: flex-start;
  align-items: center;
  display: flex;
}

.fn-navbar-menu-wrapper-second {
  grid-column-gap: 20px;
  grid-row-gap: 20px;
  flex: 1;
  justify-content: flex-end;
  display: flex;
}

.fn-navbar-menu-box-second {
  flex: 1;
  justify-content: space-between;
  display: flex;
}

.fn-brand-box {
  object-fit: contain;
  object-position: 0% 50%;
  background-image: url('../images/You-See-360-Logo-Black-Not-outlines.svg');
  background-position: 0 0;
  background-size: cover;
  width: auto;
  height: auto;
  margin-right: 0;
  transition: opacity .25s;
}

.fn-brand-box:hover {
  opacity: .7;
}

.fn-navbar-container-second {
  align-items: center;
  width: 100%;
  max-width: 1310px;
  display: flex;
}

.fn-navbar-box-second {
  z-index: 999;
  background-color: #1d1f1e;
  flex-direction: column;
  align-items: center;
  width: 100%;
  padding-left: 15px;
  padding-right: 15px;
  display: flex;
}

.fn-contain-logo-2 {
  color: #df0;
  object-fit: contain;
  object-position: 0% 50%;
  background-image: url('../images/You-See-360-Logo-Black-Not-outlines.svg');
  background-position: 0 0;
  background-size: auto;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  display: flex;
}

.fn-brand-box-2 {
  object-fit: contain;
  object-position: 0% 50%;
  width: 106px;
  height: 21.55px;
  margin-right: 0;
  transition: opacity .25s;
}

.fn-brand-box-2:hover {
  opacity: .7;
}

.fn-brand-box-2.logo {
  width: 200px;
  height: 100px;
}

.heading,
.heading-2,
.heading-3,
.heading-4,
.heading-5,
.heading-6 {
  color: var(--uc-blue);
  font-family: Montserrat, sans-serif;
  font-weight: 700;
}

.cf-service-paragraph {
  color: #d8e0f0e6;
  text-align: left;
  margin-top: 4px;
  margin-bottom: 0;
  font-family: Montserrat, sans-serif;
  font-size: 18px;
  font-weight: 500;
  line-height: 156%;
}

.cf-service-heading {
  color: #e99a9a;
  text-align: center;
  letter-spacing: -.16px;
  margin-bottom: 16px;
  font-family: Montserrat, sans-serif;
  font-size: 24px;
  font-weight: 700;
  line-height: 133%;
}

.cf-service-icon {
  object-fit: contain;
}

.cf-features-section-3-icon-wrap {
  background-color: #b16cea;
  background-image: linear-gradient(150deg, #b16cea 20%, #ff5e69 60%, #ff8a56 80%, #ffa84b);
  border-radius: 13px;
  justify-content: center;
  align-items: center;
  width: 100%;
  max-width: 56px;
  height: 56px;
  margin-bottom: 20px;
  display: flex;
  position: relative;
  top: auto;
  left: auto;
}

.cf-features-section-2-grid-cell {
  flex-direction: column;
  align-items: flex-start;
  width: 100%;
  max-width: 353px;
  display: flex;
}

.cf-features-section-2-icon-wrap {
  background-color: #b16cea;
  background-image: linear-gradient(150deg, var(--dark-khaki) 20%, var(--medium-sea-green) 60%, var(--steel-blue-2) 80%, var(--steel-blue));
  border-radius: 13px;
  justify-content: center;
  align-items: center;
  width: 100%;
  max-width: 56px;
  height: 56px;
  margin-bottom: 20px;
  display: flex;
  position: relative;
  inset: auto 0% 0% auto;
}

.cf-features-section-3-grid-cell {
  flex-direction: column;
  align-items: flex-start;
  width: 100%;
  max-width: 353px;
  display: flex;
}

.cf-features-section-2-grid {
  grid-column-gap: 40px;
  grid-row-gap: 40px;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr;
  width: 100%;
  margin-top: 80px;
}

.cf-features-section-2-heading {
  color: var(--steel-blue);
  text-align: center;
  max-width: 700px;
  margin-top: 0;
  margin-bottom: 0;
  font-family: Montserrat, sans-serif;
  font-size: 32px;
  font-weight: 700;
  line-height: 115%;
}

.cf-features-section-3-wrapper {
  color: #d9e2e9;
  flex-direction: column;
  grid-template-rows: auto auto;
  grid-template-columns: 1fr 1fr 1fr;
  grid-auto-columns: 1fr;
  justify-content: flex-start;
  align-items: center;
  width: 90%;
  max-width: 1140px;
  margin-left: auto;
  margin-right: auto;
  padding-top: 100px;
  padding-bottom: 100px;
  display: flex;
}

.cf-secondary-button {
  color: #fff;
  text-align: center;
  letter-spacing: 0;
  background-color: #000;
  border-radius: 13px;
  padding: 20px 40px;
  font-family: Montserrat, sans-serif;
  font-size: 18px;
  font-weight: 600;
  transition: background-color .23s;
}

.cf-secondary-button:hover {
  background-color: var(--conversion-flow-library--medium-purple);
  color: #fff;
}

.cf-secondary-button.pricing-button {
  color: #fff;
  background-color: #000;
  margin-top: auto;
  padding-left: 20px;
  padding-right: 20px;
  font-family: Montserrat, sans-serif;
}

.cf-secondary-button.pricing-button:hover {
  background-image: linear-gradient(to right, var(--conversion-flow-library--medium-purple), var(--conversion-flow-library--light-coral) 46%, var(--conversion-flow-library--sandy-brown));
}

.cf-pricing-plan-content-text {
  letter-spacing: .5px;
  font-family: Montserrat, sans-serif;
  font-size: 18px;
  font-weight: 400;
  line-height: 130%;
  text-decoration: none;
}

.cf-pricing-plan-tick-icon {
  margin-top: 2px;
  margin-right: 16px;
}

.cf-pricing-plan-content-item {
  flex-direction: row;
  justify-content: flex-start;
  align-items: flex-start;
  margin-bottom: 20px;
  display: flex;
}

.cf-pricing-plan-link {
  color: #000;
  text-decoration: none;
}

.cf-pricing-plan-content-wrapper {
  flex-direction: column;
  align-items: flex-start;
  margin-bottom: 40px;
  display: flex;
}

.cf-pricing-plan-price {
  background-image: linear-gradient(to right, var(--conversion-flow-library--medium-purple), var(--conversion-flow-library--light-coral) 38%, var(--conversion-flow-library--coral) 73%, var(--conversion-flow-library--sandy-brown));
  letter-spacing: 0;
  -webkit-text-fill-color: transparent;
  -webkit-background-clip: text;
  background-clip: text;
  margin-bottom: 48px;
  padding-bottom: 0;
  font-family: Montserrat, sans-serif;
  font-size: 46px;
  font-weight: 700;
  line-height: 120%;
}

.cf-pricing-plan-price.pricing-alternative {
  font-size: 34px;
}

.cf-pricing-plan-note-text {
  letter-spacing: .3px;
  margin-bottom: 32px;
  font-family: Montserrat, sans-serif;
  font-size: 18px;
  font-weight: 500;
  line-height: 24px;
}

.cf-pricing-plan-text {
  margin-bottom: 16px;
  font-family: Montserrat, sans-serif;
  font-size: 26px;
  font-weight: 600;
  line-height: 120%;
}

.cf-pricing-box-plan-wrapper {
  border-bottom: 1px solid #0003;
  flex-direction: column;
  align-items: flex-start;
  width: 100%;
  margin-bottom: 40px;
  display: flex;
}

.cf-pricing-box {
  border: 1px solid #e5e5e5;
  border-radius: 21px;
  flex-direction: column;
  align-items: stretch;
  width: 31%;
  min-height: 640px;
  margin-left: 1%;
  margin-right: 1%;
  padding: 40px;
  display: flex;
}

.cf-pricing-box.pricing-box-alternative {
  width: 31%;
  max-width: 277px;
  padding: 24px 20px;
}

.cf-pricing-box.pricing-highlighted {
  color: #fff;
  background-color: #000;
  max-width: 277px;
  padding: 23px 20px;
}

.cf-pricing-plan-small-text {
  letter-spacing: 1px;
  margin-left: 10px;
  font-size: 16px;
  font-weight: 400;
  line-height: 100%;
}

.cf-primary-button {
  color: #007e60;
  letter-spacing: .3px;
  background-color: #f0f9f5;
  border-radius: 13px;
  justify-content: center;
  align-items: center;
  padding: 20px 40px;
  font-family: Montserrat, sans-serif;
  font-size: 18px;
  font-weight: 600;
  transition: background-color .34s;
  display: flex;
}

.cf-primary-button:hover {
  color: #f0f9f5;
  background-color: #1d4a35;
}

.cf-primary-button.pricing-button {
  color: #000;
  background-color: #fff;
  margin-top: auto;
  padding-left: 20px;
  padding-right: 20px;
}

.cf-primary-button.pricing-button:hover {
  background-image: linear-gradient(96deg, var(--conversion-flow-library--medium-purple), var(--conversion-flow-library--light-coral) 50%, var(--conversion-flow-library--sandy-brown));
  color: #fff;
}

.cf-pricing-box-row {
  justify-content: center;
  align-items: stretch;
  margin-bottom: 40px;
  display: flex;
}

.cf-pricing-box-wrapper {
  margin-top: 50px;
}

.cf-toggle-arrow-icon {
  position: relative;
  top: -12px;
  left: 12px;
}

.cf-toggle-save-text {
  color: #fff;
  font-family: Montserrat, sans-serif;
  font-size: 20px;
  font-weight: 500;
  line-height: 120%;
}

.cf-toggle-save-text.black {
  color: #000;
}

.cf-toggle-save-container {
  align-items: center;
  display: flex;
  position: absolute;
  inset: auto 0% -141% 15%;
}

.cf-toggle-text {
  color: #fff;
  font-family: Montserrat, sans-serif;
  font-size: 20px;
  line-height: 120%;
}

.cf-toggle-dot {
  background-color: #fff;
  border-radius: 100%;
  width: 28px;
  height: 28px;
}

.cf-toggle-contain {
  cursor: pointer;
  background-color: #000;
  border-radius: 21px;
  align-items: center;
  width: 70px;
  height: 34px;
  margin-left: 25px;
  margin-right: 25px;
  padding: 5px;
  display: flex;
}

.cf-toggle-row {
  justify-content: center;
  align-items: center;
  display: flex;
  position: relative;
}

.cf-colourful-text {
  background-image: linear-gradient(135deg, var(--conversion-flow-library--medium-purple), var(--conversion-flow-library--light-coral) 49%, var(--conversion-flow-library--coral) 75%, var(--conversion-flow-library--sandy-brown));
  white-space: normal;
  -webkit-text-fill-color: transparent;
  -webkit-background-clip: text;
  background-clip: text;
  margin-right: 3px;
  padding-bottom: 0;
  display: inline-block;
}

.cf-pricing-heading {
  font-family: Montserrat, sans-serif;
}

.cf-green-top-heading {
  color: #00000080;
  letter-spacing: 2px;
  text-transform: uppercase;
  margin-bottom: 24px;
  font-family: Montserrat, sans-serif;
  font-size: 18px;
  font-weight: 700;
}

.cf-pricing-header-wrapper {
  flex-direction: column;
  align-items: flex-start;
  max-width: 580px;
  display: flex;
}

.cf-pricing-toggle-header-wrapper {
  justify-content: space-between;
  align-items: center;
  display: flex;
}

.cf-home-pricing-wrapper {
  flex-direction: column;
  display: flex;
}

.cf-wrapper-1200px {
  justify-content: space-between;
  align-items: center;
  width: 90%;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
}

.cf-pricing-2-price-card-section {
  margin-top: 0;
  padding-top: 100px;
  padding-bottom: 100px;
}

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

.uui-pricing11_row-content {
  border-left: 1px solid var(--untitled-ui--gray200);
  text-align: center;
  justify-content: center;
  align-items: center;
  padding: 1rem 1.5rem;
  display: flex;
}

.uui-pricing11_row-lead-text {
  color: var(--untitled-ui--gray900);
  font-family: system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;
  font-weight: 500;
}

.uui-pricing11_feature {
  padding-top: 1rem;
  padding-bottom: 1rem;
  padding-right: 1.5rem;
}

.uui-pricing11_row {
  grid-column-gap: 0px;
  grid-row-gap: 0px;
  border-bottom: 1px solid var(--untitled-ui--gray200);
  grid-template-rows: auto;
  grid-template-columns: 1.5fr 1fr 1fr 1fr;
  align-items: stretch;
}

.uui-pricing11_heading-row-text {
  color: var(--untitled-ui--primary700);
  font-family: system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;
  font-weight: 600;
}

.uui-pricing11_heading-row {
  border-bottom: 1px solid var(--untitled-ui--gray200);
  margin-top: .5rem;
  padding-top: 1rem;
  padding-bottom: 1rem;
}

.uui-text-size-medium {
  color: var(--untitled-ui--gray600);
  letter-spacing: normal;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;
  font-size: 1rem;
  line-height: 1.5;
}

.uui-button {
  grid-column-gap: .5rem;
  border: 1px solid var(--untitled-ui--primary600);
  background-color: var(--untitled-ui--primary600);
  color: var(--untitled-ui--white);
  text-align: center;
  white-space: nowrap;
  border-radius: .5rem;
  justify-content: center;
  align-items: center;
  padding: .625rem 1.125rem;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.5;
  text-decoration: none;
  transition: all .3s;
  display: flex;
  box-shadow: 0 1px 2px #1018280d;
}

.uui-button:hover {
  border-color: var(--untitled-ui--primary700);
  background-color: var(--untitled-ui--primary700);
}

.uui-button:focus {
  background-color: var(--untitled-ui--primary600);
  box-shadow: 0 1px 2px 0 #1018280d, 0 0 0 4px var(--untitled-ui--primary100);
}

.uui-space-medium {
  width: 100%;
  min-height: 2rem;
}

.uui-text-size-small {
  color: var(--untitled-ui--gray600);
  letter-spacing: normal;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;
  font-size: .875rem;
  line-height: 1.5;
}

.uui-pricing11_price-text {
  color: var(--untitled-ui--gray600);
  letter-spacing: normal;
  margin-left: .25rem;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5;
}

.uui-pricing11_price {
  color: var(--untitled-ui--gray900);
  margin-top: .5rem;
  margin-bottom: .5rem;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;
  font-size: 3rem;
  font-weight: 600;
  line-height: 1.2;
}

.uui-heading-xxsmall {
  color: var(--untitled-ui--gray900);
  letter-spacing: normal;
  margin-top: 0;
  margin-bottom: 0;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;
  font-size: 1.25rem;
  font-weight: 600;
  line-height: 1.5;
}

.uui-pricing11_top-row-content {
  border-left: 1px solid var(--untitled-ui--gray200);
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
  padding: 2rem 1.5rem;
  display: flex;
}

.uui-badge {
  grid-column-gap: .375rem;
  background-color: var(--untitled-ui--gray100);
  color: var(--untitled-ui--gray700);
  white-space: nowrap;
  border-radius: 10rem;
  align-items: center;
  padding: .125rem .625rem;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;
  font-size: .875rem;
  font-weight: 500;
  line-height: 1.5;
  text-decoration: none;
  display: flex;
}

.uui-badge.is-primary {
  background-color: var(--untitled-ui--primary50);
  color: var(--untitled-ui--primary700);
}

.uui-pricing11_plan-name-wrapper {
  grid-column-gap: .5rem;
  grid-row-gap: .5rem;
  justify-content: space-between;
  align-items: center;
  display: flex;
}

.uui-pricing11_top-row {
  grid-column-gap: 0px;
  grid-row-gap: 0px;
  border-bottom: 1px solid var(--untitled-ui--gray200);
  background-color: #fff;
  grid-template-rows: auto;
  grid-template-columns: 1.5fr 1fr 1fr 1fr;
  position: sticky;
  top: 0;
}

.uui-pricing11_plans {
  width: 100%;
}

.uui-pricing11_tabs-content {
  width: 100%;
  overflow: visible;
}

.uui-pricing11_tab-link {
  grid-column-gap: .5rem;
  grid-row-gap: .5rem;
  color: var(--untitled-ui--gray500);
  background-color: #0000;
  border-radius: .375rem;
  align-items: center;
  padding: .5rem 1rem;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;
  font-weight: 600;
  display: flex;
}

.uui-pricing11_tab-link.w--current {
  color: var(--untitled-ui--gray700);
  background-color: #fff;
  box-shadow: 0 1px 3px #1018281a, 0 1px 2px #1018280f;
}

.uui-pricing11_tabs-menu {
  grid-column-gap: .5rem;
  grid-row-gap: 16px;
  border: 1px solid var(--untitled-ui--gray100);
  background-color: var(--untitled-ui--gray50-2);
  border-radius: .5rem;
  grid-template-rows: auto;
  grid-template-columns: 1fr max-content;
  grid-auto-columns: 1fr;
  align-self: center;
  margin-bottom: 5rem;
  padding: .375rem;
  display: grid;
}

.uui-pricing11_component {
  flex-direction: column;
  justify-content: center;
  align-items: stretch;
  margin-top: 2.5rem;
  display: flex;
}

.uui-text-size-large {
  color: var(--untitled-ui--gray600);
  letter-spacing: normal;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;
  font-size: 1.125rem;
  line-height: 1.5;
}

.uui-space-xsmall {
  width: 100%;
  min-height: 1rem;
}

.uui-heading-medium {
  color: var(--untitled-ui--gray900);
  margin-top: 0;
  margin-bottom: 0;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;
  font-size: 2.25rem;
  font-weight: 600;
  line-height: 1.3;
}

.uui-heading-subheading {
  color: var(--untitled-ui--primary600);
  margin-bottom: .75rem;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.5;
}

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

.uui-max-width-large.align-center,
.align-center {
  margin-left: auto;
  margin-right: auto;
}

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

.uui-padding-vertical-xhuge {
  padding-top: 7rem;
  padding-bottom: 7rem;
}

.uui-container-large {
  width: 100%;
  max-width: 80rem;
  margin-left: auto;
  margin-right: auto;
}

.uui-page-padding {
  padding-left: 2rem;
  padding-right: 2rem;
}

.nav-cont {
  z-index: auto;
  grid-column-gap: 0px;
  grid-row-gap: 0px;
  aspect-ratio: auto;
  -webkit-backdrop-filter: blur(5px);
  backdrop-filter: blur(5px);
  flex-flow: row;
  flex: 1;
  order: 0;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  justify-content: space-around;
  align-self: center;
  place-items: start stretch;
  margin-left: 0;
  margin-right: 0;
  padding-bottom: 0;
  padding-left: 0;
  display: flex;
  position: static;
  inset: 0% 0% auto;
  overflow: visible;
}

.div-block {
  position: relative;
}

.container-12 {
  color: var(--uc-green);
}

.cf-achievement-card-item-subtext {
  text-align: center;
  font-family: Montserrat, sans-serif;
  font-size: 22px;
  font-weight: 500;
  line-height: 140%;
}

.cf-achievement-card-item-heading {
  color: #fff;
  margin-bottom: 16px;
  font-family: Montserrat, sans-serif;
  font-size: 48px;
  font-weight: 700;
  line-height: 56px;
}

.cf-achievement-card-icon {
  height: 70px;
  margin-bottom: 40px;
}

.cf-achievements-card {
  color: #fff;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  font-size: 22px;
  font-weight: 500;
  line-height: 140%;
  display: flex;
}

.cf-achievements-card-container {
  grid-column-gap: 120px;
  grid-row-gap: 16px;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr;
  grid-auto-columns: 1fr;
  align-items: start;
  width: 100%;
  display: grid;
}

.cf-achievement-heading {
  color: var(--untitled-ui--white);
  max-width: 800px;
  margin-top: 0;
  margin-bottom: 80px;
  font-family: Montserrat, sans-serif;
  font-size: 30px;
  font-weight: 700;
  line-height: 130%;
}

.cf-wrapper {
  z-index: 10;
  justify-content: space-between;
  align-items: center;
  width: 85%;
  max-width: 1160px;
  margin-left: auto;
  margin-right: auto;
  padding-top: 90px;
  padding-bottom: 90px;
  display: flex;
  position: relative;
}

.cf-wrapper.achievement-wrapper {
  text-align: center;
  flex-direction: column;
  justify-content: center;
  padding-top: 140px;
  padding-bottom: 140px;
}

.cf-achievements-section {
  -webkit-text-fill-color: inherit;
  background-color: #000;
  background-image: linear-gradient(#0000007d, #000000e0), url('../images/Artboard-21-copy-5.png');
  background-position: 0 0, 50% 100%;
  background-repeat: repeat, no-repeat;
  background-size: auto, cover;
  background-attachment: scroll, scroll;
  background-clip: padding-box;
}

.unsplash-image {
  box-sizing: border-box;
  opacity: 100;
  outline-offset: 0px;
  object-fit: fill;
  object-position: 50% 50%;
  outline: 2px #24c0d8;
  width: 100%;
  height: auto;
  display: inline-block;
  overflow: clip;
}

.container-8 {
  padding-top: 50px;
}

.video {
  pointer-events: auto;
}

.columns-2 {
  margin-bottom: 140px;
  padding-bottom: 140px;
}

.cf-error-message {
  color: #fff;
  background-color: #fc6b5c4d;
  border-radius: 5px;
  font-family: Montserrat, sans-serif;
  font-size: 16px;
  font-weight: 500;
}

.cf-error-message.darker {
  color: #bd333d;
}

.cf-success-message {
  color: #fff;
  background-color: #b16cea;
  border-radius: 100px;
  padding-left: 40px;
  padding-right: 40px;
  font-family: Montserrat, sans-serif;
  font-size: 16px;
  font-weight: 600;
}

.cf-form-gradient-submit {
  color: #fff;
  background-color: #0000;
  background-image: linear-gradient(to right, #b16cea 20%, #ff5e69 60%, #ff8a56 80%, #ffa84b 90%);
  border-radius: 8px;
  width: 100%;
  padding-top: 15px;
  padding-bottom: 15px;
  font-family: Montserrat, sans-serif;
  font-size: 18px;
  font-weight: 600;
  line-height: 156%;
}

.cf-form-gradient-submit.fixed-width {
  background-image: linear-gradient(90deg, var(--uc-blue), var(--uc-blue) 0%, #45d3aa 28%, var(--uc-green360) 64%, var(--dark-khaki));
  text-align: left;
  border-radius: 70px;
  max-width: 210px;
  height: 60px;
  padding-left: 55px;
}

.cf-checkbox-label {
  color: var(--uc-blue);
  letter-spacing: -.32px;
  font-family: Montserrat, sans-serif;
  font-size: 18px;
  font-weight: 500;
  line-height: 156%;
}

.cf-checkbox {
  border: 1px solid var(--uc-blue);
  color: var(--uc-blue);
  border-radius: 80px;
  width: 100%;
  height: 100%;
  margin-top: 0;
  margin-left: 0;
  font-family: Montserrat, sans-serif;
  display: block;
  position: absolute;
  inset: 0%;
}

.cf-checkbox.w--redirected-checked {
  border: 2px solid var(--uc-green360);
  background-color: #0000;
  background-image: linear-gradient(#23bad11c, #71d09154);
}

.cf-checkbox.w--redirected-focus {
  box-shadow: 0 0 3px 1px #ff5e691a;
}

.cf-checkbox-field {
  border: 1px solid #0000001a;
  border-radius: 80px;
  margin-bottom: 0;
  padding: 18px 32px;
  display: flex;
  position: relative;
}

.cf-checkbox-container {
  grid-column-gap: 20px;
  grid-row-gap: 20px;
  flex-wrap: wrap;
  margin-bottom: 60px;
  display: flex;
}

.cf-contact-field-label {
  color: #fafafa;
  letter-spacing: 3.84px;
  -webkit-text-stroke-color: #105aee;
  text-transform: uppercase;
  margin-bottom: 24px;
  font-family: Montserrat, sans-serif;
  font-size: 18px;
  font-weight: 600;
  line-height: 156%;
}

.cf-contact-field-label.budget {
  margin-top: 60px;
}

.cf-contact-form-field {
  color: #0d0e10;
  letter-spacing: -.16px;
  border: 1px solid #0d0e101a;
  border-radius: 78px;
  height: 70px;
  margin-bottom: 0;
  margin-right: 32px;
  padding: 21px 30px;
  font-family: Montserrat, sans-serif;
  font-size: 18px;
  line-height: 156%;
}

.cf-contact-form-field:active,
.cf-contact-form-field:focus {
  border-color: #0d0e1033;
}

.cf-contact-form-field::placeholder {
  color: #0d0e1099;
}

.cf-contact-form-field.message {
  border-radius: 21px;
  height: 160px;
  margin-right: 0;
}

.cf-contact-form-field.no-margin {
  margin-right: 0;
}

.cf-fields-contain {
  justify-content: space-between;
  align-items: center;
  width: 100%;
  margin-bottom: 32px;
  display: flex;
}

.cf-form-paragraph {
  color: #fffc;
  margin-bottom: 24px;
  font-family: Montserrat, sans-serif;
  font-size: 18px;
  font-weight: 500;
  line-height: 156%;
}

.cf-form-heading {
  color: #fff;
  margin-top: 0;
  margin-bottom: 24px;
  font-family: Montserrat, sans-serif;
  font-size: 32px;
  font-weight: 700;
  line-height: 120%;
}

.cf-forms-section-3 {
  width: 100%;
  max-width: 1440px;
  margin-left: auto;
  margin-right: auto;
  padding: 100px 5%;
}

.f-navigation-button {
  background-color: var(--flowui-component-library--gray-900);
  outline-offset: 0px;
  color: var(--flowui-component-library--white);
  text-align: center;
  letter-spacing: -.02em;
  border-radius: 48px;
  outline: 2px solid #0000;
  justify-content: center;
  align-items: center;
  padding: 8px 24px;
  font-size: 14px;
  font-weight: 500;
  line-height: 24px;
  text-decoration: none;
  transition: all .2s;
  display: flex;
}

.f-navigation-button:hover {
  background-color: var(--flowui-component-library--gray-700);
}

.f-navigation-link {
  color: var(--flowui-component-library--gray-900);
  letter-spacing: -.01em;
  white-space: nowrap;
  background-color: #0000;
  border-radius: 50px;
  padding: 8px 24px;
  font-size: 14px;
  font-weight: 500;
  line-height: 24px;
  text-decoration: none;
  transition: all .35s;
}

.f-navigation-link:hover {
  background-color: var(--flowui-component-library--gray-200);
  color: var(--flowui-component-library--gray-900);
}

.f-navigation-link.w--current {
  color: var(--flowui-component-library--primary-base);
}

.f-navigation-menu {
  grid-column-gap: 6px;
  align-items: center;
  display: flex;
  position: static;
}

.f-navigation-content {
  grid-column-gap: 8px;
  align-items: center;
  display: flex;
}

.f-icon-regular-2 {
  justify-content: center;
  align-items: center;
  width: 24px;
  height: 24px;
  transition: color .2s;
  display: flex;
}

.f-navigation-social-link {
  color: var(--flowui-component-library--gray-900);
  border-radius: 100px;
  justify-content: center;
  align-items: center;
  transition: color .3s;
  display: flex;
}

.f-navigation-social-link:hover {
  color: var(--flowui-component-library--primary-base);
}

.f-navigation-socials-wrapper {
  grid-column-gap: 16px;
  border-left: 1px solid var(--flowui-component-library--grey-300);
  justify-content: flex-start;
  align-items: center;
  padding-left: 18px;
  display: flex;
}

.f-logo {
  width: 124px;
}

.f-navigation-link-wrapper {
  grid-column-gap: 24px;
  align-items: center;
  display: flex;
}

.f-navigation-container {
  justify-content: space-between;
  align-items: center;
  width: 100%;
  max-width: 1280px;
  margin-left: auto;
  margin-right: auto;
  display: flex;
}

.f-navigation {
  background-color: #fff;
  align-items: center;
  width: 100%;
  min-height: 88px;
  padding: 24px 5%;
  display: flex;
}

.column-9 {
  box-sizing: border-box;
  object-fit: fill;
}

.div-block-2 {
  float: none;
  clear: none;
  grid-column-gap: 0px;
  grid-row-gap: 0px;
  aspect-ratio: auto;
  object-fit: contain;
  background-image: linear-gradient(#00000080, #00000080);
  flex-flow: row;
  grid-template-rows: auto auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  justify-content: center;
  align-items: flex-start;
  padding-bottom: 0;
  display: flex;
  position: static;
  inset: 0% 0% auto;
  overflow: visible;
}

.container-13 {
  clear: none;
  text-align: center;
  mix-blend-mode: normal;
  justify-content: center;
  align-items: center;
  margin-top: 100px;
  margin-bottom: 0;
  padding-bottom: 0;
  display: block;
}

.background-video {
  box-sizing: border-box;
  clear: none;
  aspect-ratio: auto;
  object-fit: contain;
  flex-flow: row;
  flex: 0 auto;
  order: 0;
  justify-content: center;
  align-items: center;
  display: block;
  position: static;
  overflow: visible;
}

.section-2 {
  background-image: linear-gradient(#000, #000c 33%, #0009), url('../images/tours/casadelrio.jpg');
  background-position: 0 0, 50% 100%;
  background-repeat: repeat, no-repeat;
  background-size: auto, cover;
  background-attachment: scroll, scroll;
}

.utility-page-form {
  flex-direction: column;
  align-items: stretch;
  display: flex;
}

.section-3 {
  display: flex;
}

.f-navigation-button-2 {
  background-color: var(--flowui-component-library--gray-900);
  outline-offset: 0px;
  color: var(--flowui-component-library--white);
  text-align: center;
  letter-spacing: -.02em;
  border-radius: 48px;
  outline: 2px solid #0000;
  justify-content: center;
  align-items: center;
  padding: 8px 24px;
  font-size: 14px;
  font-weight: 500;
  line-height: 24px;
  text-decoration: none;
  transition: all .2s;
  display: flex;
}

.f-navigation-button-2:hover {
  background-color: var(--flowui-component-library--gray-700);
}

.f-navigation-link-2 {
  color: var(--flowui-component-library--gray-900);
  letter-spacing: -.01em;
  white-space: nowrap;
  background-color: #0000;
  border-radius: 50px;
  padding: 8px 24px;
  font-size: 14px;
  font-weight: 500;
  line-height: 24px;
  text-decoration: none;
  transition: all .35s;
}

.f-navigation-link-2:hover {
  background-color: var(--flowui-component-library--gray-200);
  color: var(--flowui-component-library--gray-900);
}

.f-navigation-link-2.w--current {
  color: var(--flowui-component-library--primary-base);
}

.f-navigation-menu-2 {
  grid-column-gap: 6px;
  align-items: center;
  display: flex;
  position: static;
}

.f-navigation-content-2 {
  grid-column-gap: 8px;
  align-items: center;
  display: flex;
}

.f-navigation-dropdown-link {
  background-color: #fff;
  padding-top: 8px;
  padding-bottom: 8px;
  padding-left: 24px;
  transition: background-color .3s;
}

.f-navigation-dropdown-link:hover {
  background-color: var(--flowui-component-library--gray-100);
}

.f-navigation-dropdown-list,
.f-navigation-dropdown-list.w--open {
  background-color: #fff;
}

.f-icon-regular-3 {
  justify-content: center;
  align-items: center;
  width: 24px;
  height: 24px;
  transition: color .2s;
  display: flex;
}

.f-navigation-language-dropdown-toggle {
  grid-column-gap: 8px;
  border-left: 0px none var(--flowui-component-library--grey-300);
  letter-spacing: -.02em;
  padding: 4px 24px;
  font-size: 14px;
  font-weight: 500;
  display: flex;
}

.f-navigation-dropdown {
  margin-left: 0;
  margin-right: 0;
  font-size: 14px;
  font-weight: 500;
}

.f-navigation-link-wrapper-2 {
  grid-column-gap: 24px;
  align-items: center;
  display: flex;
}

.f-navigation-container-2 {
  justify-content: space-between;
  align-items: center;
  width: 100%;
  max-width: 1280px;
  margin-left: auto;
  margin-right: auto;
  display: flex;
}

.f-navigation-2 {
  -webkit-backdrop-filter: blur(5px);
  backdrop-filter: blur(5px);
  background-color: #fff0;
  align-items: center;
  width: 100%;
  min-height: 88px;
  padding: 24px 5%;
  display: flex;
  position: relative;
}

.text-block {
  color: var(--white-smoke-2);
}

.f-interaction-detail {
  color: #6b7094;
  font-weight: 500;
}

.f-interaction-accent {
  max-width: 320px;
}

.f-interaction {
  grid-row-gap: 16px;
  background-color: var(--flowui-component-library--gray-200);
  text-align: center;
  border-radius: 8px;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 24px 14px;
  display: flex;
}

.f-paragraph-small-2 {
  letter-spacing: -.01em;
  margin-bottom: 0;
  font-size: 14px;
  line-height: 1.8;
}

.f-paragraph-regular {
  letter-spacing: -.02em;
  margin-bottom: 0;
  font-size: 16px;
  line-height: 1.8;
}

.f-paragraph-regular.f-text-weight-medium,
.f-text-weight-medium {
  font-weight: 500;
}

.f-alert-content {
  width: 100%;
}

.f-alert-icon {
  justify-content: center;
  align-items: center;
  width: 16px;
  height: 16px;
  display: flex;
}

.f-alert-information {
  background-color: var(--flowui-component-library--primary-lighter);
  color: var(--flowui-component-library--primary-base);
  border-radius: 100px;
  justify-content: center;
  align-items: center;
  width: 40px;
  min-width: 40px;
  height: 40px;
  min-height: 40px;
  margin-right: 16px;
  display: flex;
}

.f-interaction-alert {
  background-color: var(--flowui-component-library--white);
  color: var(--flowui-component-library--gray-900);
  border-radius: 8px;
  align-items: flex-start;
  padding: 16px 24px 16px 16px;
  display: flex;
  box-shadow: 56px 0 80px -24px #393b6a1f;
}

.f-interaction-wrapper {
  grid-row-gap: 24px;
  flex-direction: column;
  display: flex;
}

.fn-banner-image-three {
  object-fit: contain;
  width: 246px;
  height: 246px;
  position: absolute;
  inset: auto -55px -61px auto;
}

.fn-banner-image-two {
  object-fit: contain;
  width: 172px;
  height: 172px;
  position: absolute;
  inset: -67px 186px auto auto;
}

.fn-banner-image-one {
  object-fit: contain;
  width: 287px;
  height: 287px;
  position: absolute;
  inset: auto auto -62px -44px;
}

.fn-button-dark {
  color: #df0;
  background-color: #1d1f1e;
  border: 1px solid #000;
  border-radius: 8px;
  padding: 12px 24px;
  font-family: Open Sans, sans-serif;
  font-size: 16px;
  line-height: 1.6em;
  transition: color .25s, background-color .25s;
}

.fn-button-dark:hover {
  color: #0f1213;
  background-color: #df0;
  border-color: #0f1213;
}

.fn-button-dark.w--current {
  background-color: #1d1f1e;
}

.fn-button-dark.w--current:hover {
  background-color: #0000;
}

.fn-paragraph-dark {
  color: #1d1f1e;
  margin-bottom: 32px;
  font-family: Open Sans, sans-serif;
  font-size: 16px;
  line-height: 1.6em;
}

.fn-heading-2 {
  margin-top: 0;
  margin-bottom: 24px;
  font-family: Open Sans, sans-serif;
  font-size: 52px;
  line-height: 1.2em;
}

.fn-cta-banner-column {
  text-align: center;
  flex-direction: column;
  align-items: center;
  max-width: 532px;
  display: flex;
}

.fn-cta-banner {
  color: #1d1f1e;
  text-align: center;
  background-color: #df0;
  border-radius: 21px;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  padding-top: 80px;
  padding-bottom: 80px;
  display: flex;
  position: relative;
}

.fn-container {
  width: 100%;
  max-width: 1310px;
  padding-left: 15px;
  padding-right: 15px;
}

.fn-section {
  color: #ecf0ef;
  background-color: #1d1f1e;
  flex-direction: column;
  align-items: center;
  width: 100%;
  padding-top: 80px;
  padding-bottom: 80px;
  font-family: Open Sans, sans-serif;
  display: flex;
}

.fn-section.overflow-none {
  overflow: hidden;
}

.fn-link-arrow {
  object-fit: contain;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 12px;
  height: 18px;
  margin-left: 10px;
  display: flex;
}

.fn-link-with-arrow {
  color: #df0;
  align-items: center;
  margin-top: auto;
  font-family: Open Sans, sans-serif;
  font-size: 18px;
  font-weight: 400;
  line-height: 1.4em;
  text-decoration: underline;
  display: flex;
}

.fn-paragraph {
  color: #cdd3d2;
  margin-bottom: 32px;
  font-size: 16px;
  line-height: 1.6em;
}

.fn-heading-3 {
  margin-top: 0;
  margin-bottom: 24px;
  font-family: Open Sans, sans-serif;
  font-size: 40px;
  font-weight: 700;
  line-height: 1.3em;
}

.fn-features-card-column {
  flex-direction: column;
  flex: 1;
  align-items: flex-start;
  padding: 24px;
  display: flex;
}

.fn-features-card-image {
  object-fit: cover;
  width: 100%;
  height: 225px;
}

.fn-features-card-with-image {
  color: #ecf0ef;
  background-color: #0f1213;
  border-radius: 13px;
  flex-direction: column;
  align-items: flex-start;
  padding: 0;
  text-decoration: none;
  display: flex;
  overflow: hidden;
}

.fn-features-card-with-image:hover {
  color: #ecf0ef;
}

.fn-solutions-card-wrapper {
  grid-column-gap: 24px;
  grid-row-gap: 24px;
  justify-content: space-between;
  width: 100%;
  display: flex;
}

.fn-paragraph-no-margin {
  color: #cdd3d2;
  margin-bottom: 0;
  font-family: Open Sans, sans-serif;
  font-size: 16px;
  line-height: 1.6em;
  overflow: hidden;
}

.fn-heading-4 {
  margin-top: 0;
  margin-bottom: 24px;
  font-family: Open Sans, sans-serif;
  font-size: 52px;
  line-height: 1.2em;
}

.fn-column {
  flex-direction: column;
  align-items: flex-start;
  display: flex;
}

.fn-container-grid-2 {
  grid-column-gap: 24px;
  grid-row-gap: 24px;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
  grid-auto-columns: 1fr;
  width: 100%;
  max-width: 1310px;
  padding-left: 15px;
  padding-right: 15px;
  display: grid;
}

.fn-heading-5 {
  margin-top: 0;
  margin-bottom: 24px;
  font-family: Open Sans, sans-serif;
  font-size: 52px;
  line-height: 1.2em;
}

.cf-services-image {
  object-fit: contain;
  border-radius: 21px;
}

.cf-services-right-contain {
  width: 50%;
  max-width: 500px;
}

.cf-call-arrow-down {
  margin-bottom: -18px;
  margin-left: -18px;
  position: absolute;
  inset: auto auto 0% 0%;
}

.cf-call-arrow-down.gradient {
  margin-bottom: -22px;
  margin-left: -22px;
}

.cf-call-arrow-contain {
  background-color: #0d0e10;
  border-top-right-radius: 16px;
  justify-content: flex-start;
  align-items: flex-end;
  width: 32px;
  height: 32px;
  margin-left: 12px;
  padding-bottom: 5px;
  padding-left: 5px;
  display: flex;
  position: relative;
  overflow: hidden;
}

.cf-call-arrow-contain.cf-gradient {
  background-color: #b16cea;
  background-image: linear-gradient(135deg, #b16cea 20%, #ff5e69 60%, #ff8a56 80%, #ffa84b);
  width: 40px;
  height: 40px;
  padding-bottom: 6px;
  padding-left: 6px;
}

.cf-gradient-span {
  -webkit-text-fill-color: transparent;
  background-image: linear-gradient(to right, #b16cea 20%, #ff5e69 60%, #ff8a56 80%, #ffa84b);
  -webkit-background-clip: text;
  background-clip: text;
  font-family: Montserrat, sans-serif;
}

.cf-call-button {
  color: #0d0e10;
  letter-spacing: -.32px;
  align-items: center;
  padding-left: 10px;
  font-size: 18px;
  font-weight: 500;
  text-decoration: none;
  display: flex;
  overflow: visible;
}

.cf-call-button._24px-bold {
  color: #b16cea;
  letter-spacing: normal;
  padding-left: 0;
  font-size: 24px;
  font-weight: 700;
  line-height: 100%;
}

.cf-services-paragraph {
  color: #000;
  margin-bottom: 40px;
  font-family: Montserrat, sans-serif;
  font-size: 18px;
  font-weight: 400;
  line-height: 156%;
}

.cf-services-h2-heading {
  color: #000;
  margin-top: 0;
  margin-bottom: 24px;
  font-family: Montserrat, sans-serif;
  font-size: 32px;
  font-weight: 700;
  line-height: 120%;
}

.cf-services-icon {
  object-fit: contain;
  border-radius: 21px;
  margin-bottom: 32px;
}

.cf-services-icon._2 {
  margin-bottom: 32px;
  box-shadow: 0 14px 80px #186fe140;
}

.cf-services-icon._1 {
  border-radius: 21px;
  margin-bottom: 32px;
  box-shadow: 0 14px 80px #fc6b5c40;
}

.cf-services-left-contain {
  flex-direction: column;
  align-items: flex-start;
  width: 45%;
  max-width: 450px;
  display: flex;
}

.cf-services-page-contain {
  justify-content: space-between;
  align-items: center;
  width: 100%;
  margin-bottom: 200px;
  display: flex;
}

.cf-services-page-contain.reverse {
  flex-direction: row-reverse;
  margin-bottom: 0;
}

.cf-services-main-wrapper {
  flex-direction: column;
  grid-template-rows: auto auto;
  grid-template-columns: 1fr 1fr 1fr;
  grid-auto-columns: 1fr;
  justify-content: flex-start;
  align-items: center;
  width: 90%;
  max-width: 1140px;
  margin-left: auto;
  margin-right: auto;
  padding-top: 100px;
  padding-bottom: 100px;
  display: flex;
}

.cf-flex-section-3 {
  background-color: var(--flowui-component-library--primary-lighter);
}

.cell {
  background-image: url('../images/Icon-2.svg');
  background-position: 0 0;
  background-size: auto;
}

.gallery-slider {
  border-bottom: 1px solid #e4ebf3;
  padding: 80px 30px;
  position: relative;
}

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

.gallery-wrapper {
  grid-column-gap: 40px;
  grid-row-gap: 40px;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr;
  grid-auto-columns: 1fr;
  align-items: start;
  display: grid;
}

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

.gallery-slide {
  background-color: #0000;
  height: auto;
}

.gallery-slide-wrapper {
  max-width: 47%;
  margin-right: 6%;
}

.gallery-slide-image {
  position: relative;
}

.gallery-image {
  width: 100%;
}

.gallery-slide-text {
  color: #f5f7fa;
  margin-bottom: 0;
  line-height: 32px;
  position: absolute;
  bottom: 24px;
  left: 24px;
  right: 24px;
}

.gallery-slider-left {
  justify-content: center;
  align-items: center;
  width: 40px;
  display: flex;
  left: -50px;
}

.gallery-slider-left:focus-visible,
.gallery-slider-left[data-wf-focus-visible] {
  outline-offset: 0px;
  border-radius: 5px;
  outline: 2px solid #0050bd;
}

.slider-arrow-embed {
  color: #1a1b1f;
}

.gallery-slider-right {
  justify-content: center;
  align-items: center;
  width: 40px;
  display: flex;
  right: -50px;
}

.gallery-slider-right:focus-visible,
.gallery-slider-right[data-wf-focus-visible] {
  outline-offset: 0px;
  border-radius: 5px;
  outline: 2px solid #0050bd;
}

.gallery-slide-nav {
  display: none;
}

.section-4 {
  flex-flow: column;
  justify-content: center;
  align-items: center;
  display: flex;
}

.f-container-regular-2 {
  width: 100%;
  max-width: 1140px;
  margin-left: auto;
  margin-right: auto;
  position: relative;
}

.f-margin-bottom-16 {
  margin-bottom: 16px;
}

.f-paragraph-large {
  letter-spacing: -.02em;
  margin-bottom: 0;
  font-size: 18px;
  line-height: 32px;
}

.f-h5-heading-2 {
  color: var(--flowui-component-library--gray-900);
  letter-spacing: -.02em;
  margin-top: 0;
  margin-bottom: 0;
  font-size: 32px;
  line-height: 1.4;
}

.f-section-large-2 {
  align-self: center;
  padding: 92px 5%;
  position: relative;
}

.f-feature-card-filled {
  background-color: var(--flowui-component-library--gray-100);
  border-radius: 13px;
  padding: 32px;
}

.f-feature-icon-wrapper-white {
  background-color: #fff;
  border-radius: 8px;
  width: 72px;
  min-width: 72px;
  height: 72px;
  min-height: 72px;
  margin-bottom: 40px;
  padding: 16px;
}

.f-grid-three-column {
  grid-column-gap: 40px;
  grid-row-gap: 40px;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr;
}

.f-h3-heading {
  color: var(--flowui-component-library--gray-900);
  letter-spacing: -.02em;
  margin-top: 0;
  margin-bottom: 0;
  font-size: 48px;
  line-height: 1.2;
}

.f-paragraph-small-3 {
  letter-spacing: -.01em;
  margin-bottom: 0;
  font-size: 14px;
  line-height: 1.8;
}

.f-title-wrapper-center {
  z-index: 5;
  text-align: center;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  max-width: 580px;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  position: relative;
}

.f-margin-bottom-17 {
  margin-bottom: 8px;
}

.f-margin-bottom-18 {
  margin-bottom: 16px;
}

.f-section-large-3 {
  background-color: var(--flowui-component-library--grey-300);
  padding: 92px 5%;
  position: relative;
}

.f-feature-icon-wrapper {
  background-color: var(--flowui-component-library--gray-100);
  border-radius: 8px;
  width: 72px;
  min-width: 72px;
  height: 72px;
  min-height: 72px;
  margin-bottom: 32px;
  padding: 16px;
}

.f-sub-heading-large {
  color: var(--flowui-component-library--gray-900);
  letter-spacing: -.02em;
  font-size: 24px;
  font-weight: 700;
  line-height: 32px;
}

.f-heading-detail-small {
  color: var(--flowui-component-library--gray-500);
  letter-spacing: .08em;
  text-transform: uppercase;
  font-size: 14px;
  font-weight: 700;
  line-height: 24px;
}

.f-grid-four-columns {
  grid-column-gap: 40px;
  grid-row-gap: 40px;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr 1fr;
}

.f-margin-bottom-128 {
  margin-bottom: 128px;
}

.cf-home-tab-link {
  color: #fff;
  background-color: #0000;
  border-radius: 34px;
  padding: 18px 40px 16px;
  font-family: Montserrat, sans-serif;
  font-size: 18px;
  font-weight: 700;
  line-height: 100%;
  transition: opacity .2s;
}

.cf-home-tab-link:hover {
  opacity: .8;
}

.cf-home-tab-link.w--current {
  background-color: var(--conversion-flow-library--medium-purple);
  color: #fff;
  border-radius: 34px;
  padding: 18px 40px 16px;
  font-size: 18px;
  font-weight: 700;
  line-height: 100%;
}

.cf-home-tabs {
  flex-direction: column;
  align-items: center;
  width: 100%;
  display: flex;
}

.cf-tabs-content-contain {
  border-radius: 13px;
  justify-content: space-between;
  align-items: stretch;
  min-height: 689px;
  display: flex;
}

.cf-tabs-image.tab-2 {
  width: 62%;
  max-width: 362px;
  position: relative;
  top: -20%;
}

.cf-tabs-image.absolute {
  position: absolute;
  inset: auto 17% 7% auto;
  box-shadow: 8px 18px 160px #0003;
}

.cf-tabs-image.absolute.tab-1 {
  width: 36%;
  max-width: 212px;
  right: 14%;
}

.cf-tabs-image.absolute.tab-2 {
  width: 81%;
  max-width: 475px;
  position: absolute;
  inset: auto 8% 15% auto;
}

.cf-tabs-image.absolute.card {
  width: 48%;
  max-width: 233px;
  height: auto;
}

.cf-tabs-image.absolute.card.tab-3 {
  width: 36%;
  max-width: 212px;
  padding: 0;
  bottom: 15%;
}

.cf-tabs-header {
  color: #fff;
  max-width: 839px;
  margin-bottom: 40px;
  margin-left: auto;
  margin-right: auto;
}

.cf-tabs-content-text {
  color: #000c;
  margin-bottom: 36px;
  font-family: Montserrat, sans-serif;
  font-size: 18px;
  font-weight: 500;
  line-height: 155%;
}

.cf-features-4-tabs-heading {
  text-align: center;
  max-width: 744px;
  margin: 0 auto 16px;
  font-family: Montserrat, sans-serif;
  font-size: 40px;
  font-weight: 700;
  line-height: 120%;
}

.cf-features-section-4 {
  background-color: #0d0e10;
}

.cf-tabs-element {
  position: absolute;
  inset: 4% 10% auto auto;
}

.cf-tabs-element._2 {
  inset: auto -6% -4% auto;
}

.cf-features-4-tabs-wrapper {
  width: 90%;
  max-width: 1169px;
  margin-left: auto;
  margin-right: auto;
  padding-top: 100px;
  padding-bottom: 100px;
}

.cf-tabs-sub-heading {
  color: var(--conversion-flow-library--medium-purple);
  text-transform: uppercase;
  margin-top: 0;
  margin-bottom: 0;
  font-family: Montserrat, sans-serif;
  font-size: 14px;
  font-weight: 700;
  line-height: 140%;
}

.cf-tab-image.tab-5 {
  width: 70%;
  max-width: 400px;
}

.cf-tab-image.tab-4 {
  width: 78%;
  max-width: 453px;
}

.cf-tab-image.tab-3 {
  width: 80%;
  max-width: 468px;
}

.cf-tab-image.tab-1 {
  width: 66%;
  max-width: 385px;
}

.cf-black-small-button {
  text-align: center;
  background-color: #000;
  border-radius: 100px;
  width: 169px;
  padding: 22px 32px 20px;
  font-family: Montserrat, sans-serif;
  font-size: 18px;
  font-weight: 600;
  transition: background-color .9s;
}

.cf-black-small-button:hover {
  background-image: linear-gradient(135deg, var(--conversion-flow-library--medium-purple) 31%, var(--conversion-flow-library--light-coral) 75%, var(--conversion-flow-library--coral) 92%, var(--conversion-flow-library--sandy-brown));
}

.cf-tabs-header-text {
  color: #fffc;
  text-align: center;
  font-family: Montserrat, sans-serif;
  font-size: 18px;
  font-weight: 400;
  line-height: 155%;
}

.cf-tabs-menu {
  grid-column-gap: 20px;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 80px;
  margin-left: auto;
  margin-right: auto;
  display: flex;
}

.cf-tabs-content {
  border-radius: 13px;
}

.cf-tabs-right-tab {
  background-color: var(--conversion-flow-library--medium-purple);
  justify-content: center;
  align-items: center;
  width: 50%;
  display: flex;
  position: relative;
}

.cf-tabs-left-wrap {
  background-color: #fff;
  flex-direction: column;
  justify-content: center;
  width: 50%;
  padding-left: 64px;
  padding-right: 54px;
  display: flex;
  position: relative;
}

.cf-tabs-content-heading {
  color: #000;
  margin-top: 10px;
  margin-bottom: 20px;
  font-family: Montserrat, sans-serif;
  font-size: 24px;
  font-weight: 700;
  line-height: 120%;
}

.cf-features-section-2-wrapper {
  flex-direction: column;
  grid-template-rows: auto auto;
  grid-template-columns: 1fr 1fr 1fr;
  grid-auto-columns: 1fr;
  justify-content: flex-start;
  align-items: center;
  width: 90%;
  max-width: 1140px;
  margin-left: auto;
  margin-right: auto;
  padding-top: 100px;
  padding-bottom: 100px;
  display: flex;
}

.cf-features-section-2-image-wrapper {
  margin-bottom: 32px;
  position: relative;
}

.cf-features-section-2-grid-2 {
  grid-column-gap: 40px;
  grid-row-gap: 40px;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr;
  width: 100%;
  margin-top: 80px;
}

.cf-service-number {
  color: #fff;
  text-align: center;
  letter-spacing: -.16px;
  font-size: 26px;
  line-height: 123%;
}

.cf-features-section-2-heading-2 {
  color: #000;
  text-align: center;
  max-width: 700px;
  margin-top: 0;
  margin-bottom: 0;
  font-family: Montserrat, sans-serif;
  font-size: 32px;
  font-weight: 700;
  line-height: 115%;
}

.cf-features-section-2 {
  background-color: #f8f8f8;
}

.cf-features-section-2-icon-wrap-2 {
  background-color: #b16cea;
  background-image: linear-gradient(150deg, var(--dark-khaki), var(--uc-green360) 30%, var(--medium-sea-green) 80%, var(--light-sea-green-2));
  border-radius: 13px;
  justify-content: center;
  align-items: center;
  width: 100%;
  max-width: 100px;
  height: 100px;
  margin-bottom: 20px;
  display: flex;
  position: relative;
  inset: auto 0% 0% auto;
}

.cf-features-section-2-icon-wrap-2.cf-absolute {
  background-image: linear-gradient(150deg, var(--uc-green360), var(--dark-khaki) 17%, var(--medium-sea-green) 58%, var(--light-sea-green-2) 92%);
  position: absolute;
  inset: -6% auto auto 6%;
}

.cf-service-paragraph-2 {
  color: #0d0e10e6;
  text-align: left;
  margin-top: 4px;
  margin-bottom: 0;
  font-family: Montserrat, sans-serif;
  font-size: 18px;
  font-weight: 500;
  line-height: 156%;
}

.cf-features-section-2-grid-cell-2 {
  flex-direction: column;
  align-items: flex-start;
  width: 100%;
  max-width: 353px;
  display: flex;
}

.cf-features-section-2-grid-cell-2.homepage-3 {
  align-items: flex-start;
  max-width: 353px;
}

.cf-service-heading-2 {
  color: #0d0d0d;
  text-align: center;
  letter-spacing: -.16px;
  margin-bottom: 16px;
  font-family: Montserrat, sans-serif;
  font-size: 24px;
  font-weight: 700;
  line-height: 133%;
}

.cf-service-image {
  background-color: #b5ffcb;
  background-image: none;
  border-radius: 21px;
}

.cf-service-icon-2 {
  object-fit: contain;
}

.cf-features-section-5 {
  background-color: #fff;
}

.cf-features-section-3-wrapper-2 {
  flex-direction: column;
  grid-template-rows: auto auto;
  grid-template-columns: 1fr 1fr 1fr;
  grid-auto-columns: 1fr;
  justify-content: flex-start;
  align-items: center;
  width: 90%;
  max-width: 1140px;
  margin-left: auto;
  margin-right: auto;
  padding-top: 100px;
  padding-bottom: 100px;
  display: flex;
}

.cf-features-section-3-grid-cell-2 {
  flex-direction: column;
  align-items: flex-start;
  width: 100%;
  max-width: 353px;
  display: flex;
}

.cf-features-section-3-icon-wrap-2 {
  background-color: #b16cea;
  background-image: linear-gradient(150deg, #b16cea 20%, #ff5e69 60%, #ff8a56 80%, #ffa84b);
  border-radius: 13px;
  justify-content: center;
  align-items: center;
  width: 100%;
  max-width: 56px;
  height: 56px;
  margin-bottom: 20px;
  display: flex;
  position: relative;
  top: auto;
  left: auto;
}

.list-item,
.list-item-2 {
  text-align: left;
  margin-bottom: 0;
  padding-bottom: 10px;
  font-weight: 900;
}

.list-item-3 {
  float: none;
  clear: none;
  text-align: left;
  margin-bottom: 0;
  padding-bottom: 10px;
  font-family: Montserrat, sans-serif;
  font-weight: 900;
  list-style-type: decimal;
}

.list {
  text-align: left;
  column-count: auto;
  margin-bottom: 10px;
}

.bold-text-2 {
  font-size: 20px;
  font-weight: 700;
  line-height: 50px;
}

.bold-text-3,
.bold-text-4,
.bold-text-5,
.bold-text-6,
.bold-text-7 {
  font-size: 20px;
  line-height: 50px;
}

.cf-nav-underline {
  background-color: #0b141f;
  width: 100%;
  height: 2px;
  position: absolute;
  inset: auto 0% 0%;
}

.cf-dropdown-list-contain {
  background-color: #fff;
  width: 100%;
  max-width: none;
  margin-left: auto;
  margin-right: auto;
  padding: 0;
  box-shadow: 0 30px 100px #40454f1a;
}

.cf-dropdown-toggle-div {
  grid-column-gap: 10px;
  color: #04121f;
  padding: 0;
  transition: color .2s;
  display: flex;
}

.cf-dropdown-toggle-div:hover {
  color: var(--conversion-flow-library--medium-purple);
  font-weight: 500;
}

.cf-brand-2 {
  object-fit: contain;
  justify-content: flex-start;
  width: auto;
  height: 40px;
  padding-left: 0;
  display: flex;
}

.cf-navigation-2-wrapper {
  justify-content: space-between;
  align-items: center;
  width: 95%;
  max-width: 1340px;
  height: 100%;
  min-height: 40px;
  margin-left: auto;
  margin-right: auto;
  padding-top: 10px;
  padding-bottom: 10px;
  display: flex;
  position: static;
}

.cf-visual-features-item {
  flex-direction: column;
  align-items: flex-start;
  display: flex;
}

.cf-visual-features-item.navbar {
  color: #0d0e10;
  background-color: #fff;
  border-radius: 0;
  padding: 40px;
  text-decoration: none;
}

.cf-visual-features-item.navbar {
  color: #0d0e10;
  background-color: #fff;
  border-radius: 0;
  padding: 40px;
  font-family: Montserrat, sans-serif;
  font-size: 18px;
  line-height: 125%;
}

.cf-visual-features-item.navbar:hover {
  background-color: #fafafa;
}

.cf-resources-visual-grid {
  grid-column-gap: 40px;
  grid-row-gap: 20px;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  grid-auto-columns: 1fr;
  display: grid;
}

.cf-nav-dropdown-title-para {
  color: #0b141f;
  font-family: Montserrat, sans-serif;
  font-size: 18px;
  line-height: 28px;
}

.cf-nav-dropdown-top {
  border-bottom: 1px solid #0b141f4d;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 40px;
  padding-bottom: 45px;
  display: flex;
}

.cf-dropdown-list-nav {
  background-color: #0000;
  border-radius: 8px;
  top: 80px;
  left: 0;
  right: 0;
  overflow: hidden;
  box-shadow: 0 30px 50px #00000014;
}

.cf-dropdown-list-nav.w--open {
  box-shadow: none;
  width: 100%;
  padding-top: 25px;
  top: 55px;
  overflow: visible;
}

.cf-navigation-drop-container {
  background-color: #fff;
  border-radius: 13px;
  flex-direction: column;
  width: 90%;
  margin-left: auto;
  margin-right: auto;
  padding-top: 40px;
  padding-bottom: 60px;
  display: flex;
  overflow: hidden;
}

.cf-navigation-2-left-contain {
  align-items: center;
  display: flex;
}

.cf-nav-visual-image {
  object-fit: contain;
  width: 100%;
  height: auto;
}

.cf-nav-2-button {
  color: #f0f9f5;
  letter-spacing: .4px;
  background-color: #000;
  border-radius: 13px;
  padding: 16px 36px;
  font-family: Montserrat, sans-serif;
  font-size: 18px;
  font-weight: 500;
  transition: background-color .23s;
}

.cf-nav-2-button:hover {
  background-color: #0000;
  background-image: linear-gradient(to right, var(--conversion-flow-library--medium-purple) 18%, var(--conversion-flow-library--light-coral) 60%, var(--conversion-flow-library--coral) 82%, var(--conversion-flow-library--sandy-brown));
}

.cf-visual-features-items-container {
  grid-column-gap: 40px;
  grid-row-gap: 0px;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr;
  grid-auto-columns: 1fr;
  display: grid;
}

.cf-visual-features-items-container.price-nav {
  grid-column-gap: 0px;
  grid-template-columns: 1fr 1fr 1fr 1fr;
}

.cf-visual-features-items-container.nav {
  grid-column-gap: 0px;
  grid-column-gap: 0px;
}

.cf-resource-visual-block {
  max-width: 80px;
  margin-bottom: 32px;
}

.cf-resource-block-text {
  margin-top: 0;
  margin-bottom: 0;
  margin-right: 10px;
  font-family: Montserrat, sans-serif;
  font-size: 24px;
  font-weight: 700;
  line-height: 28px;
}

.cf-visual-features-item-heading {
  margin-top: 0;
  margin-bottom: 0;
  margin-right: 20px;
  font-family: Montserrat, sans-serif;
}

.cf-navigation-right-contain {
  justify-content: flex-end;
  align-items: center;
  font-size: 16px;
  display: flex;
}

.cf-nav-arrow-icon {
  width: 24px;
  height: 24px;
}

.cf-dropdown-arrow---nav-3 {
  margin-right: 0;
  font-size: 14px;
  position: static;
}

.cf-resource-visual-item {
  color: #000;
  flex-direction: column;
  align-items: flex-start;
  text-decoration: none;
  display: flex;
}

.cf-nav-dropdown-title {
  color: #0b141f;
  margin-bottom: 10px;
  font-family: Montserrat, sans-serif;
  font-size: 48px;
  font-weight: 700;
  line-height: 54px;
}

.cf-resource-visual {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.cf-nav-2-menu {
  grid-column-gap: 32px;
  color: #283338;
  align-items: center;
  margin-left: 20px;
  margin-right: auto;
  font-size: 15px;
  display: flex;
  position: static;
}

.cf-visual-features-item-image {
  width: 100%;
  height: 150px;
  margin-bottom: 28px;
  overflow: hidden;
}

.cf-nav-visual-text-block {
  align-items: center;
  padding-bottom: 5px;
  display: flex;
  position: relative;
}

.cf-navigation-2-link {
  letter-spacing: .2px;
  justify-content: center;
  align-items: center;
  padding: 20px 0;
  font-family: Montserrat, sans-serif;
  font-size: 18px;
  font-weight: 500;
  transition: color .26s;
  display: flex;
}

.cf-navigation-2-link:hover {
  color: var(--conversion-flow-library--medium-purple);
}

.cf-navigation-2-link.w--current {
  color: #007e60;
}

.cf-navigation-2-bar {
  background-color: #ddd0;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  display: flex;
}

.cf-navigation-logo {
  object-fit: contain;
}

.cf-dropdown-wrapper {
  position: static;
}

.code-embed {
  background-color: #000;
  justify-content: center;
  align-items: flex-end;
  display: flex;
}

.background-video-2 {
  box-sizing: border-box;
  float: none;
  clear: none;
  grid-column-gap: 0px;
  grid-row-gap: 0px;
  aspect-ratio: auto;
  outline-offset: 0px;
  pointer-events: auto;
  transform-origin: 50%;
  mix-blend-mode: normal;
  object-fit: fill;
  object-position: 0% 0%;
  outline: 3px #fff;
  flex-flow: wrap;
  place-content: center;
  align-items: flex-end;
  width: auto;
  height: auto;
  min-height: 100%;
  max-height: 100%;
  display: flex;
  position: static;
  inset: 0% auto auto 0%;
  overflow: visible;
  transform: none;
}

.video-2 {
  background-image: url('https://d3e54v103j8qbb.cloudfront.net/img/background-image.svg');
  background-position: 0 0;
  background-size: auto;
}

.section-5 {
  box-sizing: border-box;
  object-fit: fill;
}

.cf-wrapper-1160 {
  justify-content: space-between;
  align-items: center;
  width: 90%;
  max-width: 1160px;
  margin-left: auto;
  margin-right: auto;
  padding-top: 100px;
  padding-bottom: 100px;
  display: flex;
  position: relative;
}

.cf-wrapper-1160.different-flex {
  flex-direction: column;
  align-items: flex-start;
  padding-top: 160px;
  padding-bottom: 60px;
}

.cf-pricing-plan-pointers {
  justify-content: flex-start;
  align-items: center;
  margin-bottom: 16px;
  display: flex;
}

.cf-pricing-plan-pointers.no-margin {
  margin-bottom: 0;
}

.cf-italic-text {
  font-style: italic;
  font-weight: 700;
}

.cf-h2-heading-56px {
  color: #292727;
  margin-top: 0;
  margin-bottom: 0;
  font-family: Montserrat, sans-serif;
  font-size: 32px;
  font-weight: 700;
  line-height: 120%;
}

.cf-body---18px {
  color: #191414cc;
  font-family: Montserrat, sans-serif;
  font-size: 18px;
  font-weight: 500;
  line-height: 160%;
}

.cf-h3-heading-40px {
  color: #000;
  margin-top: 0;
  margin-bottom: 0;
  font-family: Montserrat, sans-serif;
  font-size: 24px;
  font-weight: 700;
  line-height: 125%;
}

.cf-h3-heading-40px.margin-bottom-32px {
  color: #020101;
  margin-bottom: 32px;
}

.cf-different-tab-image {
  width: 32px;
  height: auto;
  margin-right: 16px;
}

.cf-different-tabs-content {
  width: 100%;
  max-width: 600px;
  margin-left: auto;
}

.cf-different-tab-link {
  opacity: .3;
  letter-spacing: -.01em;
  background-color: #0000;
  justify-content: flex-start;
  align-items: center;
  margin-top: 10px;
  margin-bottom: 10px;
  padding: 0;
  font-family: Montserrat, sans-serif;
  font-size: 24px;
  font-weight: 700;
  line-height: 40px;
  display: flex;
}

.cf-different-tab-link.w--current {
  opacity: 1;
  background-color: #0000;
}

.cf-different-upper-container {
  margin-bottom: 64px;
}

.cf-different-bottom-container {
  width: 100%;
}

.cf-pricing-plan-check-icon {
  width: 28px;
  height: 28px;
  margin-right: 16px;
}

.cf-pricing-plan-pointer-container {
  margin-top: 40px;
}

.cf-different-section {
  background-color: #eee;
  position: static;
}

.cf-different-tabs {
  width: 100%;
  height: 100%;
  display: flex;
}

.cf-pricing-plan-pointer-text-18px {
  color: #000c;
  font-family: Montserrat, sans-serif;
  font-size: 18px;
  font-weight: 500;
  line-height: 32px;
}

.cf-different-menu {
  flex-direction: column;
  width: 85%;
  max-width: 540px;
  margin-right: 1%;
  display: flex;
}

.text-block-2 {
  color: #151616;
}

.text-block-3 {
  color: #32383d;
}

.cf-h2-heading-56px-2 {
  color: #000;
  margin-top: auto;
  margin-bottom: 2px;
  margin-left: 0;
  padding-left: 220px;
  font-family: Montserrat, sans-serif;
  font-size: 44px;
  font-weight: 700;
  line-height: 120%;
}

.cf-body---18px-2 {
  color: #000c;
  font-family: Montserrat, sans-serif;
  font-size: 18px;
  font-weight: 500;
  line-height: 160%;
}

.cf-different-section-2 {
  background-color: #c6f7ff;
  background-image: linear-gradient(180deg, #aaf4ff, #bfc), linear-gradient(180deg, #a7f3ff, var(--uc-green360));
}

.fs-slider_slide {
  backface-visibility: hidden;
  transition-property: transform opacity;
  background-color: #f5f5f500;
  flex: none;
  justify-content: center;
  align-items: stretch;
  width: 33.33%;
  height: auto;
  padding: 1rem;
  display: flex;
  position: relative;
}

.fs-slider_placeholder {
  color: #707070;
  text-align: center;
  border: 1px dashed #707070;
  justify-content: center;
  align-items: center;
  width: 100%;
  min-height: 20rem;
  padding: 1rem;
  display: flex;
}

.fs-slider_list {
  transform-style: preserve-3d;
  flex-direction: row;
  justify-content: start;
  align-items: start;
  height: auto;
  display: flex;
}

.fs-slider_button {
  border: 3px solid var(--uc-blue);
  outline-offset: 0px;
  color: #fff;
  background-color: #24c0d82e;
  border-radius: 8px;
  outline: 3px solid #000;
  padding: 1rem 2rem;
}

.fs-slider_instance {
  grid-column-gap: 1rem;
  grid-row-gap: 1rem;
  flex-flow: column;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  max-height: 100%;
  display: flex;
  position: relative;
}

.fs-slider_pagination {
  z-index: 10;
  grid-column-gap: 1rem;
  grid-row-gap: 1rem;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: auto;
  display: flex;
  position: relative;
}

.fs-slider_navigation {
  z-index: 10;
  grid-column-gap: 1rem;
  grid-row-gap: 1rem;
  background-color: #f5f5f500;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  padding: 1rem;
  display: flex;
  position: relative;
}

.fs-slider_list-wrapper {
  perspective: 1200px;
  flex: 1;
  position: relative;
  overflow: clip;
}

.fs-slider_scrollbar {
  touch-action: none;
  background-color: #f5f5f5;
}

.fs-slider_scrollbar_drag {
  background-color: #000;
  width: 20%;
  height: 1rem;
}

.fs-slider_pagination_bullet {
  border: 1px solid var(--uc-green360);
  background-color: var(--uc-blue);
  -webkit-backdrop-filter: blur(5px);
  backdrop-filter: blur(5px);
  color: #24c0d8;
  border-radius: 21px;
  width: 1rem;
  height: 1rem;
  padding: 0;
  display: inline-block;
}

.fs-slider_pagination_bullet.is-bullet-active {
  background-color: var(--uc-green360);
  opacity: .36;
  display: inline-block;
}

.text-block-4 {
  font-family: Montserrat, sans-serif;
}

@media screen and (min-width: 1280px) {
  .cf-tabs-element {
    top: 18%;
    right: 21%;
  }

  .slider {
    box-sizing: border-box;
    object-fit: cover;
    height: auto;
    max-height: none;
  }

  .slide {
    object-fit: none;
  }
}

@media screen and (min-width: 1440px) {
  .white-text {
    direction: ltr;
    column-count: 0;
    white-space: normal;
    word-break: normal;
    overflow-wrap: normal;
    text-decoration: none;
  }

  .cf-tabs-image.tab-2 {
    width: 62%;
  }

  .cf-tabs-image.absolute {
    bottom: 7%;
    right: 17%;
  }

  .cf-tabs-image.absolute.tab-1 {
    width: 36%;
    max-width: 212px;
  }

  .cf-tabs-image.absolute.tab-2 {
    width: 81%;
    bottom: 13%;
  }

  .cf-tabs-image.absolute.card {
    width: 48%;
  }

  .cf-tabs-image.absolute.card.tab-3 {
    width: 36%;
    bottom: 8%;
  }

  .cf-tabs-element {
    top: 18%;
    right: 20%;
  }

  .cf-tab-image.tab-5 {
    width: 68%;
  }

  .cf-tab-image.tab-4 {
    width: 78%;
  }

  .cf-tab-image.tab-3 {
    width: 80%;
  }

  .cf-tab-image.tab-1 {
    width: 66%;
    max-width: 385px;
  }

  .bold-text-8,
  .bold-text-9 {
    font-size: 20px;
  }
}

@media screen and (max-width: 991px) {
  .navigation-link {
    color: #fff;
    background-color: #22b2c900;
    font-weight: 500;
  }

  .navigation-link.w--current {
    color: #fff;
    background-color: #06effc00;
  }

  .navigation-bar {
    background-color: #6e6e6e00;
  }

  .navigation-bar.sticky {
    position: sticky;
    top: 0%;
  }

  .hamburger-button.w--open {
    background-color: #3b99d9;
  }

  .navigation-menu {
    background-color: #fafafa00;
    flex: none;
    align-self: center;
  }

  .white-1box {
    box-sizing: border-box;
    clear: left;
    aspect-ratio: 2 / 3;
    object-fit: fill;
    flex-flow: wrap;
    flex: 0 auto;
    justify-content: center;
    align-items: center;
    height: auto;
    display: flex;
    overflow: hidden;
  }

  .white-1box.transparent {
    grid-column-gap: 16px;
    grid-row-gap: 16px;
    aspect-ratio: auto;
    grid-template-rows: auto;
    grid-template-columns: 1fr;
    grid-auto-columns: 1fr;
    grid-auto-flow: row;
    place-items: stretch center;
    height: auto;
    padding-bottom: 0;
    display: grid;
    overflow: visible;
  }

  .white-1box.transparent.transparent-box {
    grid-column-gap: 16px;
    grid-row-gap: 16px;
    aspect-ratio: auto;
    grid-template-rows: auto auto auto auto auto;
    grid-template-columns: 1fr;
    grid-auto-columns: 1fr;
    grid-auto-flow: row;
    place-items: stretch center;
    height: auto;
    padding-bottom: 14px;
    display: grid;
    overflow: visible;
  }

  .hero-section.centered {
    clear: none;
    opacity: 1;
    border-width: 0;
    border-top-style: solid;
    border-top-color: #24c0d8;
    border-left-style: solid;
    border-left-color: #24c0d8;
    border-right-style: solid;
    border-right-color: #24c0d8;
    padding-top: 144px;
    padding-bottom: 144px;
  }

  .hero-heading {
    font-size: 22px;
  }

  .grid-image {
    width: 50%;
    padding: 15px;
  }

  .fullwidth-image {
    box-sizing: border-box;
    aspect-ratio: 3 / 2;
    background-image: linear-gradient(180deg, var(--light-sea-green), var(--uc-green)), linear-gradient(180deg, var(--uc-blue), var(--uc-green360));
    object-fit: contain;
    padding-left: 0;
    padding-right: 0;
    overflow: visible;
  }

  .bold-text {
    font-size: 48px;
  }

  .fn-footer-legal-link {
    transition: none;
  }

  .fn-footer-legal-link:hover {
    color: #939b9b;
  }

  .fn-standard-white-link {
    transition: none;
  }

  .fn-standard-white-link:hover {
    color: #ecf0ef;
  }

  .fn-brand-footer {
    z-index: 2;
    margin-bottom: 11px;
  }

  .fn-container-grid {
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
  }

  .fn-footer-first {
    padding-top: 60px;
    padding-bottom: 60px;
  }

  .f-pricing-feature-grid,
  .f-grid-two-column {
    grid-template-columns: 1fr;
  }

  .fn-nav-line-3 {
    background-color: #19224c;
    border-radius: 5px;
    width: 16px;
    height: 2px;
    margin-top: 2px;
    margin-bottom: 2px;
    padding-bottom: 0;
    padding-right: 0;
  }

  .fn-nav-line-3.green-line {
    background-color: #df0;
  }

  .fn-nav-line-2 {
    background-color: #19224c;
    border-radius: 5px;
    width: 16px;
    height: 2px;
    margin-top: 2px;
    margin-bottom: 2px;
    padding-bottom: 0;
    padding-right: 0;
  }

  .fn-nav-line-2.green-line {
    background-color: #df0;
  }

  .fn-nav-line-1 {
    background-color: #19224c;
    border-radius: 5px;
    width: 16px;
    height: 2px;
    margin-top: 2px;
    margin-bottom: 2px;
    padding-bottom: 0;
    padding-right: 0;
  }

  .fn-nav-line-1.green-line {
    background-color: #df0;
  }

  .nav-menu-button-wrap {
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    display: flex;
  }

  .fn-menu-button-second {
    margin-right: -15px;
    padding-right: 18px;
  }

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

  .fn-button-secondery-navbar {
    color: #ecf0ef;
    border-color: #ecf0ef;
  }

  .fn-button-secondery-navbar:hover {
    background-color: #0000;
  }

  .fn-navbar-link-second {
    color: #ecf0ef;
    border-top: 1px solid #3e4545;
    padding-top: 32px;
    padding-bottom: 32px;
  }

  .fn-navbar-link-second:hover,
  .fn-navbar-link-second.w--current,
  .fn-navbar-link-second.w--current:hover {
    color: #ecf0ef;
  }

  .fn-navbar-link-second.last-link-on-mobile {
    border-bottom: 1px solid #3e4545;
  }

  .fn-navbar-link-second-2 {
    width: 100%;
    margin-left: 0;
    margin-right: 0;
    padding: 24px 0;
  }

  .fn-dropdown-list-link {
    padding-left: 0;
    padding-right: 0;
    transition: none;
  }

  .fn-dropdown-list-link:hover {
    color: #ecf0ef;
  }

  .fn-navbar-link-list {
    margin-top: -12px;
    padding-top: 0;
    padding-bottom: 28px;
    display: none;
    position: relative;
  }

  .fn-navbar-link-list.w--open {
    position: relative;
  }

  .fn-dorpdown-link {
    width: 100%;
  }

  .fn-navbar-links-wrapper {
    flex-direction: column;
    align-items: flex-start;
  }

  .fn-navbar-menu-wrapper-second {
    grid-column-gap: 40px;
    grid-row-gap: 40px;
    background-color: #0f1213;
    border-radius: 21px;
    flex-direction: column;
    justify-content: flex-start;
    padding: 0 0 24px;
    display: flex;
  }

  .fn-navbar-menu-box-second {
    background-color: #0f1213;
    padding-top: 0;
    padding-left: 15px;
    padding-right: 15px;
  }

  .fn-brand-box {
    z-index: 2;
    transition: none;
  }

  .fn-brand-box:hover {
    opacity: 1;
  }

  .fn-navbar-container-second {
    justify-content: space-between;
  }

  .fn-navbar-box-second {
    background-color: #0f1213;
  }

  .fn-nav-line-4 {
    background-color: #19224c;
    border-radius: 5px;
    width: 16px;
    height: 2px;
    margin-top: 2px;
    margin-bottom: 2px;
    padding-bottom: 0;
    padding-right: 0;
  }

  .fn-nav-line-4.green-line {
    background-color: #df0;
  }

  .fn-nav-line-5 {
    background-color: #19224c;
    border-radius: 5px;
    width: 16px;
    height: 2px;
    margin-top: 2px;
    margin-bottom: 2px;
    padding-bottom: 0;
    padding-right: 0;
  }

  .fn-nav-line-5.green-line {
    background-color: #df0;
  }

  .fn-brand-box-2 {
    z-index: 2;
    transition: none;
  }

  .fn-brand-box-2:hover {
    opacity: 1;
  }

  .heading {
    letter-spacing: 0;
    flex-flow: wrap;
    flex: 0 auto;
    justify-content: center;
    align-items: center;
    display: block;
  }

  .heading-2,
  .heading-3,
  .heading-4,
  .heading-5,
  .heading-6 {
    letter-spacing: 0;
  }

  .cf-features-section-2-grid {
    grid-row-gap: 80px;
    grid-template-columns: 1fr 1fr;
    max-width: 700px;
  }

  .cf-features-section-2-heading {
    max-width: 600px;
    font-size: 30px;
  }

  .cf-features-section-3-wrapper {
    padding-top: 140px;
  }

  .cf-secondary-button.pricing-button {
    margin-top: 60px;
  }

  .cf-pricing-plan-content-wrapper {
    margin-bottom: 0;
  }

  .cf-pricing-plan-price {
    margin-bottom: 25px;
  }

  .cf-pricing-box-plan-wrapper {
    text-align: center;
    align-items: center;
  }

  .cf-pricing-box {
    min-height: auto;
  }

  .cf-pricing-box.pricing-box-alternative,
  .cf-pricing-box.pricing-highlighted {
    width: 80%;
    max-width: 400px;
    min-height: auto;
    margin-bottom: 40px;
    margin-left: auto;
    margin-right: auto;
  }

  .cf-primary-button.pricing-button {
    margin-top: 60px;
  }

  .cf-pricing-box-row {
    flex-direction: column;
  }

  .cf-toggle-save-text {
    font-size: 18px;
  }

  .cf-toggle-contain {
    margin-left: 20px;
    margin-right: 20px;
    position: relative;
  }

  .cf-pricing-2-price-card-section {
    margin-bottom: 100px;
  }

  .uui-padding-vertical-xhuge {
    padding-top: 6rem;
    padding-bottom: 6rem;
  }

  .hide-tablet {
    display: none;
  }

  .nav-cont {
    clear: left;
    grid-column-gap: 0px;
    grid-row-gap: 0px;
    color: #fff;
    flex-flow: row;
    grid-template-rows: auto;
    grid-template-columns: 1fr 1fr;
    grid-auto-columns: 1fr;
    display: flex;
    top: 0%;
  }

  .cf-achievement-card-icon {
    margin-bottom: 10px;
  }

  .cf-achievements-card {
    font-size: 20px;
  }

  .cf-achievements-card-container {
    grid-row-gap: 70px;
    grid-template-columns: 1fr;
    max-width: 300px;
  }

  .cf-achievement-heading {
    font-size: 28px;
  }

  .cf-wrapper.achievement-wrapper {
    padding-top: 120px;
    padding-bottom: 120px;
  }

  .unsplash-image {
    box-sizing: border-box;
    aspect-ratio: 3 / 2;
    object-fit: contain;
    height: auto;
  }

  .column-2 {
    box-sizing: border-box;
    clear: right;
    grid-column-gap: 16px;
    grid-row-gap: 16px;
    aspect-ratio: auto;
    flex-flow: wrap;
    grid-template-rows: auto;
    grid-template-columns: 1fr;
    grid-auto-columns: 1fr;
    grid-auto-flow: column;
    place-content: center;
    place-items: stretch center;
    display: grid;
    position: static;
  }

  .column-3 {
    box-sizing: border-box;
    clear: right;
    flex-flow: wrap;
    justify-content: center;
    align-items: center;
    display: flex;
  }

  .columns-2 {
    float: none;
    clear: right;
    flex-flow: row;
    justify-content: flex-start;
    align-items: stretch;
    margin-bottom: auto;
    padding-bottom: 0;
    display: block;
    position: relative;
  }

  .cf-checkbox-label {
    color: var(--uc-blue);
    font-size: 16px;
  }

  .cf-checkbox {
    color: var(--uc-blue);
    -webkit-text-stroke-width: 0px;
    -webkit-text-stroke-color: var(--uc-green360);
    border-style: solid;
    border-width: 2px;
  }

  .cf-checkbox-field {
    padding-left: 24px;
    padding-right: 24px;
  }

  .cf-checkbox-container {
    grid-column-gap: 14px;
    grid-row-gap: 14px;
  }

  .cf-form-heading {
    font-size: 30px;
  }

  .f-navigation-menu-button {
    border: 1px solid var(--flowui-component-library--gray-200);
    color: var(--flowui-component-library--grey-600);
    border-radius: 8px;
    padding: 10px;
  }

  .f-navigation-menu-button.w--open {
    background-color: var(--flowui-component-library--gray-900);
    border-color: #fff;
  }

  .f-navigation-link {
    width: 100%;
  }

  .f-navigation-menu {
    background-color: var(--flowui-component-library--white);
    color: var(--flowui-component-library--grey-600);
    padding: 12px;
    position: absolute;
  }

  .f-navigation-menu.w--open {
    background-color: var(--flowui-component-library--gray-700);
    border-color: #fff;
  }

  .f-navigation-content {
    align-items: center;
    width: auto;
    display: flex;
  }

  .f-navigation-logo-link {
    margin-right: 0;
  }

  .f-navigation {
    position: relative;
  }

  .f-navigation-menu-button-2 {
    border: 1px solid var(--flowui-component-library--gray-200);
    color: var(--flowui-component-library--grey-600);
    border-radius: 8px;
    padding: 10px;
  }

  .f-navigation-menu-button-2.w--open {
    background-color: var(--flowui-component-library--gray-900);
    border-color: #fff;
  }

  .f-navigation-link-2 {
    width: 100%;
  }

  .f-navigation-menu-2 {
    background-color: var(--flowui-component-library--white);
    color: var(--flowui-component-library--grey-600);
    padding: 12px;
    position: absolute;
  }

  .f-navigation-menu-2.w--open {
    background-color: var(--flowui-component-library--gray-700);
    border-color: #fff;
  }

  .f-navigation-content-2 {
    align-items: center;
    width: auto;
    display: flex;
  }

  .f-navigation-logo-link-2 {
    margin-right: 0;
  }

  .f-navigation-2 {
    position: relative;
  }

  .fn-banner-image-three,
  .fn-banner-image-two,
  .fn-banner-image-one {
    display: none;
  }

  .fn-button-dark:hover {
    color: #df0;
    background-color: #1d1f1e;
  }

  .fn-heading-2 {
    margin-bottom: 12px;
    font-size: 40px;
  }

  .fn-cta-banner-column {
    width: 100%;
    max-width: none;
  }

  .fn-cta-banner {
    padding: 60px;
  }

  .fn-section {
    padding-top: 60px;
    padding-bottom: 60px;
  }

  .fn-heading-3 {
    font-size: 32px;
  }

  .fn-features-card-with-image.slider-cards {
    flex: none;
    width: 411px;
  }

  .fn-solutions-card-wrapper {
    width: 100vw;
    margin-left: -15px;
    padding-left: 15px;
    padding-right: 15px;
    overflow: auto;
  }

  .fn-heading-4 {
    margin-bottom: 12px;
    font-size: 40px;
  }

  .fn-container-grid-2 {
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
  }

  .fn-heading-5 {
    margin-bottom: 12px;
    font-size: 40px;
  }

  .cf-services-right-contain {
    width: 100%;
  }

  .cf-services-h2-heading {
    font-size: 30px;
  }

  .cf-services-left-contain {
    width: 100%;
    margin-top: 60px;
  }

  .cf-services-page-contain,
  .cf-services-page-contain.reverse {
    flex-direction: column-reverse;
  }

  .container-14 {
    max-width: 728px;
  }

  .gallery-wrapper {
    grid-template-columns: 1fr 1fr;
  }

  .gallery-slider-left {
    left: -20px;
  }

  .gallery-slider-right {
    right: -20px;
  }

  .f-grid-three-column,
  .f-grid-four-columns {
    grid-template-columns: 1fr 1fr;
  }

  .cf-tabs-content-contain {
    flex-direction: column;
    align-items: center;
    max-width: 600px;
  }

  .cf-tabs-menu {
    grid-column-gap: 15px;
    grid-row-gap: 15px;
    flex-wrap: wrap;
    justify-content: center;
    max-width: 650px;
  }

  .cf-tabs-right-tab {
    width: 100%;
    padding-top: 50px;
    padding-bottom: 50px;
  }

  .cf-tabs-left-wrap {
    width: auto;
    padding-top: 30px;
    padding-bottom: 30px;
  }

  .cf-features-section-2-wrapper {
    padding-top: 140px;
  }

  .cf-features-section-2-grid-2 {
    grid-row-gap: 80px;
    grid-template-columns: 1fr 1fr;
    max-width: 700px;
  }

  .cf-features-section-2-heading-2 {
    max-width: 600px;
    font-size: 30px;
  }

  .cf-features-section-3-wrapper-2 {
    padding-top: 140px;
  }

  .bold-text-2 {
    font-size: 20px;
    line-height: 25px;
  }

  .bold-text-3,
  .bold-text-4,
  .bold-text-5,
  .bold-text-6,
  .bold-text-7 {
    line-height: 25px;
  }

  .cf-dropdown-list-contain {
    box-shadow: none;
    padding: 0;
  }

  .cf-dropdown-toggle-div {
    justify-content: flex-start;
    width: 90%;
    margin-left: auto;
    margin-right: auto;
    padding-left: 0;
    display: flex;
  }

  .cf-navigation-2-wrapper {
    width: 90%;
  }

  .cf-visual-features-item.navbar {
    padding: 25px;
  }

  .cf-resources-visual-grid {
    grid-template-rows: auto auto;
    grid-template-columns: 1fr 1fr;
  }

  .cf-nav-dropdown-title-para {
    font-size: 15px;
  }

  .cf-dropdown-list-nav.w--open {
    width: 90%;
    min-width: auto;
    margin-left: 5%;
    margin-right: 5%;
    padding-top: 0;
    position: relative;
    top: 0;
  }

  .cf-navigation-drop-container {
    flex-direction: column;
  }

  .cf-navigation-2-left-contain {
    display: flex;
  }

  .cf-visual-features-items-container {
    grid-row-gap: 40px;
    grid-template-columns: 1fr;
    max-width: 500px;
    margin-left: auto;
    margin-right: auto;
  }

  .cf-visual-features-items-container.nav {
    grid-column-gap: 0px;
    grid-row-gap: 0px;
    flex-direction: column;
    grid-template-rows: auto;
    grid-template-columns: 1fr 1fr;
    grid-auto-columns: 1fr;
    justify-content: flex-start;
    width: 100%;
    max-width: none;
    margin-left: 0;
    display: grid;
  }

  .cf-nav-dropdown-title-container {
    max-width: 280px;
  }

  .cf-resource-visual-block {
    max-width: 60px;
    margin-bottom: 20px;
  }

  .cf-dropdown-arrow---nav-3 {
    margin-left: 7px;
    margin-right: 0;
    position: relative;
  }

  .cf-resource-visual-item {
    flex-direction: column;
    align-items: flex-start;
    display: flex;
  }

  .cf-nav-dropdown-title {
    font-size: 40px;
  }

  .cf-nav-2-menu {
    background-color: #fff;
    display: none;
    position: absolute;
    box-shadow: 0 10px 20px #0003;
  }

  .cf-navigation-2-link {
    justify-content: flex-start;
    padding-left: 0;
    padding-right: 0;
  }

  .cf-wrapper-1160 {
    flex-direction: column;
  }

  .cf-wrapper-1160.different-flex {
    align-items: center;
    padding-top: 100px;
    padding-bottom: 0;
  }

  .cf-h2-heading-56px {
    font-size: 30px;
  }

  .cf-body---18px {
    line-height: 150%;
  }

  .cf-different-tabs-content {
    margin-top: 60px;
    margin-left: 0;
  }

  .cf-different-tabs {
    flex-direction: column;
    justify-content: center;
    align-items: center;
  }

  .cf-pricing-plan-pointer-text-18px {
    line-height: 150%;
  }

  .cf-different-menu {
    grid-column-gap: 20px;
    flex-flow: wrap;
    justify-content: center;
    width: 100%;
    max-width: 660px;
    margin-right: 0%;
  }

  .cf-h2-heading-56px-2 {
    font-size: 30px;
  }

  .cf-body---18px-2 {
    line-height: 150%;
  }

  .cf-different-section-2 {
    padding-bottom: 40px;
  }
}

@media screen and (max-width: 767px) {
  .button.full-width {
    margin-left: auto;
    margin-right: auto;
  }

  .button.tab {
    font-size: 12px;
  }

  .navigation-link {
    color: #f3e9e9;
    white-space: normal;
    word-break: keep-all;
    overflow-wrap: normal;
    background-color: #22b2c900;
    align-self: center;
    font-size: 11px;
    display: block;
  }

  .navigation-link.w--current {
    text-align: justify;
    flex-flow: row;
    justify-content: space-between;
    align-items: flex-start;
    padding-left: 10px;
    padding-right: 10px;
    font-size: 3vw;
    display: flex;
  }

  .navigation-link.w--current:hover {
    color: var(--uc-green360);
  }

  .navigation-bar {
    flex-flow: row;
  }

  .navigation-menu {
    box-sizing: border-box;
    clear: right;
    aspect-ratio: auto;
    white-space: pre-wrap;
    word-break: keep-all;
    overflow-wrap: normal;
    object-fit: contain;
    flex-flow: row;
    flex: 0 auto;
    order: 1;
    justify-content: space-between;
    align-items: baseline;
    width: auto;
    min-width: 0;
    max-width: 100%;
    font-size: 100vw;
    line-height: 20px;
    display: flex;
    overflow: visible;
  }

  .section.accent {
    box-sizing: content-box;
    float: left;
    object-fit: fill;
    background-color: #192024;
    padding-bottom: 60px;
    padding-left: 0;
    padding-right: 0;
    display: block;
    overflow: visible;
  }

  .white-1box {
    float: none;
    clear: right;
    max-width: 50%;
    height: 360px;
    margin-bottom: 30px;
    padding-bottom: 20px;
    display: block;
    position: relative;
    right: auto;
    overflow: visible;
  }

  .white-1box.transparent {
    box-sizing: content-box;
    float: none;
    clear: left;
    aspect-ratio: 3 / 2;
    flex-flow: wrap;
    justify-content: center;
    align-items: center;
    height: auto;
    padding-bottom: 57px;
    display: flex;
    position: static;
    overflow: visible;
  }

  .white-1box.transparent.transparent-box {
    padding-bottom: 54px;
  }

  .hero-section.centered {
    padding-top: 119px;
    padding-bottom: 119px;
  }

  .hero-heading {
    margin-bottom: 15px;
    font-size: 5vw;
    line-height: 30px;
  }

  .hero-subheading {
    font-size: 18px;
  }

  .form-field.text-area {
    display: block;
  }

  .grid-image {
    box-sizing: content-box;
    width: 20%;
    padding: 20px;
    overflow: visible;
  }

  .fullwidth-image {
    aspect-ratio: 3 / 2;
    object-fit: contain;
  }

  .white-text {
    float: left;
  }

  .spc {
    margin-bottom: 30px;
  }

  .body {
    box-sizing: border-box;
  }

  .bold-text {
    font-size: 5vw;
    line-height: 30px;
  }

  .logo {
    box-sizing: content-box;
    object-fit: fill;
    min-width: 200px;
  }

  .logo.f-logo {
    box-sizing: border-box;
    clear: right;
    grid-column-gap: 0px;
    grid-row-gap: 0px;
    object-fit: fill;
    flex-flow: row;
    flex: 1;
    order: -1;
    justify-content: flex-start;
    align-self: flex-start;
    align-items: center;
    width: 150px;
    min-width: 100px;
    min-height: 69%;
    max-height: 69%;
    display: flex;
    position: static;
    inset: 0% 0% 0% auto;
  }

  .paragraph {
    float: none;
    clear: none;
    overflow: visible;
  }

  .fn-footer-line {
    margin-top: 12px;
  }

  .fn-social-share-wrapper {
    flex-direction: row;
    margin-top: 12px;
  }

  .fn-brand-footer {
    margin-right: 0;
    padding-left: 0;
  }

  .fn-container-grid {
    grid-column-gap: 12px;
    grid-row-gap: 12px;
    grid-template-columns: 1fr 1fr 1fr 1fr;
  }

  .fn-footer-first {
    text-align: center;
    padding-top: 40px;
    padding-bottom: 40px;
  }

  .f-pricing-feature-grid {
    grid-template-columns: 1fr;
  }

  .f-section-large {
    padding-top: 72px;
    padding-bottom: 72px;
  }

  .container {
    clear: left;
  }

  .container-3 {
    height: auto;
  }

  .fn-button {
    width: 100%;
  }

  .fn-navbar-link-second {
    padding-top: 40px;
    padding-bottom: 40px;
  }

  .fn-navbar-link-second-2 {
    padding-top: 18px;
    padding-bottom: 18px;
  }

  .fn-navbar-menu-wrapper-second {
    padding: 0 0 18px;
  }

  .fn-brand-box,
  .fn-brand-box-2 {
    margin-right: 0;
    padding-left: 0;
  }

  .cf-service-paragraph {
    margin-top: 0;
    font-size: 16px;
    line-height: 150%;
  }

  .cf-service-heading {
    margin-bottom: 10px;
    font-size: 22px;
  }

  .cf-features-section-2-grid {
    grid-column-gap: 20px;
    grid-row-gap: 40px;
    grid-template-rows: auto auto;
  }

  .cf-features-section-2-heading {
    max-width: 420px;
    font-size: 28px;
  }

  .cf-features-section-3-wrapper {
    width: 90%;
    padding-top: 100px;
    padding-bottom: 100px;
  }

  .cf-pricing-plan-content-text {
    font-size: 16px;
  }

  .cf-pricing-plan-tick-icon {
    margin-right: 10px;
  }

  .cf-pricing-plan-content-wrapper {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
  }

  .cf-pricing-plan-note-text {
    text-align: center;
  }

  .cf-pricing-plan-text {
    font-size: 32px;
  }

  .cf-pricing-box-plan-wrapper {
    align-items: center;
    width: 80%;
    margin-left: auto;
    margin-right: auto;
  }

  .cf-pricing-box.pricing-box-alternative,
  .cf-pricing-box.pricing-highlighted {
    padding-top: 40px;
    padding-bottom: 40px;
  }

  .cf-pricing-box-row {
    flex-direction: column;
  }

  .cf-pricing-box-wrapper {
    margin-top: 100px;
  }

  .cf-colourful-text {
    padding-bottom: 0;
  }

  .cf-pricing-header-wrapper {
    text-align: center;
    align-items: center;
    max-width: none;
    margin-bottom: 60px;
  }

  .cf-pricing-toggle-header-wrapper {
    flex-direction: column;
  }

  .uui-button {
    font-size: 1rem;
  }

  .uui-button:hover {
    border-color: var(--untitled-ui--primary600);
    background-color: var(--untitled-ui--primary600);
  }

  .uui-space-medium {
    min-height: 1.5rem;
  }

  .uui-pricing11_price {
    font-size: 2.25rem;
  }

  .uui-heading-xxsmall {
    font-size: 1.125rem;
  }

  .uui-badge {
    padding: .125rem .5rem;
  }

  .uui-pricing11_component {
    margin-top: 2rem;
  }

  .uui-text-size-large {
    font-size: 1rem;
  }

  .uui-space-xsmall {
    min-height: .75rem;
  }

  .uui-heading-medium {
    font-size: 1.75rem;
    line-height: 1.4;
  }

  .uui-padding-vertical-xhuge {
    padding-top: 4rem;
    padding-bottom: 4rem;
  }

  .uui-page-padding {
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .nav-cont {
    grid-column-gap: 0px;
    grid-row-gap: 0px;
    flex-flow: row;
    flex: none;
    order: 0;
    align-self: auto;
    max-width: 100%;
    margin-bottom: 0;
    margin-right: 0;
    padding-bottom: 0;
    padding-left: 0;
    padding-right: 0;
    display: flex;
    position: static;
  }

  .cf-achievement-card-item-subtext {
    font-size: 20px;
  }

  .cf-achievement-card-icon {
    margin-bottom: 10px;
  }

  .cf-achievement-heading {
    margin-bottom: 60px;
    font-size: 24px;
  }

  .cf-wrapper {
    width: 90%;
  }

  .unsplash-image {
    box-sizing: border-box;
    clear: none;
    aspect-ratio: 3 / 2;
    height: auto;
  }

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

  .column-2 {
    box-sizing: border-box;
    clear: right;
    aspect-ratio: auto;
    text-align: center;
    object-fit: contain;
    flex-flow: wrap;
    justify-content: center;
    align-items: center;
    display: flex;
    position: relative;
    overflow: visible;
  }

  .column-3 {
    box-sizing: border-box;
    clear: none;
    aspect-ratio: auto;
    object-fit: fill;
    justify-content: center;
    align-items: center;
    display: flex;
    position: static;
  }

  .columns {
    flex-flow: wrap;
    justify-content: center;
    align-items: center;
    margin-left: auto;
    margin-right: auto;
    display: flex;
  }

  .column-4 {
    flex-flow: wrap;
    justify-content: center;
    align-items: center;
    display: flex;
  }

  .column-5,
  .column-6,
  .column-7 {
    justify-content: center;
    align-items: center;
    display: flex;
  }

  .icon {
    background-color: #0000;
  }

  .columns-2 {
    float: none;
    clear: none;
    flex-flow: row;
    justify-content: center;
    align-items: center;
    display: block;
  }

  .cf-checkbox-label {
    font-size: 14px;
  }

  .cf-checkbox-field {
    padding: 16px 18px;
  }

  .cf-checkbox-container {
    grid-column-gap: 10px;
    grid-row-gap: 10px;
  }

  .cf-contact-form-field {
    margin-bottom: 32px;
    margin-right: 0;
  }

  .cf-fields-contain {
    flex-direction: column;
    margin-bottom: 0;
  }

  .cf-form-heading {
    font-size: 28px;
  }

  .f-navigation-socials-wrapper {
    display: none;
  }

  .column-8 {
    box-sizing: border-box;
    clear: left;
    flex-flow: wrap;
    justify-content: center;
    align-items: center;
    display: flex;
  }

  .column-9,
  .column-10 {
    flex-flow: wrap;
    justify-content: center;
    align-items: center;
    display: flex;
  }

  .div-block-2 {
    float: none;
    clear: none;
    grid-column-gap: 16px;
    grid-row-gap: 16px;
    flex-flow: column;
    grid-template-rows: auto auto;
    grid-template-columns: 1fr 1fr;
    grid-auto-columns: 1fr;
    justify-content: center;
    align-items: center;
    display: block;
  }

  .container-13 {
    clear: right;
    grid-column-gap: 16px;
    grid-row-gap: 16px;
    text-align: center;
    grid-template-rows: auto auto;
    grid-template-columns: 1fr 1fr;
    grid-auto-columns: 1fr;
    margin-top: 0;
    margin-left: auto;
    margin-right: auto;
    display: block;
    position: absolute;
    inset: 21% 0% 58%;
  }

  .f-navigation-language-dropdown-toggle {
    display: none;
  }

  .fn-button-dark {
    width: 100%;
  }

  .fn-heading-2 {
    font-size: 34px;
  }

  .fn-cta-banner {
    padding: 12px;
  }

  .fn-section {
    padding-top: 32px;
    padding-bottom: 32px;
    overflow: visible;
  }

  .fn-paragraph {
    margin-bottom: 24px;
  }

  .fn-heading-3 {
    margin-bottom: 12px;
    font-size: 28px;
  }

  .fn-features-card-image {
    height: 170px;
  }

  .fn-features-card-with-image.slider-cards {
    width: 260px;
  }

  .fn-heading-4 {
    font-size: 34px;
  }

  .fn-container-grid-2 {
    grid-column-gap: 12px;
    grid-row-gap: 12px;
    grid-template-columns: 1fr 1fr 1fr 1fr;
  }

  .fn-heading-5 {
    font-size: 34px;
  }

  .cf-services-h2-heading {
    font-size: 28px;
  }

  .cf-services-page-contain {
    margin-bottom: 150px;
  }

  .cf-services-main-wrapper {
    width: 90%;
    padding-top: 90px;
    padding-bottom: 90px;
  }

  .gallery-slider {
    padding: 60px 15px;
  }

  .gallery-slide {
    margin-left: 10px;
    margin-right: 10px;
  }

  .gallery-slide-text {
    line-height: 30px;
  }

  .gallery-slider-left {
    left: -20px;
  }

  .gallery-slider-right {
    right: -20px;
  }

  .f-section-large-2 {
    padding-top: 72px;
    padding-bottom: 72px;
  }

  .f-grid-three-column {
    grid-template-columns: 1fr;
  }

  .f-h3-heading {
    font-size: 40px;
  }

  .f-section-large-3 {
    padding-top: 72px;
    padding-bottom: 72px;
  }

  .f-grid-four-columns {
    grid-template-columns: 1fr;
  }

  .cf-home-tab-link {
    padding: 15px 30px;
  }

  .cf-tabs-content-contain {
    flex-direction: column;
    min-height: auto;
  }

  .cf-features-4-tabs-heading {
    font-size: 35px;
  }

  .cf-tabs-menu {
    width: 100%;
  }

  .cf-tabs-right-tab {
    padding-top: 50px;
    padding-bottom: 50px;
  }

  .cf-tabs-left-wrap {
    width: auto;
    padding-top: 30px;
    padding-bottom: 30px;
  }

  .cf-tabs-content-heading {
    font-size: 22px;
  }

  .cf-features-section-2-wrapper {
    width: 90%;
    padding-top: 100px;
    padding-bottom: 100px;
  }

  .cf-features-section-2-grid-2 {
    grid-column-gap: 20px;
    grid-row-gap: 40px;
    grid-template-rows: auto auto;
  }

  .cf-features-section-2-heading-2 {
    max-width: 420px;
    font-size: 28px;
  }

  .cf-service-paragraph-2 {
    margin-top: 0;
    font-size: 16px;
    line-height: 150%;
  }

  .cf-service-heading-2 {
    margin-bottom: 10px;
    font-size: 22px;
  }

  .cf-features-section-3-wrapper-2 {
    width: 90%;
    padding-top: 100px;
    padding-bottom: 100px;
  }

  .cf-visual-features-item.navbar.w--current {
    padding: 14px;
  }

  .cf-resources-visual-grid {
    grid-column-gap: 30px;
  }

  .cf-nav-dropdown-top {
    flex-direction: column;
    align-items: flex-start;
    padding-bottom: 40px;
  }

  .cf-dropdown-list-nav.w--open {
    width: 90%;
  }

  .cf-visual-features-items-container {
    grid-row-gap: 70px;
    grid-template-columns: 1fr;
    width: 100%;
  }

  .cf-visual-features-items-container.nav {
    grid-template-columns: 1fr;
    max-width: 400px;
  }

  .cf-nav-dropdown-title-container {
    margin-bottom: 20px;
  }

  .cf-resource-visual-block {
    width: 30%;
  }

  .cf-resource-block-text {
    font-size: 20px;
  }

  .cf-visual-features-item-heading {
    font-size: 23px;
  }

  .cf-resource-visual-item {
    flex-direction: column;
    align-items: flex-start;
    display: flex;
  }

  .cf-visual-features-item-image {
    margin-bottom: 20px;
  }

  .column-11 {
    flex-flow: wrap;
    justify-content: center;
    align-items: center;
    display: flex;
  }

  .cf-h2-heading-56px {
    font-size: 28px;
  }

  .cf-body---18px {
    font-size: 16px;
  }

  .cf-h3-heading-40px {
    font-size: 22px;
  }

  .cf-different-tab-link {
    margin-top: 0;
    margin-bottom: 0;
    font-size: 20px;
  }

  .cf-different-menu {
    grid-row-gap: 10px;
    width: 100%;
  }

  .cf-h2-heading-56px-2 {
    font-size: 28px;
  }

  .cf-body---18px-2 {
    font-size: 16px;
  }
}

@media screen and (max-width: 479px) {
  .button {
    margin-bottom: 25px;
  }

  .navigation-link {
    background-color: var(--uc-blue);
    color: #fff;
    -webkit-text-stroke-width: 0px;
    -webkit-text-stroke-color: #000;
    border-style: none;
  }

  .navigation-link:hover {
    background-color: var(--uc-green360);
    color: #000;
    font-weight: 400;
  }

  .navigation-bar {
    filter: none;
    display: block;
  }

  .hamburger-button {
    flex-flow: wrap;
    justify-content: flex-end;
    align-items: center;
    padding: 20px;
    display: flex;
  }

  .hamburger-button.w--open {
    justify-content: flex-start;
    align-items: stretch;
  }

  .navigation-menu {
    display: none;
  }

  .brand-link.w--current {
    box-sizing: border-box;
    clear: none;
    object-fit: contain;
    flex-flow: row;
    justify-content: flex-start;
    align-items: center;
    display: flex;
    position: relative;
  }

  .section.accent {
    box-sizing: border-box;
    float: none;
    clear: none;
    background-color: var(--dark-background-color);
    flex-flow: wrap;
    justify-content: center;
    align-items: center;
    max-width: 100%;
    height: auto;
    margin-bottom: 0;
    padding-bottom: 0;
    display: block;
    position: static;
    bottom: auto;
    overflow: hidden;
  }

  .section.wwd {
    background-color: #0000;
    background-image: linear-gradient(#00000080, #00000080), url('../images/tours/elsalto.jpg');
    background-position: 0 0, 50%;
    background-repeat: repeat, no-repeat;
    background-size: auto, cover;
    background-attachment: scroll, fixed;
  }

  .white-1box {
    box-sizing: content-box;
    clear: none;
    aspect-ratio: auto;
    mix-blend-mode: normal;
    object-fit: fill;
    background-color: #4bcdf60d;
    border-width: 1px;
    flex-flow: wrap;
    justify-content: center;
    align-items: center;
    height: auto;
    display: flex;
    overflow: visible;
  }

  .white-1box.transparent {
    box-sizing: border-box;
    clear: right;
    flex-flow: column;
    justify-content: center;
    align-items: center;
    max-width: 100%;
    position: static;
  }

  .white-1box.transparent.transparent-box {
    box-sizing: border-box;
    clear: right;
    aspect-ratio: 3 / 2;
    text-align: center;
    flex-flow: column;
    justify-content: center;
    align-items: center;
    display: flex;
    position: static;
  }

  .hero-section.centered {
    padding-top: 60px;
    padding-bottom: 60px;
  }

  .hero-heading {
    clear: right;
    text-align: center;
    letter-spacing: 1px;
    flex-flow: wrap;
    flex: none;
    order: -1;
    justify-content: center;
    align-self: center;
    align-items: center;
    font-size: 4vw;
    font-weight: 700;
    line-height: 16px;
    display: flex;
  }

  .hollow-button.all-caps {
    background-color: #f5f5f52e;
    font-size: 14px;
  }

  .section-heading.centered {
    font-size: 8vw;
  }

  .section-heading.centered.white {
    font-weight: 700;
  }

  .section-subheading.center {
    letter-spacing: 1px;
    font-size: 4vw;
    line-height: 30px;
  }

  .footer {
    display: block;
  }

  .grid-image {
    box-sizing: content-box;
    aspect-ratio: 1;
    background-color: var(--uc-blue);
    -webkit-text-fill-color: inherit;
    object-fit: scale-down;
    background-clip: border-box;
    align-self: center;
    width: 35%;
    padding-bottom: 20px;
  }

  .fullwidth-image {
    box-sizing: border-box;
    aspect-ratio: 3 / 2;
    object-fit: contain;
  }

  .white-text {
    float: left;
    text-align: center;
  }

  .bold-text {
    font-size: 7vw;
    font-weight: 800;
  }

  .logo {
    box-sizing: border-box;
    float: left;
    clear: right;
    object-fit: fill;
    justify-content: center;
    align-items: center;
    min-width: 30%;
    max-width: 100%;
    min-height: 88px;
    display: block;
    position: relative;
  }

  .logo.f-logo {
    flex: none;
    justify-content: center;
    align-self: auto;
    align-items: flex-start;
    width: auto;
    min-width: 150px;
    max-width: none;
    min-height: auto;
    max-height: none;
  }

  .paragraph {
    box-sizing: content-box;
    float: right;
    clear: left;
    color: #fff;
    text-align: left;
    object-fit: fill;
    font-size: 4vw;
    overflow: visible;
  }

  .paragraph-2,
  .paragraph-3,
  .paragraph-4 {
    color: #fff;
  }

  .paragraph-5 {
    color: var(--untitled-ui--white);
  }

  .paragraph-6 {
    color: #fff;
  }

  .fn-legal-links-wrapper {
    grid-column-gap: 24px;
    grid-row-gap: 24px;
    flex-direction: column;
    margin-top: 12px;
    margin-bottom: 12px;
  }

  .fn-links-wrapper {
    margin-bottom: 12px;
  }

  .f-pricing-card-title-wrapper {
    flex-direction: column;
    align-items: flex-start;
  }

  .f-pricing-card-outline {
    padding: 32px;
  }

  .container {
    box-sizing: content-box;
    clear: none;
    flex-flow: column;
    justify-content: space-between;
    align-items: stretch;
    max-width: none;
    height: auto;
    display: flex;
    position: static;
    overflow: visible;
  }

  .container-2,
  .container-3,
  .container-4,
  .container-5 {
    height: auto;
  }

  .fn-button,
  .fn-button-wrapper {
    width: 100%;
  }

  .heading {
    box-sizing: content-box;
    color: #24c0d8;
    letter-spacing: 1px;
    word-break: normal;
    font-size: 13px;
  }

  .heading-2 {
    color: #24c0d8;
    letter-spacing: 1px;
    font-size: 13px;
  }

  .heading-3,
  .heading-4,
  .heading-5,
  .heading-6 {
    color: var(--uc-blue);
    letter-spacing: 1px;
    font-size: 13px;
  }

  .cf-features-section-2-icon-wrap {
    margin-bottom: 16px;
  }

  .cf-features-section-2-grid {
    grid-template-columns: 1fr;
    justify-items: center;
  }

  .cf-secondary-button {
    font-size: 16px;
  }

  .cf-pricing-box-plan-wrapper {
    width: 100%;
  }

  .cf-pricing-box.pricing-box-alternative,
  .cf-pricing-box.pricing-highlighted {
    width: 90%;
  }

  .cf-primary-button {
    padding: 16px 20px;
  }

  .cf-colourful-text {
    padding-bottom: 0;
  }

  .cf-green-top-heading {
    margin-bottom: 20px;
    font-size: 16px;
  }

  .cf-pricing-2-price-card-section {
    margin-bottom: 0;
  }

  .nav-cont {
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
    -webkit-text-stroke-width: 0px;
    -webkit-text-stroke-color: #fff;
    flex-flow: wrap;
    justify-content: space-around;
    align-items: center;
  }

  .cf-achievement-card-item-subtext,
  .cf-achievements-card {
    font-size: 18px;
  }

  .cf-achievement-heading {
    text-align: center;
    font-size: 5vw;
  }

  .cf-wrapper.achievement-wrapper {
    padding-top: 100px;
  }

  .cf-achievements-section {
    background-image: linear-gradient(#141414cc, #141414cc), url('../images/Artboard-21-copy-5.png');
    background-position: 0 0, 50% 0;
    background-repeat: repeat, no-repeat;
    background-size: auto, cover;
    background-attachment: scroll, scroll;
  }

  .unsplash-image {
    box-sizing: border-box;
    aspect-ratio: 3 / 2;
    object-fit: contain;
    height: auto;
  }

  .container-8 {
    background-color: #0000;
  }

  .container-9 {
    background-color: #19202400;
  }

  .column {
    background-color: #0000;
  }

  .column-2 {
    box-sizing: border-box;
    grid-column-gap: 16px;
    grid-row-gap: 16px;
    object-fit: fill;
    flex-flow: column;
    flex: 0 auto;
    grid-template-rows: auto;
    grid-template-columns: 1fr;
    grid-auto-columns: 1fr;
    grid-auto-flow: column;
    justify-content: center;
    align-self: center;
    align-items: center;
    display: block;
  }

  .column-3 {
    box-sizing: border-box;
  }

  .icon {
    color: #fff;
    align-self: center;
    display: block;
  }

  .columns-2 {
    box-sizing: border-box;
    clear: right;
    object-fit: none;
    flex-flow: column;
    justify-content: center;
    align-self: center;
    align-items: center;
    margin-bottom: auto;
    padding-bottom: 0;
    display: block;
    position: relative;
    overflow: visible;
  }

  .cf-form-gradient-submit {
    background-image: linear-gradient(to right, #b16cea 20%, #ff5e69 60%, #ff8a56 80%, #ffa84b 90%);
    background-position: 0 0;
    background-repeat: repeat;
    background-size: auto;
  }

  .cf-checkbox-field {
    padding: 12px 14px;
  }

  .cf-contact-field-label.budget {
    margin-top: 40px;
  }

  .cf-contact-form-field {
    height: 60px;
    margin-bottom: 32px;
    margin-right: 0;
    padding-left: 20px;
  }

  .cf-fields-contain {
    flex-direction: column;
    margin-bottom: 0;
  }

  .cf-form-heading {
    color: var(--uc-green360);
    margin-bottom: 16px;
    font-size: 24px;
    font-weight: 900;
  }

  .f-navigation-button {
    display: none;
  }

  .f-navigation {
    background-color: #fff0;
  }

  .column-8 {
    clear: right;
    grid-column-gap: 0px;
    grid-row-gap: 0px;
    text-align: center;
    flex-flow: column;
    grid-template-rows: auto;
    grid-template-columns: 1fr;
    grid-auto-columns: 1fr;
    grid-auto-flow: column;
    justify-content: center;
    align-self: center;
    align-items: center;
    display: block;
  }

  .column-9 {
    flex-flow: wrap;
    justify-content: center;
    align-items: center;
    display: flex;
  }

  .column-10 {
    grid-column-gap: 16px;
    grid-row-gap: 16px;
    flex-flow: wrap;
    grid-template-rows: auto auto;
    grid-template-columns: 1fr 1fr;
    grid-auto-columns: 1fr;
    justify-content: center;
    align-items: center;
    display: flex;
  }

  .div-block-2 {
    grid-column-gap: 0px;
    grid-row-gap: 0px;
    flex-flow: wrap;
    grid-template-rows: auto auto;
    grid-template-columns: 1fr 1fr;
    grid-auto-columns: 1fr;
    justify-content: center;
    align-items: center;
    display: flex;
  }

  .container-13 {
    box-sizing: border-box;
    clear: none;
    grid-column-gap: 16px;
    grid-row-gap: 16px;
    flex-flow: wrap;
    flex: 1;
    order: -1;
    grid-template-rows: auto auto;
    grid-template-columns: 1fr 1fr;
    grid-auto-columns: 1fr;
    justify-content: center;
    align-self: center;
    align-items: center;
    margin-left: auto;
    margin-right: auto;
    display: flex;
    position: relative;
    inset: 0 auto auto 0%;
  }

  .background-video {
    box-sizing: border-box;
    clear: left;
    background-image: linear-gradient(#00000080, #00000080);
    flex-flow: wrap;
    order: 1;
    justify-content: center;
    align-items: center;
    display: flex;
    overflow: visible;
  }

  .f-navigation-button-2 {
    display: none;
  }

  .cf-gradient-span {
    line-height: 110%;
  }

  .cf-services-h2-heading {
    margin-bottom: 16px;
    font-size: 24px;
  }

  .cf-services-page-contain {
    margin-bottom: 140px;
  }

  .cf-services-main-wrapper {
    padding-bottom: 40px;
  }

  .container-14 {
    max-width: none;
  }

  .gallery-wrapper {
    grid-template-columns: 1fr;
  }

  .gallery-slide-wrapper {
    max-width: 100%;
    margin-right: 0%;
  }

  .gallery-slider-left {
    left: -20px;
  }

  .gallery-slider-right {
    right: -20px;
  }

  .cf-home-tab-link {
    padding-left: 25px;
    padding-right: 25px;
  }

  .cf-tabs-content-contain {
    min-height: auto;
  }

  .cf-tabs-content-text {
    font-size: 16px;
  }

  .cf-features-4-tabs-heading {
    font-size: 30px;
  }

  .cf-tabs-element._2 {
    bottom: -8%;
    right: -14%;
  }

  .cf-tabs-header-text {
    font-size: 16px;
  }

  .cf-tabs-menu {
    margin-bottom: 50px;
  }

  .cf-tabs-right-tab {
    padding-top: 40px;
    padding-bottom: 40px;
  }

  .cf-tabs-left-wrap {
    padding: 40px 15px;
  }

  .cf-tabs-content-heading {
    font-size: 20px;
  }

  .cf-features-section-2-image-wrapper {
    margin-bottom: 20px;
  }

  .cf-features-section-2-grid-2 {
    grid-template-columns: 1fr;
    justify-items: center;
  }

  .cf-features-section-2-icon-wrap-2 {
    margin-bottom: 16px;
  }

  .cf-dropdown-toggle-div {
    padding-top: 14px;
    padding-bottom: 14px;
  }

  .cf-brand-2 {
    max-width: 140px;
  }

  .cf-visual-features-item.navbar {
    padding: 20px;
    font-size: 16px;
  }

  .cf-resources-visual-grid {
    grid-row-gap: 30px;
    grid-template-rows: auto auto auto auto;
    grid-template-columns: 1fr;
  }

  .cf-nav-dropdown-title-para {
    line-height: 22px;
  }

  .cf-nav-dropdown-top {
    margin-bottom: 20px;
    padding-bottom: 20px;
  }

  .cf-nav-2-button {
    border-radius: 8px;
    padding: 14px 20px;
    font-size: 16px;
    line-height: 18px;
  }

  .cf-visual-features-items-container.nav {
    max-width: none;
  }

  .cf-resource-visual-block {
    width: 20%;
    margin-bottom: 10px;
  }

  .cf-resource-block-text {
    font-size: 18px;
  }

  .cf-visual-features-item-heading {
    font-size: 20px;
  }

  .cf-nav-arrow-icon {
    width: 20px;
    height: 20px;
  }

  .cf-nav-dropdown-title {
    font-size: 28px;
    line-height: 32px;
  }

  .cf-visual-features-item-image {
    margin-bottom: 10px;
  }

  .column-11 {
    flex-flow: column;
    justify-content: center;
    align-items: center;
    overflow: visible;
  }

  .cf-wrapper-1160 {
    width: 90%;
  }

  .cf-h2-heading-56px {
    font-size: 24px;
  }

  .cf-h3-heading-40px {
    font-size: 20px;
  }

  .cf-different-tab-link.w--current {
    background-image: none;
    background-position: 0 0;
    background-repeat: repeat;
    background-size: auto;
  }

  .cf-pricing-plan-check-icon {
    margin-right: 8px;
  }

  .cf-pricing-plan-pointer-text-18px {
    font-size: 16px;
  }

  .cf-different-menu {
    flex-flow: wrap;
    justify-content: flex-start;
    align-items: stretch;
  }

  .cf-h2-heading-56px-2 {
    font-size: 24px;
  }

  .cf-different-section-2 {
    padding-bottom: 40px;
  }
}

#w-node-_174e3294-0b4d-4ae2-8888-6e77cab14285-cf81c401 {
  order: -9999;
  place-self: center start;
}

#w-node-dd22034f-ddcf-3468-2144-bcc753e70c34-cf81c401 {
  grid-area: span 1 / span 2 / span 1 / span 2;
  justify-self: end;
}

@media screen and (max-width: 991px) {
  #w-node-_580ad645-1620-a749-e769-d0f1f17b6d11-3790ce62 {
    grid-area: span 1 / span 1 / span 1 / span 1;
    place-self: stretch stretch;
  }
}
/* ===== theme.css ===== */
/* theme.css - YouSee360 High Tech + Glassmorphism Design System */

:root {
  /* Colors */
  --color-primary: #01e4e4;
  /* Cyber Cyan */
  --color-secondary: #00ff66;
  /* Neon Green */
  --color-accent-pink: #ff00ff;
  /* Neon Pink for accents */
  --color-dark-bg: #050505;
  /* Deep Black */
  --color-glass-bg: rgba(255, 255, 255, 0.05);
  --color-glass-border: rgba(255, 255, 255, 0.1);
  --color-text-main: #ffffff;
  --color-text-muted: rgba(255, 255, 255, 0.7);

  /* Shadows & Glows */
  --glow-primary: 0 0 15px rgba(1, 228, 228, 0.5);
  --glow-secondary: 0 0 15px rgba(0, 255, 102, 0.5);
  --glow-text: 0 0 10px rgba(255, 255, 255, 0.5);
  --shadow-card: 0 10px 30px rgba(0, 0, 0, 0.5);

  /* Glassmorphism */
  --glass-blur: blur(20px);
  --glass-border-radius: 21px;

  /* 3D Space */
  --perspective: 1200px;

  /* Golden Ratio Typography & Spacing */
  --phi: 1.618;
  --space-unit: 1rem;

  /* Spacing Scale */
  --space-xs: calc(var(--space-unit) / var(--phi));
  /* ~0.618rem */
  --space-sm: var(--space-unit);
  /* 1rem */
  --space-md: calc(var(--space-unit) * var(--phi));
  /* ~1.618rem */
  --space-lg: calc(var(--space-md) * var(--phi));
  /* ~2.618rem */
  --space-xl: calc(var(--space-lg) * var(--phi));
  /* ~4.236rem */
  --space-xxl: calc(var(--space-xl) * var(--phi));
  /* ~6.854rem */
  --space-huge: calc(var(--space-xxl) * var(--phi));
  /* ~11.09rem */

  /* Typography Scale */
  --font-base: 1.125rem;
  /* 18px for better readability */
  --text-xs: calc(var(--font-base) / var(--phi));
  --text-sm: var(--font-base);
  --text-md: calc(var(--font-base) * var(--phi));
  /* ~1.82rem */
  --text-lg: calc(var(--text-md) * var(--phi));
  /* ~2.94rem */
  --text-xl: calc(var(--text-lg) * var(--phi));
  /* ~4.76rem */
  --text-xxl: calc(var(--text-xl) * var(--phi));
  /* ~7.7rem */
}

/* Golden Ratio Typography Overrides */
img,
video,
iframe {
  max-width: 100%;
  height: auto;
}

html {
  font-size: 16px;
  /* Browser default base */
}

body {
  font-size: var(--text-sm);
  line-height: var(--phi);
  /* Golden Ratio Line Height */
}

h1,
.h1 {
  font-size: var(--text-xl) !important;
  line-height: 1.1;
  margin-bottom: var(--space-md);
  margin-top: 0;
}

h2,
.h2 {
  font-size: var(--text-lg) !important;
  line-height: 1.2;
  margin-bottom: var(--space-md);
  margin-top: var(--space-md);
}

h3,
.h3 {
  font-size: var(--text-md) !important;
  line-height: 1.3;
  margin-bottom: var(--space-sm);
  margin-top: var(--space-sm);
}

h4,
.h4 {
  font-size: calc(var(--text-md) * 0.8) !important;
  line-height: 1.4;
  margin-bottom: var(--space-sm);
}

h5,
.h5 {
  font-size: var(--text-sm) !important;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  margin-bottom: var(--space-xs);
}

h6,
.h6 {
  font-size: var(--text-xs) !important;
  letter-spacing: 1px;
  text-transform: uppercase;
  font-weight: 600;
  margin-bottom: var(--space-xs);
}

p {
  margin-bottom: var(--space-md);
}

/* Mobile Typography Adjustments */
@media (max-width: 991px) {

  h1,
  .h1 {
    font-size: calc(var(--text-xl) * 0.8) !important;
  }

  h2,
  .h2 {
    font-size: calc(var(--text-lg) * 0.9) !important;
  }
}

@media (max-width: 768px) {
  :root {
    --font-base: 1rem;
  }

  h1,
  .h1 {
    font-size: calc(var(--text-xl) * 0.7) !important;
  }

  h2,
  .h2 {
    font-size: calc(var(--text-lg) * 0.8) !important;
  }
}

@media (max-width: 480px) {
  .sexy-heading {
    font-size: clamp(2.5rem, 8vw, 3.5rem) !important;
  }

  .hero-heading {
    font-size: 2rem !important;
  }
}

/* Golden Ratio Layout Overrides */
.section {
  padding-top: var(--space-xl) !important;
  padding-bottom: var(--space-xl) !important;
  position: relative;
  z-index: 5;
  /* Ensure content is always above particles (z-1) */
}

.container,
.w-container {
  max-width: 1200px;
  padding-left: var(--space-md) !important;
  padding-right: var(--space-md) !important;
}

/* Golden Ratio Spacing Utilities */
/* Golden Ratio Spacing Utilities */
.section-spacing {
  padding-top: var(--space-xl);
  padding-bottom: var(--space-xl);
  position: relative;
  z-index: 2;
}

/* Premium Dark Backgrounds */
.bg-tech-mesh {
  background-color: #050508;
  background-image:
    radial-gradient(at 0% 0%, rgba(1, 228, 228, 0.08) 0px, transparent 50%),
    radial-gradient(at 100% 0%, rgba(0, 255, 102, 0.08) 0px, transparent 50%),
    linear-gradient(rgba(255, 255, 255, 0.03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.03) 1px, transparent 1px);
  background-size: 100% 100%, 100% 100%, 40px 40px, 40px 40px;
  background-position: 0 0, 0 0, -1px -1px, -1px -1px;
  border-top: 1px solid rgba(255, 255, 255, 0.05);
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
  position: relative;
}

/* Subtle overlay vignetting */
.bg-tech-mesh::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: radial-gradient(circle at center, transparent 0%, #050505 120%);
  pointer-events: none;
}

.gap-phi {
  gap: var(--space-md);
}

/* ============================================
   INFINITE SCROLLING MARQUEE
   ============================================ */
.marquee-container {
  overflow: hidden;
  position: relative;
  width: 100%;
  mask-image: linear-gradient(to right, transparent, black 10%, black 90%, transparent);
  -webkit-mask-image: linear-gradient(to right, transparent, black 10%, black 90%, transparent);
  padding: var(--space-md) 0;
}

.marquee-content {
  display: flex;
  gap: var(--space-xl);
  width: max-content;
  animation: marquee-scroll 40s linear infinite;
}

.marquee-item {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: var(--color-text-muted);
  font-size: 2.5rem;
  /* Icon size */
  transition: all 0.3s ease;
  opacity: 0.6;
}

.marquee-item:hover {
  color: var(--color-primary);
  opacity: 1;
  transform: scale(1.1);
  text-shadow: var(--glow-primary);
}

.marquee-item i {
  margin-right: 10px;
}

/* Partner logos are self-hosted wordmark SVGs (200x60-ish). Pin the rendered
   box so the ticker stays even and the row never reflows. */
.marquee-logo {
  width: 92px;
  height: 36px;
  object-fit: contain;
  filter: grayscale(1) brightness(1.6);
  opacity: 0.75;
  transition: filter .3s ease, opacity .3s ease;
}

.marquee-item:hover .marquee-logo {
  filter: grayscale(0) brightness(1);
  opacity: 1;
}

.marquee-item span {
  font-size: 1.2rem;
  font-weight: 600;
  letter-spacing: 1px;
}

@keyframes marquee-scroll {
  from {
    transform: translateX(0);
  }

  to {
    transform: translateX(-50%);
  }
}

/* ============================================
   CLIENT LOGO MARQUEE
   ============================================ */
.client-marquee {
  margin-top: var(--space-lg);
}

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

.client-logo-img {
  height: 50px;
  width: auto;
  max-width: 140px;
  object-fit: contain;
  filter: grayscale(100%) brightness(0.7);
  opacity: 0.5;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.client-logo:hover .client-logo-img {
  filter: grayscale(0%) brightness(1);
  opacity: 1;
  transform: scale(1.15);
}

@media (max-width: 768px) {
  .client-logo-img {
    height: 35px;
    max-width: 100px;
  }

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



/* ============================================
   SEXY HEADERS (High Impact)
   ============================================ */

/* Skewed Cyber Tag - Dynamic & Modern */
.section-tag {
  /* Layout & Position */
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: relative;
  margin-bottom: 24px;

  /* Reset */
  border: none;
  background: none;
  clip-path: none;

  /* Cyber Shape */
  transform: skewX(-15deg);
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-left: 4px solid #00ff66;
  /* Neon Green Accent */

  /* Glass Effect */
  backdrop-filter: blur(5px);
  padding: 10px 24px;

  /* Transitions */
  transition: all 0.3s cubic-bezier(0.23, 1, 0.32, 1);
  overflow: hidden;
}

/* Base Text Reset - IMPORTANT: Counter-skew the text so it's upright */
.section-tag span,
.section-tag {
  color: #fff;
  font-family: 'Outfit', sans-serif;
  font-weight: 700;
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  line-height: 1;
}

/* Inner Text Wrapper (if exists) or direct text treatment */
/* We need to ensure the text itself isn't skewed if it's a direct child text node...
   CSS can't unskew text node directly. 
   So we'll use a ::before pseudo-element for the background instead to keep text straight.
*/

/* Re-definition for Non-Skewed Text Strategy */
.section-tag {
  display: inline-flex;
  position: relative;
  z-index: 1;
  padding: 10px 28px;
  margin-bottom: 24px;

  /* Typography */
  font-family: 'Outfit', sans-serif;
  font-weight: 700;
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 0.25em;
  color: #fff;

  /* Reset transforms */
  transform: none;
  border: none;
  background: none;
}

/* Skewed Background & Border */
.section-tag::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;

  /* The Shape */
  transform: skewX(-15deg);
  background: linear-gradient(90deg, rgba(255, 255, 255, 0.03), rgba(255, 255, 255, 0.01));
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-left: 3px solid #01e4e4;
  /* Cyan Accent */

  transition: all 0.4s ease;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
}

/* Status Indicator (Optional, if we want extra tech feel) */
.section-tag::after {
  content: '';
  position: absolute;
  top: 50%;
  right: 12px;
  width: 4px;
  height: 4px;
  background: #01e4e4;
  border-radius: 50%;
  transform: translateY(-50%);
  opacity: 0.5;
  box-shadow: 0 0 5px #01e4e4;
}

/* Hover Effects */
.section-tag:hover {
  color: #01e4e4;
  text-shadow: 0 0 8px rgba(1, 228, 228, 0.4);
}

.section-tag:hover::before {
  border-color: #01e4e4;
  background: rgba(1, 228, 228, 0.1);
  box-shadow:
    0 0 20px rgba(1, 228, 228, 0.15),
    inset 0 0 10px rgba(1, 228, 228, 0.05);
  transform: skewX(-15deg) scale(1.05);
  /* Slight pop */
}

.section-tag:hover::after {
  background: #00ff66;
  /* Dot turns green on hover */
  box-shadow: 0 0 8px #00ff66;
  opacity: 1;
}

/* Base Text */
.actual-text {
  position: relative;
}

/* Hover Overlay Text */
.hover-text {
  position: absolute;
  box-sizing: border-box;
  content: attr(data-text);
  color: var(--animation-color);
  width: 0%;
  inset: 0;
  border-right: var(--border-right) solid var(--animation-color);
  overflow: hidden;
  transition: 0.5s;
  -webkit-text-stroke: 1px var(--animation-color);
  white-space: nowrap;
  /* Prevent wrapping */
}

/* Hover State */
.section-tag:hover .hover-text {
  width: 100%;
  filter: drop-shadow(0 0 23px var(--animation-color));
}

.sexy-heading,
.apple-heading {
  font-family: 'Outfit', sans-serif;
  font-weight: 800;
  /* Bolder */
  font-size: clamp(3rem, 6vw, 5.5rem) !important;
  /* Larger */
  line-height: 1.0;
  text-transform: uppercase;
  letter-spacing: -0.03em;
  color: #fff;
  margin-bottom: var(--space-md);

  /* Deep Metallic Gradient */
  background: linear-gradient(180deg, #ffffff 0%, #b0b0b0 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;

  /* Stronger Drop Shadow for Depth */
  filter: drop-shadow(0 4px 6px rgba(0, 0, 0, 0.5));
}

.sexy-heading .highlight,
.apple-heading .highlight {
  /* Neon Gradient */
  display: inline;
  background: linear-gradient(90deg, #00ff66, #01e4e4);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  /* Removed italic - was causing clipping */
  /* Use filter for glow since text-shadow doesn't work with transparent fill */
  filter: drop-shadow(0 0 8px rgba(0, 255, 102, 0.6));
}

/* ============================================
   PREMIUM NAVIGATION BAR (Floating Glass Pill)
   ============================================ */
.navigation-bar,
.navigation-bar.w-nav {
  position: sticky !important;
  top: 0;
  left: 0;
  transform: none;
  width: 100%;
  max-width: 100%;
  z-index: 999999 !important;

  /* Glassmorphism */
  background: rgba(10, 10, 15, 0.85) !important;
  backdrop-filter: blur(20px) saturate(180%);
  -webkit-backdrop-filter: blur(20px) saturate(180%);

  /* Premium Border */
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 0;

  /* Glow Effect */
  box-shadow:
    0 4px 20px rgba(0, 0, 0, 0.3),
    0 0 0 1px rgba(1, 228, 228, 0.03);

  padding: 12px 24px;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.navigation-bar:hover {
  border-color: rgba(1, 228, 228, 0.15);
  box-shadow:
    0 12px 40px rgba(0, 0, 0, 0.4),
    0 0 20px rgba(1, 228, 228, 0.08);
}

/* Navigation Links */
.navigation-link.w-nav-link {
  color: rgba(255, 255, 255, 0.8);
  font-size: 0.9rem;
  font-weight: 500;
  letter-spacing: 0.5px;
  padding: 10px 16px;
  border-radius: 25px;
  transition: all 0.3s ease;
}

.navigation-link.w-nav-link:hover,
.navigation-link.w-nav-link.w--current {
  color: #fff;
  background: rgba(1, 228, 228, 0.1);
  text-shadow: 0 0 10px rgba(1, 228, 228, 0.5);
}

/* Logo Enhancement */
.logo.f-logo {
  filter: drop-shadow(0 0 8px rgba(1, 228, 228, 0.3));
}

/* Fix inner rectangle - make container transparent */
.nav-cont,
.nav-cont.w-container {
  background: transparent !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

/* Mobile Menu Overlay */
@media (max-width: 991px) {
  .w-nav-menu {
    background-color: rgba(5, 5, 5, 0.95) !important;
    backdrop-filter: blur(30px);
    -webkit-backdrop-filter: blur(30px);
    height: 100vh;
    /* Full screen */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding-bottom: 100px;
  }

  /* Make links large and centered */
  .navigation-link.w-nav-link {
    font-size: 1.5rem;
    padding: 20px !important;
    width: 100%;
    text-align: center;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
  }

  .navigation-link.w-nav-link:hover {
    color: var(--color-primary);
    background: rgba(255, 255, 255, 0.05);
  }
}

/* Hamburger Icon */
.hamburger-button {
  padding: 10px;
}

.hamburger-button .w-icon-nav-menu {
  font-size: 32px;
  color: var(--color-primary);
}

/* ============================================
   TESTIMONIALS (Fixed Overflow)
   ============================================ */
.testimonial-section {
  position: relative;
  overflow: hidden;
}

.testimonial-track {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--space-md);
  padding: var(--space-md) 5vw;
  overflow: hidden;
}

.testimonial-card {
  scroll-snap-align: center;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid var(--color-glass-border);
  border-radius: var(--glass-border-radius);
  padding: var(--space-lg);
  backdrop-filter: blur(10px);
  transition: transform 0.3s ease, border-color 0.3s ease;
}

.testimonial-card:hover {
  transform: translateY(-5px);
  border-color: var(--color-primary);
  box-shadow: var(--glow-primary);
}

/* Responsive: 2 columns on tablet, 1 on mobile */
@media (max-width: 1023px) {
  .testimonial-track {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 600px) {
  .testimonial-track {
    grid-template-columns: 1fr;
  }
}


/* 3D Space - Applied locally to specific elements, NOT body */
/* NOTE: perspective on body breaks position:fixed elements like the custom cursor */
body {
  /* perspective removed - was breaking fixed positioning for cursor */
  overflow-x: hidden;
  /* Prevent horizontal scroll from 3D rotation */
}


/* Navbar Fixes */
/* Navbar Fixes - Floating Glass Pill */
/* Navigation Bar - Floating Glass Pill - V2 ENHANCED */
.navigation-bar,
.w-nav {
  z-index: 9999 !important;
  position: sticky !important;
  top: 20px;
  margin: 0 auto;
  width: 95%;
  /* Wider pill */
  max-width: 1300px;

  /* Frostier Glass */
  background: rgba(18, 18, 22, 0.6) !important;
  /* Slightly lighter for contrast */
  backdrop-filter: blur(30px) saturate(200%);
  -webkit-backdrop-filter: blur(30px) saturate(200%);

  /* Dynamic Border Gradient (Simulated via box-shadow/border) */
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-top: 1px solid rgba(255, 255, 255, 0.3);
  /* Stronger highlight */
  border-bottom: 1px solid rgba(0, 0, 0, 0.3);
  border-radius: 100px;

  padding: 10px 30px;
  height: auto !important;
  min-height: 80px;
  /* Taller for presence */

  /* Sexy Glow */
  box-shadow:
    0 20px 50px -10px rgba(0, 0, 0, 0.6),
    0 0 0 1px rgba(255, 255, 255, 0.05),
    0 0 30px rgba(1, 228, 228, 0.08);
  /* Stronger Cyan Glow */

  transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);

  /* Flex Config - Note: Flex usually goes on container, but ensuring wrapper behaves */
  display: block;
}

/* Inner Container Layout Fix */
.nav-cont,
.w-container {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  width: 100% !important;
  max-width: 100% !important;
  height: 100%;
}

.navigation-bar:hover {
  background: rgba(25, 25, 30, 0.7) !important;
  border-top-color: rgba(255, 255, 255, 0.5);
  transform: translateY(-2px) scale(1.005);
  box-shadow:
    0 25px 50px -10px rgba(0, 0, 0, 0.7),
    0 0 50px rgba(1, 228, 228, 0.15);
}

/* Scrolled state (optional, can be handled via JS adding a class) */
.navigation-bar.scrolled {
  background: rgba(5, 5, 5, 0.6) !important;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.6);
  backdrop-filter: blur(30px) saturate(200%);
  -webkit-backdrop-filter: blur(30px) saturate(200%);
}

.navigation-items,
.navigation-wrap,
.w-nav-brand,
.w-nav-menu {
  overflow: visible !important;
}

/* Dropdown Menu Styles */
.w-dropdown {
  display: inline-block;
}

.w-dropdown-toggle {
  padding-right: 40px;
}

.w-dropdown-list {
  background: rgba(15, 15, 20, 0.6);
  border: 1px solid rgba(1, 228, 228, 0.2);
  border-top: 1px solid rgba(1, 228, 228, 0.4);
  backdrop-filter: blur(30px);
  -webkit-backdrop-filter: blur(30px);
  border-radius: 21px;
  margin-top: 5px;
  /* Reduced gap for easier hover transition */
  min-width: 240px;
  padding: 10px 0;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.4), 0 0 30px rgba(1, 228, 228, 0.05);
  overflow: visible;
  /* Allow pseudo-element bridge to extend beyond */
}

.w-dropdown-link {
  color: #fff !important;
  padding: 12px 24px;
  display: block;
  transition: all 0.25s ease;
  font-weight: 500;
}

.w-dropdown-link:hover {
  background: var(--color-primary) !important;
  color: #000 !important;
  font-weight: 600;
}

/* ============================================
   NAVIGATION V2 - PREMIUM REDESIGN
   ============================================ */

/* Navbar Container */
.navigation-bar {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1000;
  background: transparent;
  transition: all 0.4s ease;
  padding: 15px 0;
  border-bottom: 1px solid transparent;
}

.navigation-bar.scrolled {
  background: rgba(5, 5, 8, 0.85);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
  padding: 10px 0;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5);
}

.nav-cont {
  display: flex !important;
  justify-content: space-between;
  align-items: center;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
  height: auto;
}

/* Logo */
.logo.f-logo {
  flex: 0 0 auto;
  width: 180px !important;
  height: 60px !important;
  background-image: url('../images/350-x-375-You-see-360-logo-white-for-black-bg-1.png') !important;
  background-size: contain !important;
  background-position: center left !important;
  background-repeat: no-repeat !important;
  margin: 0 !important;
  transition: transform 0.3s ease;
}

.logo.f-logo:hover {
  transform: scale(1.05);
}

/* Desktop Menu */
.w-nav-menu {
  display: flex;
  align-items: center;
  gap: 5px;
}

/* Navigation Links */
.w-nav-link {
  font-family: 'Outfit', sans-serif !important;
  font-weight: 600 !important;
  font-size: 0.95rem !important;
  color: rgba(255, 255, 255, 0.85) !important;
  text-transform: uppercase;
  letter-spacing: 1px;
  padding: 10px 18px !important;
  margin: 0 2px;
  border-radius: 50px;
  transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
  position: relative;
  background: transparent;
  border: 1px solid transparent;
}

.w-nav-link:hover,
.w-nav-link.w--current {
  color: #fff !important;
  background: rgba(255, 255, 255, 0.1);
  border-color: rgba(255, 255, 255, 0.15);
  transform: translateY(-2px);
  text-shadow: 0 0 10px rgba(255, 255, 255, 0.5);
}

.w-nav-link.w--current {
  background: rgba(1, 228, 228, 0.15);
  border-color: var(--color-primary);
  color: var(--color-primary) !important;
  box-shadow: 0 0 20px rgba(1, 228, 228, 0.2);
}

/* Dropdowns */
.w-dropdown {
  position: relative;
  display: flex;
  align-items: center;
}

.w-dropdown-toggle {
  display: flex !important;
  align-items: center;
  gap: 8px;
  padding-right: 18px !important;
  /* Override webflow default padding properly */
}

.w-icon-dropdown-toggle {
  margin: 0 !important;
  font-size: 0.8em;
  transition: transform 0.3s ease;
}

.w-dropdown:hover .w-icon-dropdown-toggle {
  transform: rotate(180deg);
}

/* Dropdown List - Premium Glass Card */
.w-dropdown-list {
  display: block;
  /* We handle visibility via opacity/transform in JS usually, or hover css */
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%) translateY(20px);
  min-width: 260px;
  background: rgba(10, 10, 15, 0.9);
  backdrop-filter: blur(25px);
  -webkit-backdrop-filter: blur(25px);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 21px;
  padding: 10px;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.6);
  opacity: 0;
  pointer-events: none;
  transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
  z-index: 1100;
  margin-top: 15px;
}

/* Showing dropdown (handled by hover or class) */
.w-dropdown:hover .w-dropdown-list,
.w-dropdown-list.w--open {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
  pointer-events: auto;
}

/* Dropdown item links */
.w-dropdown-link {
  display: block;
  padding: 12px 20px;
  color: rgba(255, 255, 255, 0.7);
  font-size: 0.9rem;
  font-weight: 500;
  border-radius: 8px;
  transition: all 0.2s ease;
  text-align: left;
  /* Reset alignment */
}

.w-dropdown-link:hover {
  background: var(--color-primary);
  color: #000 !important;
  transform: translateX(5px);
  box-shadow: 0 4px 15px rgba(1, 228, 228, 0.3);
}

/* Hamburger */
.w-nav-button {
  display: none;
  /* Desktop default */
  font-size: 24px;
  color: #fff;
  padding: 10px;
  cursor: pointer;
}

.hamburger-button {
  padding: 0;
  width: 40px;
  height: 40px;
  display: flex !important;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  transition: background 0.3s ease;
}

.hamburger-button:hover {
  background: rgba(255, 255, 255, 0.1);
}

/* ============================================
   MOBILE NAVIGATION (Max Width 991px)
   ============================================ */
@media (max-width: 991px) {
  .logo.f-logo {
    width: 140px !important;
    height: 50px !important;
  }

  .w-nav-button {
    display: flex !important;
    /* Show hamburger */
  }

  /* Full Screen Overlay Style */
  .w-nav-menu {
    position: fixed !important;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh !important;
    background: rgba(5, 5, 8, 0.96) !important;
    backdrop-filter: blur(30px);
    -webkit-backdrop-filter: blur(30px);
    flex-direction: column;
    justify-content: center;
    padding: 80px 20px 40px;
    z-index: 999;
    /* Below nav bar but above content */
    opacity: 0;
    pointer-events: none;
    transform: translateY(-20px);
    transition: all 0.4s ease;
    box-sizing: border-box;
    overflow-y: auto;
    /* Scrollable if tall */
  }

  .w-nav-menu[data-nav-menu-open] {
    display: flex !important;
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
  }

  .w-nav-link {
    font-size: 1.5rem !important;
    /* Large tappable links */
    padding: 15px !important;
    width: 100%;
    text-align: center;
    border: none;
    background: transparent !important;
    margin-bottom: 5px;
  }

  .w-nav-link:hover {
    background: transparent !important;
    color: var(--color-primary) !important;
    transform: none;
    text-shadow: 0 0 20px var(--color-primary);
  }

  /* Mobile Dropdowns */
  .w-dropdown {
    width: 100%;
    flex-direction: column;
  }

  .w-dropdown-toggle {
    width: 100%;
    justify-content: center;
    font-size: 1.5rem !important;
    padding: 15px !important;
  }

  .w-dropdown-list {
    position: relative;
    top: 0;
    left: 0;
    transform: none;
    width: 100%;
    max-width: 400px;
    background: rgba(255, 255, 255, 0.03);
    margin: 0 auto 20px;
    opacity: 1;
    /* Always visible if parent is open */
    display: none;
    /* JS toggles this */
  }

  .w-dropdown-list.w--open {
    display: block;
    animation: fadeInDown 0.3s ease;
  }

  .w-dropdown-link {
    font-size: 1.1rem;
    padding: 15px;
    text-align: center;
    color: rgba(255, 255, 255, 0.6);
  }

  .w-dropdown-link:hover {
    background: transparent;
    color: #fff !important;
  }
}

/* ============================================
   NEW MOBILE OVERLAY (JS INJECTED)
   ============================================ */
#mobile-premium-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: rgba(5, 5, 8, 0.98);
  backdrop-filter: blur(40px);
  -webkit-backdrop-filter: blur(40px);
  z-index: 998;
  /* Just behind nav bar */
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 80px 20px 40px;
  box-sizing: border-box;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.4s ease;
}

#mobile-premium-overlay.active {
  opacity: 1;
  pointer-events: auto;
}

.mobile-menu-container {
  width: 100%;
  max-width: 400px;
  height: 100%;
  overflow-y: auto;
  /* Allow scrolling if content is tall */
  display: flex;
  flex-direction: column;
  gap: 15px;
  /* Hide scrollbar */
  scrollbar-width: none;
}

.mobile-menu-container::-webkit-scrollbar {
  display: none;
}

/* Links */
.mobile-main-link,
.mobile-group-header {
  font-family: 'Outfit', sans-serif;
  font-size: 1.6rem;
  font-weight: 700;
  color: rgba(255, 255, 255, 0.9);
  text-decoration: none;
  padding: 15px;
  text-align: center;
  border-radius: 13px;
  transition: all 0.3s ease;
  cursor: pointer;

  /* Initial State for Animation */
  opacity: 0;
  transform: translateY(20px);
}

.mobile-main-link.animate-in,
.mobile-link-group.animate-in .mobile-group-header {
  animation: slideInUp 0.6s cubic-bezier(0.2, 0.8, 0.2, 1) forwards;
}

/* Hover/Active States */
.mobile-main-link:hover,
.mobile-group-header:hover,
.mobile-group-header.active {
  color: var(--color-primary);
  background: rgba(255, 255, 255, 0.03);
}

/* Accordion Header */
.mobile-group-header {
  display: flex;
  justify-content: center;
  /* Center text */
  align-items: center;
  gap: 10px;
  position: relative;
}

.mobile-group-header i {
  font-size: 1rem;
  transition: transform 0.3s ease;
  margin-left: 8px;
}

.mobile-group-header.active i {
  transform: rotate(180deg);
  color: var(--color-primary);
}

/* Submenu List */
.mobile-sub-list {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  background: rgba(255, 255, 255, 0.02);
  border-radius: 13px;
  margin: 0 10px;
}

.mobile-sub-link {
  display: block;
  font-family: 'Outfit', sans-serif;
  font-size: 1.1rem;
  color: rgba(255, 255, 255, 0.6);
  padding: 12px 20px;
  text-align: center;
  text-decoration: none;
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

.mobile-sub-link:last-child {
  border-bottom: none;
}

.mobile-sub-link:hover {
  background: rgba(255, 255, 255, 0.05);
  color: #fff;
}

/* CTA Button */
.mobile-cta-btn {
  margin-top: 20px;
  background: var(--color-primary);
  color: #000;
  font-family: 'Outfit', sans-serif;
  font-weight: 700;
  text-transform: uppercase;
  padding: 18px 30px;
  border-radius: 50px;
  text-align: center;
  text-decoration: none;
  box-shadow: 0 10px 30px rgba(1, 228, 228, 0.3);

  opacity: 0;
  transform: translateY(20px);
}

.mobile-cta-btn.animate-in {
  animation: slideInUp 0.6s cubic-bezier(0.2, 0.8, 0.2, 1) forwards;
}

@keyframes slideInUp {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Ensure Webflow default menu is hidden on mobile now */
@media (max-width: 991px) {
  .w-nav-menu {
    display: none !important;
  }
}

/* Ensure Logo is visible on mobile */
@media (max-width: 479px) {
  .logo.f-logo {
    width: 120px !important;
  }
}


/* Base Overrides */
html {
  height: 100%;
  scroll-behavior: smooth;
}

body {
  background-color: var(--color-dark-bg);
  color: var(--color-text-main);
  font-family: 'Montserrat', sans-serif;
  height: 100%;
  min-height: 100%;
  margin: 0;
  position: relative;
}

/* Cinematic Noise Overlay */
.noise-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 99999;
  opacity: 0.05;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E");
}

/* Container Heights */
.container,
.container-2,
.container-3,
.container-4,
.container-5,
.w-container {
  height: 100% !important;
  min-height: 100%;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
  box-sizing: border-box;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  color: var(--color-text-main);
}

a {
  text-decoration: none;
  transition: all 0.3s ease;
}

/* Utility Classes */
.text-primary {
  color: var(--color-primary);
}

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

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

/* Alias for compatibility */

.glass-panel {
  background: var(--color-glass-bg);
  backdrop-filter: var(--glass-blur);
  -webkit-backdrop-filter: var(--glass-blur);
  border: 1px solid var(--color-glass-border);
  border-radius: var(--glass-border-radius);
  box-shadow: var(--shadow-card);
}

/* Glass Card Utility */
.glass-card {
  background: rgba(255, 255, 255, 0.03);
  backdrop-filter: blur(15px);
  -webkit-backdrop-filter: blur(15px);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-top: 1px solid rgba(255, 255, 255, 0.2);
  border-left: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 21px;
  padding: 40px;
  box-shadow: 0 15px 35px rgba(0, 0, 0, 0.2);
  transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.glass-card:hover {
  background: rgba(255, 255, 255, 0.06);
  border-color: var(--color-primary);
  transform: translateY(-10px) scale(1.02);
  box-shadow: 0 20px 45px rgba(0, 0, 0, 0.4), var(--glow-primary);
}

/* 3D About Page Specifics */
.about-hero-3d {
  position: relative;
  height: 100vh;
  width: 100%;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  background: radial-gradient(circle at center, #0a0a15 0%, #050505 100%);
}

#canvas-container {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}

.about-hero-content {
  position: relative;
  z-index: 10;
  text-align: center;
  pointer-events: none;
}

.floating-text {
  text-shadow: 0 10px 20px rgba(0, 0, 0, 0.5);
  letter-spacing: 2px;
}

.parallax-text-section {
  position: relative;
  z-index: 20;
  margin-top: -10vh;
  padding-bottom: 100px;
}

.neon-border {
  border: 1px solid var(--color-primary);
  box-shadow: var(--glow-primary);
}

.neon-border:hover {
  border-color: var(--color-secondary);
  box-shadow: var(--glow-secondary);
}

.apple-heading {
  font-weight: 700;
  letter-spacing: -0.5px;
}

/* Section Tag Refined */


/* Hero Section (Immersive) */
.hero-section {
  position: relative;
  height: 100vh;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  justify-content: center;
  overflow: hidden;
  perspective: 1000px;
  /* Local perspective for hero 3D */
}

.hero-video-wrapper {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
}

.hero-video-wrapper video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.hero-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: radial-gradient(circle, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0.8) 100%);
  z-index: 1;
}

/* Hero Content */
.hero-content {
  position: relative;
  z-index: 2;
  text-align: center;
  max-width: 900px;
  padding: 0 20px;
  transform-style: preserve-3d;
  transition: transform 0.1s ease-out;
  /* Smooth follow */
}

.hero-heading {
  font-family: 'Montserrat', sans-serif;
  font-weight: 800;
  font-size: var(--text-xl);
  line-height: 1.1;
  color: #fff;
  text-shadow: 0 0 20px rgba(1, 228, 228, 0.5);
  margin-bottom: var(--space-md);
  opacity: 0;
  animation: fadeInUp 1s ease-out forwards 0.5s;
}

.hero-subheading {
  font-size: var(--text-md);
  color: var(--color-text-muted);
  margin-bottom: var(--space-lg);
  opacity: 0;
  animation: fadeInUp 1s ease-out forwards 0.8s;
}

/* Service Page Hero - Reduced height */
.hero-section[data-service] {
  height: auto;
  min-height: 50vh;
  padding: 120px 0 80px;
}

.hero-section[data-service] .container {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}

/* Fix parallax container for service pages */
.parallax-container {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 0;
  opacity: 0.3;
}

.parallax-bg {
  max-width: 300px;
  height: auto;
}

/* Center the hero content */
.hero-section .centered {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  position: relative;
  z-index: 2;
}

.hero-buttons {
  opacity: 0;
  animation: fadeInUp 1s ease-out forwards 1.1s;
  display: flex;
  justify-content: center;
  gap: var(--space-md);
}

.btn-primary {
  background: transparent;
  border: 1px solid var(--color-primary);
  color: var(--color-primary);
  padding: 15px 40px;
  border-radius: 50px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 1px;
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
}

.btn-primary:hover {
  background: var(--color-primary);
  color: #000;
  box-shadow: 0 0 20px rgba(1, 228, 228, 0.6);
}

.btn-hollow {
  background: transparent;
  border: 1px solid rgba(255, 255, 255, 0.3);
  color: #fff;
  padding: 15px 40px;
  border-radius: 50px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 1px;
  transition: all 0.3s ease;
}

.btn-hollow:hover {
  border-color: #fff;
  background: rgba(255, 255, 255, 0.1);
}

.highlight {
  color: var(--color-primary);
}

/* Animations */
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(30px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Typing Effect Cursor */
.typing-cursor {
  display: inline-block;
  width: 3px;
  height: 1em;
  background-color: var(--color-secondary);
  animation: blink 1s infinite;
  vertical-align: middle;
  margin-left: 5px;
}

@keyframes blink {

  0%,
  100% {
    opacity: 1;
  }

  50% {
    opacity: 0;
  }
}

/* Mouse Scroll Indicator */
.scroll-indicator {
  position: absolute;
  bottom: 40px;
  left: 50%;
  transform: translateX(-50%);
  width: 30px;
  height: 50px;
  border: 2px solid rgba(255, 255, 255, 0.4);
  border-radius: 21px;
  z-index: 100;
  /* Increased to be above sections */
  opacity: 1;
  /* Visible by default */
  animation: fadeInUp 1s ease-out forwards 1.5s, pulseGlow 2s ease-in-out infinite;
}

@keyframes pulseGlow {

  0%,
  100% {
    box-shadow: 0 0 10px rgba(1, 228, 228, 0.2);
  }

  50% {
    box-shadow: 0 0 20px rgba(1, 228, 228, 0.5);
  }
}

.scroll-dot {
  width: 4px;
  height: 8px;
  background: #fff;
  border-radius: 3px;
  position: absolute;
  top: 10px;
  left: 50%;
  transform: translateX(-50%);
  animation: scrollWheel 2s infinite;
}

@keyframes scrollWheel {
  0% {
    top: 10px;
    opacity: 1;
  }

  100% {
    top: 30px;
    opacity: 0;
  }
}

@media (max-width: 767px) {
  .hero-heading {
    font-size: var(--text-lg);
  }
}

/* Section Styling */
.section {
  width: 100%;
  padding: var(--space-xl) var(--space-md);
  box-sizing: border-box;
  background: transparent;
  position: relative;
  /* Removed overflow: hidden - was causing fixed elements to get stuck */
}

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

.section.bg-glass {
  background: radial-gradient(circle at top right, rgba(1, 228, 228, 0.1), transparent 40%),
    radial-gradient(circle at bottom left, rgba(0, 255, 102, 0.05), transparent 40%);
}

.section.bg-light {
  background: #0f0f12;
}

/* Modern Slider / Service Cards (Refactored from inline) */
.modern-services-slider-container {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: var(--space-lg) var(--space-md);
  position: relative;
  overflow: hidden;
  display: block;
}

.modern-services-slider {
  display: flex;
  transition: transform 0.5s ease;
  gap: var(--space-md);
  margin: 0 auto;
  cursor: grab;
}

.modern-slide {
  flex: 0 0 calc(33.333% - 20px);
  min-width: 300px;
  padding: 0;
  box-sizing: border-box;
}

.modern-service-card {
  background-color: rgba(10, 10, 15, 0.6);
  border-radius: var(--glass-border-radius);
  overflow: hidden;
  padding: var(--space-lg) var(--space-md);
  text-align: center;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  border: 1px solid rgba(255, 255, 255, 0.1);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
  transition: all 0.3s ease;
  position: relative;
  text-decoration: none;
  transform-style: preserve-3d;
  /* Key for child elements popping up */
  transform: translateZ(0);
  /* Hardware accel */
}

/* Gradient Border Effect */
.modern-service-card::before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: var(--glass-border-radius);
  padding: 1px;
  background: linear-gradient(to bottom right, rgba(255, 255, 255, 0.2), transparent);
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  mask-composite: exclude;
  -webkit-mask-composite: destination-out;
  pointer-events: none;
}

.modern-service-card:hover {
  transform: translateY(-8px);
  border-color: var(--color-primary);
  background: rgba(15, 20, 25, 0.8);
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.4), 0 0 20px rgba(1, 228, 228, 0.2);
}

.service-icon-circle {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 25px;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.1);
  box-shadow: inset 0 0 20px rgba(0, 0, 0, 0.5);
  transition: all 0.35s ease;
  position: relative;
}

.modern-service-card:hover .service-icon-circle {
  background: rgba(1, 228, 228, 0.1);
  border-color: var(--color-primary);
  box-shadow: 0 0 25px rgba(1, 228, 228, 0.4);
}

/* REPLACING IMG WITH ICON STYLES */
.service-icon-circle i {
  font-size: 2.5rem;
  color: var(--color-text-main);
  filter: drop-shadow(0 0 5px rgba(255, 255, 255, 0.3));
  transition: all 0.35s ease;
}

.modern-service-card:hover .service-icon-circle i {
  color: var(--color-primary);
  filter: drop-shadow(0 0 10px var(--color-primary));
  transform: translateZ(20px) scale(1.1);
  /* Pop out in 3D */
}

.service-title {
  color: #fff;
  font-size: var(--text-sm);
  font-weight: 700;
  margin-bottom: var(--space-sm);
  letter-spacing: 1px;
  transition: color 0.35s ease;
}

.modern-service-card:hover .service-title {
  color: var(--color-primary);
}

.service-description {
  color: var(--color-text-muted);
  font-size: 0.95rem;
  line-height: 1.6;
  margin: 0;
  flex-grow: 1;
}

.slider-navigation {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: var(--space-lg);
  gap: var(--space-md);
}

.slider-button {
  background: transparent;
  border: 1px solid var(--color-primary);
  color: var(--color-primary);
  padding: 8px 20px;
  cursor: pointer;
  border-radius: 21px;
  font-weight: 600;
  transition: all 0.3s ease;
}

.slider-button:hover {
  background: var(--color-secondary);
  border-color: var(--color-secondary);
  color: #000;
  box-shadow: var(--glow-secondary);
}

.slider-pagination {
  display: flex;
  gap: 10px;
}

.pagination-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.2);
  border: 1px solid var(--color-primary);
  cursor: pointer;
  transition: all 0.3s ease;
}

.pagination-dot.active {
  background: var(--color-primary);
  box-shadow: var(--glow-primary);
}

/* Bento Grid for Industries */
.bento-grid {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  grid-auto-rows: minmax(180px, auto);
  gap: var(--space-md);
  max-width: 1200px;
  margin: 0 auto;
  padding: var(--space-md);
  box-sizing: border-box;
  width: 100%;
}

/* Ensure parent sections allow overflow */
#Industries {
  overflow: hidden;
  position: relative;
  z-index: 1;
  padding-bottom: 80px;
}

#How {
  position: relative;
  z-index: 10;
  background: #0f0f12;
}

.bento-card {
  position: relative;
  background: rgba(20, 20, 25, 0.4);
  /* Darker glass */
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: 1px solid rgba(255, 255, 255, 0.08);
  /* Subtle border */
  border-radius: var(--glass-border-radius);
  padding: var(--space-lg);
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  text-decoration: none;
  overflow: hidden;
  transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.bento-card::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  border-radius: 21px;
  padding: 1px;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.1), transparent 60%);
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  mask-composite: exclude;
  -webkit-mask-composite: destination-out;
  pointer-events: none;
}

.bento-card:hover {
  transform: translateY(-5px) scale(1.02);
  background: rgba(30, 30, 40, 0.6);
  border-color: var(--color-primary);
  box-shadow: 0 15px 35px rgba(0, 0, 0, 0.5), 0 0 15px rgba(1, 228, 228, 0.2);
}


.bento-card:hover .bento-icon-wrapper,
.bento-card:hover .bento-icon-wrapper i {
  color: var(--color-primary) !important;
  transform: translateZ(30px) scale(1.1);
  /* 3D Pop */
  text-shadow: 0 0 15px var(--color-primary);
}

.bento-card:hover .bento-title,
.bento-card:hover h3,
.bento-card:hover h4 {
  color: #fff !important;
}

.bento-card:hover .bento-description,
.bento-card:hover p {
  color: #ddd !important;
}

.bento-card.col-8 {
  grid-column: span 8;
}

.bento-card.col-6 {
  grid-column: span 6;
}

.bento-card.col-4 {
  grid-column: span 4;
}

.bento-card.col-12 {
  grid-column: span 12;
}

.bento-card.row-2 {
  grid-row: span 2;
}

.bento-icon-wrapper {
  font-size: var(--text-lg);
  color: rgba(255, 255, 255, 0.5);
  /* Muted initial state */
  margin-bottom: var(--space-md);
  transition: all 0.3s ease;
}

.bento-title {
  font-size: var(--text-md);
  font-weight: 700;
  color: #fff;
  margin-bottom: var(--space-sm);
}

.bento-description {
  color: var(--color-text-muted);
  font-size: 1rem;
  line-height: 1.5;
}

/* Stats Styling (New High Tech) */
.bento-stat {
  font-size: 3.5rem;
  font-weight: 900;
  background: linear-gradient(135deg, var(--color-primary) 0%, var(--color-secondary) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  text-shadow: none;
  margin-bottom: 5px;
  font-family: 'Oswald', 'Montserrat', sans-serif;
  position: relative;
  display: inline-block;
  filter: drop-shadow(0 0 15px rgba(1, 228, 228, 0.4));
}

/* Make stats look like digital counters */
.stat-item {
  text-align: center;
  padding: var(--space-md);
  background: rgba(255, 255, 255, 0.03);
  border-radius: 13px;
  border: 1px solid rgba(255, 255, 255, 0.05);
}

.stat-number {
  font-size: 3rem;
  font-weight: 800;
  color: var(--color-secondary);
  text-shadow: 0 0 15px rgba(0, 255, 102, 0.4);
  line-height: 1;
  margin-bottom: 5px;
}

.stat-label {
  font-size: 0.9rem;
  color: var(--color-text-muted);
  text-transform: uppercase;
  letter-spacing: 1px;
}


/* Tech Certification Logos */
.slider-container img {
  filter: grayscale(100%) brightness(200%);
  opacity: 0.7;
  transition: all 0.3s ease;
}

.slider-container img:hover {
  filter: grayscale(0%) brightness(100%);
  opacity: 1;
}

/* Testimonials / Quotes (New High Tech) */
.testimonial-carousel {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-lg);
  padding: var(--space-md) 0 var(--space-lg);
  overflow: hidden;
}

/* Responsive: 2 columns on tablet, 1 on mobile */
@media (max-width: 1023px) {
  .testimonial-carousel {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 600px) {
  .testimonial-carousel {
    grid-template-columns: 1fr;
  }
}

.testimonial-item {
  background: linear-gradient(145deg, rgba(20, 20, 25, 0.8), rgba(10, 10, 15, 0.95));
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 21px;
  padding: var(--space-lg);
  position: relative;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5);
}

/* Glowing accent bar */
.testimonial-item::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 4px;
  height: 100%;
  background: linear-gradient(to bottom, var(--color-primary), var(--color-accent-pink));
  box-shadow: 0 0 15px var(--color-primary);
}

.testimonial-quote {
  font-size: 1.1rem;
  font-style: italic;
}

/* Hide testimonial images - removed as per request */
.testimonial-image {
  display: none !important;
}

/* Section standard */
.section {
  padding-top: var(--space-xl);
  padding-bottom: var(--space-xl);
  position: relative;
  z-index: 2;
}

.testimonial-quote i {
  font-size: 1.5rem;
  color: rgba(255, 255, 255, 0.2);
  margin: 0 10px;
}

.testimonial-author {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  margin-top: var(--space-md);
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  padding-top: var(--space-md);
}

.testimonial-author img {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  border: 2px solid var(--color-primary);
  padding: 2px;
}

.testimonial-author h4 {
  margin: 0;
  font-size: 1rem;
  color: #fff;
  font-weight: 700;
}

.testimonial-author p {
  margin: 0;
  font-size: 0.85rem;
  color: var(--color-primary);
}

/* Responsive */
@media (max-width: 991px) {
  .modern-slide {
    flex: 0 0 calc(50% - 20px);
  }

  /* Tablet: Allow 2 columns */
  .bento-card.col-4,
  .bento-card.col-6 {
    grid-column: span 6;
  }

  .bento-card.col-8,
  .bento-card.col-12 {
    grid-column: span 12;
  }
}

@media (max-width: 767px) {

  /* Mobile: Stack everything */
  .bento-card.col-4,
  .bento-card.col-6,
  .bento-card.col-8 {
    grid-column: span 12;
  }
}

@media (max-width: 767px) {
  .modern-slide {
    flex: 0 0 100%;
  }

  .testimonial-item {
    flex: 0 0 300px;
  }

  .hero-heading {
    font-size: var(--text-lg);
  }
}

/* Real Estate Specific Testimonial Tweaks */
.testimonial-item {
  display: flex;
  /* Change to flex for side-by-side if wide enough */
  flex-direction: column;
  gap: var(--space-md);
}

.testimonial-image {
  width: 100%;
  height: 200px;
  border-radius: 13px;
  overflow: hidden;
  margin-bottom: var(--space-sm);
}

.testimonial-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}

.testimonial-item:hover .testimonial-image img {
  transform: scale(1.05);
}

.testimonial-stats {
  display: flex;
  justify-content: space-between;
  margin-top: var(--space-md);
  padding-top: var(--space-md);
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.testimonial-stats .stat {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.testimonial-stats .stat-value {
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--color-secondary);
  text-shadow: 0 0 10px rgba(0, 255, 102, 0.3);
}

.testimonial-stats .stat-label {
  font-size: 0.8rem;
  color: var(--color-text-muted);
}

/* Service Options Grid compatibility */
.services-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--space-lg);
}

/* Responsive: 2 columns on tablet, 1 on mobile */
@media (max-width: 1023px) {
  .services-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 600px) {
  .services-grid {
    grid-template-columns: 1fr;
  }
}

/* FAQ Accordion */
.faq-section {
  padding: var(--space-xxl) 0;
  background: var(--color-dark-bg);
}

.faq-container {
  max-width: 800px;
  margin: 0 auto;
}

.faq-item {
  margin-bottom: var(--space-md);
  background: var(--color-glass-bg);
  border: 1px solid var(--color-glass-border);
  border-radius: var(--glass-border-radius);
  overflow: hidden;
  transition: all 0.3s ease;
}

.faq-question {
  padding: 20px;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-weight: 600;
  color: #fff;
}

.faq-question:hover {
  background: rgba(255, 255, 255, 0.05);
  color: var(--color-primary);
}

.faq-answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease;
  padding: 0 20px;
  color: var(--color-text-muted);
}

.faq-item.active .faq-answer {
  padding: 20px;
  padding-top: 0;
  max-height: 500px;
  /* Arbitrary large height */
}

.faq-icon {
  transition: transform 0.3s ease;
}

/* ============================================
   CUSTOM PROCESS TABS (Replaces Webflow)
   ============================================ */
.process-tabs {
  max-width: 1000px;
  margin: 0 auto;
}

.process-tab-buttons {
  display: flex;
  justify-content: center;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 40px;
}

/* High Tech Form Elements */
.glass-input {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  color: #fff;
  transition: all 0.3s ease;
  backdrop-filter: blur(10px);
}

.glass-input:focus {
  background: rgba(255, 255, 255, 0.1);
  border-color: var(--color-primary);
  box-shadow: 0 0 15px rgba(102, 204, 121, 0.2);
  outline: none;
}

.neon-border {
  position: relative;
  overflow: hidden;
  transition: all 0.3s ease;
}

.neon-border:hover {
  box-shadow: 0 0 20px var(--color-primary), inset 0 0 10px var(--color-primary);
  border-color: var(--color-primary);
  text-shadow: 0 0 8px currentColor;
}

.glass-panel {
  background: rgba(255, 255, 255, 0.05);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 21px;
  box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.37);
}

/* ============================================
   PREMIUM FOOTER STYLES
   ============================================ */
.footer {
  background: rgba(5, 5, 5, 0.95);
  /* Deep dark glass */
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  padding: 80px 0 40px;
  position: relative;
  z-index: 10;
  box-shadow: 0 -10px 40px rgba(0, 0, 0, 0.5);
}

.footer-columns {
  display: grid;
  grid-template-columns: 1.5fr 1fr 1fr 1.5fr;
  gap: 40px;
  margin-bottom: 60px;
}

.footer-column h4 {
  color: #fff;
  font-size: 1.2rem;
  font-weight: 700;
  margin-bottom: 25px;
  letter-spacing: 1px;
  text-transform: uppercase;
  background: linear-gradient(90deg, #fff, rgba(255, 255, 255, 0.5));
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  display: inline-block;
}

.footer-column ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.footer-column ul li {
  margin-bottom: 12px;
}

.footer-column ul li a {
  color: var(--color-text-muted);
  font-size: 0.95rem;
  transition: all 0.3s ease;
  display: inline-block;
  position: relative;
}

.footer-column ul li a:hover {
  color: var(--color-primary);
  transform: translateX(5px);
  text-shadow: 0 0 10px rgba(1, 228, 228, 0.4);
}

.footer-column p {
  color: var(--color-text-muted);
  font-size: 0.95rem;
  line-height: 1.6;
  margin-bottom: 15px;
}

.social-links {
  display: flex;
  gap: 15px;
  margin-top: 25px;
}

.social-links a {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  transition: all 0.3s ease;
}

.social-links a:hover {
  background: var(--color-primary);
  color: #000;
  box-shadow: 0 0 20px rgba(1, 228, 228, 0.5);
  transform: translateY(-3px);
}

.footer-bottom {
  border-top: 1px solid rgba(255, 255, 255, 0.05);
  padding-top: 30px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 20px;
}

.footer-bottom p {
  color: rgba(255, 255, 255, 0.4);
  font-size: 0.9rem;
  margin: 0;
}

.footer-links {
  display: flex;
  gap: 20px;
}

.footer-links a {
  color: rgba(255, 255, 255, 0.4);
  font-size: 0.9rem;
  transition: color 0.3s ease;
}

.footer-links a:hover {
  color: #fff;
}

/* Responsive Footer */
@media (max-width: 991px) {
  .footer-columns {
    grid-template-columns: 1fr 1fr;
    gap: 30px;
  }
}

@media (max-width: 767px) {
  .footer-columns {
    grid-template-columns: 1fr;
    gap: 40px;
  }

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

  .footer {
    padding: 60px 0 30px;
  }
}

/* ============================================
   TRUSTED BY SECTION
   ============================================ */
.trusted-by {
  padding: var(--space-lg) 0;
  text-align: center;
  background: rgba(0, 0, 0, 0.3);
  border-top: 1px solid rgba(255, 255, 255, 0.05);
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

.trusted-by h3 {
  font-size: var(--text-xs) !important;
  text-transform: uppercase;
  letter-spacing: 3px;
  color: var(--color-text-muted);
  margin-bottom: var(--space-md);
  font-weight: 500;
}

.brand-logo-grid {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--space-xl);
}

.brand-logo {
  height: 40px;
  width: auto;
  filter: grayscale(100%) brightness(180%);
  opacity: 0.5;
  transition: all 0.3s ease;
}

.brand-logo:hover {
  filter: grayscale(0%) brightness(100%);
  opacity: 1;
  transform: scale(1.1);
}

/* ============================================
   DROPDOWN ICON FIXES
   ============================================ */
.w-dropdown-toggle {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.w-dropdown-toggle>div:first-child {
  padding-right: 4px;
}

.w-icon-dropdown-toggle {
  position: relative !important;
  top: auto !important;
  right: auto !important;
  bottom: auto !important;
  margin: 0 !important;
  width: 10px;
  height: 10px;
  color: var(--color-text-muted);
  transition: all 0.3s ease;
  font-size: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.w-dropdown:hover .w-icon-dropdown-toggle,
.w-dropdown.w--open .w-icon-dropdown-toggle {
  color: var(--color-primary);
  transform: rotate(180deg);
}

/* Ensure dropdown lists show correctly */
.w-dropdown:hover .w-dropdown-list,
.w-dropdown.w--open .w-dropdown-list {
  display: block;
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
  transition-delay: 0s;
  /* Show immediately on hover */
}

.w-dropdown-list {
  position: absolute;
  top: 100%;
  left: 0;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-10px);
  transition: opacity 0.3s ease, visibility 0.3s ease, transform 0.3s ease;
  transition-delay: 0.3s;
  /* Wait 300ms before hiding - gives user time to move mouse */
  z-index: 9999;
  padding-top: 10px;
  /* Creates invisible bridge between toggle and dropdown */
  margin-top: 0;
  /* Remove gap to make hover area continuous */
}

/* Invisible bridge to maintain hover state between toggle and dropdown list */
.w-dropdown-list::before {
  content: '';
  position: absolute;
  top: -20px;
  /* Extend upward to overlap with toggle */
  left: 0;
  width: 100%;
  height: 30px;
  /* Tall enough to bridge the gap */
  background: transparent;
}

/* ============================================
   PROCESS TABS STYLING
   ============================================ */
.process-tab-btn {
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.1);
  color: var(--color-text-muted);
  padding: 12px 24px;
  border-radius: 34px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
  font-size: 0.9rem;
  text-transform: uppercase;
  letter-spacing: 1px;
}

.process-tab-btn:hover {
  background: rgba(1, 228, 228, 0.1);
  border-color: var(--color-primary);
  color: var(--color-primary);
}

.process-tab-btn.active {
  background: var(--color-primary);
  border-color: var(--color-primary);
  color: #000;
  box-shadow: 0 0 20px rgba(1, 228, 228, 0.4);
}

.process-tab-panels {
  position: relative;
}

.process-tab-panel {
  display: none;
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.4s ease, transform 0.4s ease;
}

.process-tab-panel.active {
  display: block;
  opacity: 1;
  transform: translateY(0);
}

.process-tab-content {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-xl);
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: var(--glass-border-radius);
  padding: var(--space-xl);
  align-items: center;
}

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

.step-number {
  display: inline-block;
  background: var(--color-primary);
  color: #000;
  padding: 6px 16px;
  border-radius: 21px;
  font-size: 0.8rem;
  font-weight: 700;
  margin-bottom: var(--space-md);
}

.process-tab-visual {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 6rem;
  color: rgba(255, 255, 255, 0.1);
  text-shadow: 0 0 40px rgba(1, 228, 228, 0.2);
}

@media (max-width: 768px) {
  .process-tab-buttons {
    flex-direction: column;
    align-items: stretch;
  }

  .process-tab-btn {
    width: 100%;
    text-align: center;
  }

  .process-tab-content {
    grid-template-columns: 1fr;
  }

  .process-tab-visual {
    order: -1;
    font-size: 4rem;
    margin-bottom: var(--space-md);
  }
}

/* ============================================
   MOBILE NAVIGATION FIXES
   ============================================ */
@media (max-width: 991px) {

  .navigation-bar,
  .w-nav {
    width: 100%;
    margin: 0;
    border-radius: 0;
    top: 0;
  }

  .navigation-menu {
    background: rgba(10, 10, 15, 0.98);
    backdrop-filter: blur(30px);
    -webkit-backdrop-filter: blur(30px);
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    padding: var(--space-md);
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  }

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

  .w-dropdown-toggle {
    width: 100%;
    padding: 15px;
  }

  .w-dropdown-list {
    position: static;
    background: rgba(0, 0, 0, 0.3);
    border-radius: 8px;
    margin-top: 5px;
    display: none;
  }

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

  .hamburger-button {
    display: block !important;
  }
}

/* ============================================
   MOBILE STICKY CTA
   ============================================ */
.mobile-sticky-cta {
  display: none;
}

@media (max-width: 767px) {
  .mobile-sticky-cta {
    display: block;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    background: var(--color-primary);
    color: #000;
    text-align: center;
    padding: 15px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    z-index: 9998;
    text-decoration: none;
    box-shadow: 0 -5px 20px rgba(0, 0, 0, 0.3);
  }
}

#future-cursor {
  position: fixed;
  top: 0;
  left: 0;
  width: 8px;
  height: 8px;
  background: #fff;
  border-radius: 50%;
  pointer-events: none;
  z-index: 2147483647;
  /* Max Z-Index */
  box-shadow: 0 0 10px #fff, 0 0 2px #000;
  /* Added black outline for visibility on white */
  transition: transform 0.1s;
  will-change: transform;
}

/* ============================================
   SERVICE OPTIONS SECTION
   ============================================ */
.service-options {
  background: #0a0a0f;
  padding: var(--space-xxl) 0;
  border-top: 1px solid rgba(255, 255, 255, 0.05);
}

.section-intro {
  color: var(--color-text-muted);
  font-size: 1.1rem;
  max-width: 700px;
  margin: 0 auto var(--space-xl);
  text-align: center;
}

/* Benefits Grid */
.benefits-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--space-lg);
  margin-top: var(--space-xl);
}

/* Responsive: 2 columns on tablet, 1 on mobile */
@media (max-width: 1023px) {
  .benefits-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 600px) {
  .benefits-grid {
    grid-template-columns: 1fr;
  }
}

.benefit-card {
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: var(--glass-border-radius);
  padding: var(--space-lg);
  text-align: center;
  transition: all 0.4s ease;
}

.benefit-card:hover {
  background: rgba(255, 255, 255, 0.05);
  border-color: var(--color-primary);
  transform: translateY(-5px);
}

.benefit-card .icon-container {
  width: 70px;
  height: 70px;
  margin: 0 auto var(--space-md);
  background: rgba(1, 228, 228, 0.08);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.benefit-card .benefit-icon {
  font-size: 2rem;
  color: var(--color-primary);
}

.benefit-card h3 {
  font-size: 1.3rem;
  font-weight: 700;
  margin-bottom: var(--space-sm);
  color: #fff;
}

.benefit-card p {
  color: var(--color-text-muted);
  font-size: 0.95rem;
  line-height: 1.6;
}

/* Success Stories / Testimonials */
.success-stories {
  background: #0f0f12;
  padding: var(--space-xxl) 0;
  border-top: 1px solid rgba(255, 255, 255, 0.05);
}

.success-stories h2 {
  text-align: center;
  font-size: var(--text-lg);
  margin-bottom: var(--space-sm);
}

.success-stories .section-intro {
  margin-bottom: var(--space-xl);
}

/* Strategic Benefits */
.strategic-benefits {
  padding: var(--space-xxl) 0;
}

/* Industry Stats in Hero */
.industry-stats {
  display: flex;
  justify-content: center;
  gap: var(--space-xl);
  margin-top: var(--space-lg);
}

.industry-stats .stat-item {
  text-align: center;
}

.industry-stats .stat-number {
  font-size: 3rem;
  font-weight: 800;
  color: var(--color-secondary);
  text-shadow: 0 0 20px rgba(0, 255, 102, 0.3);
}

.industry-stats .stat-label {
  font-size: 0.9rem;
  color: rgba(255, 255, 255, 0.6);
  text-transform: uppercase;
  letter-spacing: 1px;
}

@media (max-width: 767px) {
  .industry-stats {
    flex-direction: column;
    gap: var(--space-md);
  }

  .industry-stats .stat-number {
    font-size: 2.5rem;
  }
}

/* Challenge list styling */
.challenge-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.challenge-list li {
  padding: 8px 0;
  padding-left: 20px;
  position: relative;
}

.challenge-list li::before {
  content: '•';
  position: absolute;
  left: 0;
  color: var(--color-primary);
}

/* Solution Benefit */
.solution-benefit {
  display: flex;
  align-items: flex-start;
  gap: var(--space-md);
}

.solution-benefit h3 {
  font-size: 1.2rem;
  margin-bottom: 8px;
}

/* ============================================
   VIRTUAL TOUR SECTION
   ============================================ */
.virtual-tour-section {
  background: linear-gradient(180deg, var(--color-dark-bg) 0%, rgba(10, 10, 20, 1) 100%);
}

.tour-container {
  position: relative;
  width: 100%;
  max-width: 1100px;
  margin: 0 auto var(--space-lg);
  aspect-ratio: 16 / 9;
  border-radius: 21px;
  overflow: hidden;
  box-shadow: 0 30px 60px rgba(0, 0, 0, 0.5), 0 0 50px rgba(1, 228, 228, 0.1);
  border: 1px solid rgba(1, 228, 228, 0.2);
}

/* Facade: Placeholder + Play Button */
.tour-facade {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  cursor: pointer;
  z-index: 2;
  transition: opacity 0.5s ease;
}

.tour-facade.loading {
  pointer-events: none;
}

.tour-placeholder {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: brightness(0.7);
  transition: filter 0.3s ease, transform 0.5s ease;
}

.tour-facade:hover .tour-placeholder {
  filter: brightness(0.5);
  transform: scale(1.02);
}

.tour-play-btn {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100px;
  height: 100px;
  border-radius: 50%;
  background: rgba(1, 228, 228, 0.2);
  border: 2px solid var(--color-primary);
  color: var(--color-primary);
  font-size: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.3s ease;
  backdrop-filter: blur(10px);
  z-index: 3;
}

.tour-play-btn i {
  margin-left: 5px;
  /* Visual centering for play icon */
}

.tour-play-btn:hover {
  background: var(--color-primary);
  color: #000;
  box-shadow: 0 0 40px rgba(1, 228, 228, 0.6);
  transform: translate(-50%, -50%) scale(1.1);
}

.btn-ripple {
  position: absolute;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  border: 2px solid var(--color-primary);
  animation: ripple 2s infinite;
  pointer-events: none;
}

@keyframes ripple {
  0% {
    transform: scale(1);
    opacity: 1;
  }

  100% {
    transform: scale(1.8);
    opacity: 0;
  }
}

.tour-overlay-text {
  position: absolute;
  bottom: 30%;
  left: 50%;
  transform: translateX(-50%);
  color: white;
  font-size: 1.1rem;
  font-weight: 500;
  letter-spacing: 1px;
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.8);
  opacity: 0.9;
  z-index: 3;
  transition: opacity 0.3s ease;
}

.tour-facade:hover .tour-overlay-text {
  opacity: 1;
}

/* Iframe Container */
.tour-frame {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  opacity: 0;
  transition: opacity 0.5s ease;
}

.tour-frame.active {
  opacity: 1;
  z-index: 3;
}

.tour-frame iframe {
  width: 100%;
  height: 100%;
  border: none;
}

/* Tour Caption */
.tour-caption {
  text-align: center;
  color: var(--color-text-muted);
  font-size: 0.9rem;
  margin-top: var(--space-md);
}

.tour-caption i {
  color: var(--color-primary);
  margin-right: 8px;
}

/* Tour CTA Buttons */
.tour-cta {
  display: flex;
  justify-content: center;
  gap: var(--space-md);
  margin-top: var(--space-lg);
  flex-wrap: wrap;
}

.tour-cta .btn-hollow i {
  margin-right: 8px;
}

/* Mobile Responsive */
@media (max-width: 768px) {
  .tour-container {
    border-radius: 13px;
  }

  .tour-play-btn {
    width: 70px;
    height: 70px;
    font-size: 24px;
  }

  .tour-overlay-text {
    font-size: 0.9rem;
  }

  .tour-cta {
    flex-direction: column;
    align-items: center;
  }
}

/* ============================================
   HIGH-CONVERTING CONTACT FORM STYLES
   ============================================ */

/* Trust Signal Bar */
.form-trust-bar {
  display: flex;
  justify-content: center;
  gap: 40px;
  margin-bottom: 40px;
  flex-wrap: wrap;
}

.trust-item {
  display: flex;
  align-items: center;
  gap: 10px;
  color: rgba(255, 255, 255, 0.8);
  font-size: 14px;
  font-weight: 500;
}

.trust-item i {
  color: var(--ys-green, #00ff88);
  font-size: 18px;
}

/* Label Hints */
.label-hint {
  color: rgba(255, 255, 255, 0.5);
  font-size: 12px;
  font-weight: 400;
  text-transform: none;
  letter-spacing: 0;
  margin-left: 10px;
}

/* Enhanced Checkbox Styles */
.cf-checkbox-field {
  transition: all 0.3s ease;
  border: 1px solid rgba(1, 228, 228, 0.3);
}

.cf-checkbox-field:hover {
  border-color: var(--uc-blue, #23bad1);
  background: rgba(35, 186, 209, 0.05);
  transform: translateY(-2px);
}

.cf-checkbox-field.selected,
.cf-checkbox-field:has(input:checked) {
  border-color: var(--ys-green, #00ff88) !important;
  background: linear-gradient(135deg, rgba(35, 186, 209, 0.15), rgba(113, 208, 145, 0.15)) !important;
  box-shadow: 0 0 15px rgba(35, 186, 209, 0.3);
}

/* Hide inner checkbox/radio indicator div - selection shown by parent container only */
.cf-checkbox-field .cf-checkbox,
.cf-checkbox-field .w-checkbox-input,
.cf-checkbox-field .w-radio-input {
  display: none !important;
}

/* Checkbox selection is indicated by highlight only - no checkmark icons */

/* Selected Services Counter */
.selected-services-count {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 40px;
  padding: 12px 20px;
  background: rgba(35, 186, 209, 0.1);
  border: 1px solid rgba(35, 186, 209, 0.3);
  border-radius: 50px;
  color: var(--uc-blue, #23bad1);
  font-size: 14px;
  font-weight: 500;
  width: fit-content;
}

/* Email Field Wrapper */
.email-field-wrapper {
  position: relative;
}

.email-validation-icon {
  position: absolute;
  right: 15px;
  top: 50%;
  transform: translateY(-50%);
  display: none;
  font-size: 18px;
}

/* Input Validation States */
.cf-contact-form-field.valid {
  border-color: var(--ys-green, #00ff88) !important;
}

.cf-contact-form-field.invalid {
  border-color: #ff5e69 !important;
}

/* Character Counter */
.char-counter {
  position: absolute;
  bottom: 10px;
  right: 15px;
  font-size: 12px;
  color: rgba(255, 255, 255, 0.5);
}

/* Submit Wrapper */
.form-submit-wrapper {
  text-align: center;
  margin-top: 40px;
}

/* Premium Submit Button */
.premium-submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 18px 50px;
  font-size: 18px;
  font-weight: 600;
  border-radius: 50px;
  max-width: none;
  width: auto;
  min-width: 280px;
  height: auto;
  text-align: center;
  cursor: pointer;
  transition: all 0.3s ease;
  background-image: linear-gradient(90deg, var(--uc-blue, #23bad1), var(--ys-green, #00ff88));
  border: none;
  color: #fff;
}

.premium-submit:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 30px rgba(35, 186, 209, 0.4);
}

.premium-submit:disabled {
  opacity: 0.7;
  cursor: not-allowed;
  transform: none;
}

.premium-submit .btn-arrow {
  transition: transform 0.3s ease;
}

.premium-submit:hover .btn-arrow {
  transform: translateX(5px);
}

.premium-submit.loading {
  background-image: linear-gradient(90deg, #555, #666);
}

/* Submit Guarantee */
.submit-guarantee {
  margin-top: 15px;
  font-size: 13px;
  color: rgba(255, 255, 255, 0.5);
}

.submit-guarantee i {
  margin-right: 6px;
  color: var(--ys-green, #00ff88);
}

/* Enhanced Success Message */
.enhanced-success {
  background: linear-gradient(135deg, rgba(35, 186, 209, 0.95), rgba(113, 208, 145, 0.95)) !important;
  border-radius: 21px !important;
  padding: 60px 40px !important;
  max-width: 600px;
  margin: 0 auto;
  text-align: center;
}

.success-content {
  color: #000;
}

.success-icon {
  font-size: 60px;
  color: #000;
  margin-bottom: 20px;
  animation: pulse 1.5s ease infinite;
}

.success-content h3 {
  font-size: 28px;
  font-weight: 700;
  margin-bottom: 10px;
  color: #000;
}

.success-content>p {
  font-size: 16px;
  margin-bottom: 30px;
  color: rgba(0, 0, 0, 0.8);
}

.success-details {
  text-align: left;
  background: rgba(0, 0, 0, 0.1);
  padding: 20px 30px;
  border-radius: 13px;
}

.success-details p {
  margin: 10px 0;
  font-size: 14px;
  color: #000;
  display: flex;
  align-items: center;
  gap: 10px;
}

.success-details i {
  width: 20px;
}

.success-details a {
  color: #000;
  text-decoration: underline;
  font-weight: 600;
}

@keyframes pulse {

  0%,
  100% {
    transform: scale(1);
  }

  50% {
    transform: scale(1.05);
  }
}

.enhanced-success.animate-in {
  animation: successSlideIn 0.5s ease forwards;
}

@keyframes successSlideIn {
  from {
    opacity: 0;
    transform: translateY(30px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Enhanced Error Message */
.enhanced-error {
  background: rgba(255, 94, 105, 0.15) !important;
  border: 1px solid rgba(255, 94, 105, 0.5) !important;
  border-radius: 21px !important;
  padding: 30px !important;
  text-align: center;
  color: #fff !important;
}

.error-content i {
  font-size: 40px;
  color: #ff5e69;
  margin-bottom: 15px;
}

.error-content p {
  margin: 10px 0;
}

.error-help {
  font-size: 14px;
  color: rgba(255, 255, 255, 0.7);
}

.error-help a {
  color: var(--uc-blue, #23bad1);
}

/* Main Contact Form Layout & Visibility Fixes */
.cf-fields-contain {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  gap: 24px;
  margin-bottom: 24px;
  width: 100%;
}

/* ============================================
   ROTATING GLOW INPUT EFFECT
   ============================================ */
.glow-input {
  position: relative;
  flex: 1;
  min-width: 0;
  display: flex;
  align-items: stretch;
  /* Ensure full height */
  justify-content: center;
  overflow: visible !important;
  /* Prevent clipping of glow/border */
  isolation: isolate;
  /* Create new stacking context */
  border-radius: 13px;
  /* Match radius */
}

/* The rotating gradient border container */
.glow-border {
  position: absolute;
  inset: 0;
  border-radius: 13px;
  /* Match input radius exactly */
  overflow: hidden;
  /* Clip the rotating gradient to the border shape */
  z-index: 1;
  /* Sit behind input but above mask padding logic */
  opacity: 1;
  /* Always visible for base state */
  /* Base border visible when not hovering */
  border: 1px solid rgba(255, 255, 255, 0.15);
  box-sizing: border-box;
  transition: border-color 0.3s ease;
}

/* The rotating gradient element */
.glow-border::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 1500px;
  height: 1500px;
  transform: translate(-50%, -50%) rotate(0deg);
  background: conic-gradient(from 0deg,
      #01e4e4 0%,
      #00ff66 25%,
      #01e4e4 50%,
      #00ff66 75%,
      #01e4e4 100%);
  transition: opacity 0.4s ease;
  opacity: 0;
  /* Hidden by default */
  z-index: -1;
}

/* Hover state - show gradient */
.glow-input:hover .glow-border::before {
  opacity: 0.6;
  animation: borderRotate 4s linear infinite;
}

.glow-input:hover .glow-border {
  border-color: transparent;
  /* Hide base border when glowing */
}

/* Focus state - bright gradient */
.glow-input:focus-within .glow-border::before {
  opacity: 1;
  animation: borderRotate 3s linear infinite;
}

.glow-input:focus-within .glow-border {
  border-color: transparent;
}

@keyframes borderRotate {
  from {
    transform: translate(-50%, -50%) rotate(0deg);
  }

  to {
    transform: translate(-50%, -50%) rotate(360deg);
  }
}

/* Inner mask (Background) */
.glow-input::after {
  content: "";
  position: absolute;
  inset: 2px;
  /* Creates the border width */
  background: #010205;
  border-radius: 13px;
  /* Slightly smaller radius for inner mask */
  z-index: 2;
  pointer-events: none;
}

/* Outer glow blur effect (The fuzzy glow outside) */
.glow-input:focus-within::before {
  content: "";
  position: absolute;
  inset: -2px;
  background: inherit;
  /* Fallback */
  background: linear-gradient(45deg, #01e4e4, #00ff66);
  filter: blur(15px);
  border-radius: 21px;
  z-index: -1;
  /* Behind everything */
  opacity: 0.4;
}

/* Textarea variant */
.glow-input-textarea {
  width: 100%;
}

.glow-input-textarea::after {
  inset: 2px;
}

/* Premium Glowing Input Wrapper - The Input Itself */
.cf-contact-form-field {
  height: 56px !important;
  padding: 14px 20px !important;
  background: transparent !important;
  /* MUST be transparent to show glow */
  border: none !important;
  border-radius: 13px;
  color: #fff !important;
  width: 100%;
  flex: 1;
  min-width: 0;
  box-sizing: border-box;
  font-size: 16px;
  position: relative;
  z-index: 2;
  /* Sits on top of the mask */
  transition: all 0.4s ease;
}

/* Glowing Border Container - applies to wrapper divs */
.cf-fields-contain>input,
.cf-fields-contain>.email-field-wrapper,
.cf-fields-contain>div {
  position: relative;
  flex: 1;
  min-width: 0;
}

/* Premium Input Field Base Styles with Animated Glow */
.cf-contact-form-field {
  background: rgba(5, 5, 12, 0.98) !important;
  border: 1px solid rgba(255, 255, 255, 0.06) !important;
  border-radius: 13px;
  color: #fff !important;
  font-size: 16px;
  transition: all 0.3s ease;
}

.cf-contact-form-field:hover {
  background: transparent !important;
  border: none !important;
}

.cf-contact-form-field:focus {
  outline: none;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

/* Fix Autocomplete Background to match */
.cf-contact-form-field:-webkit-autofill,
.cf-contact-form-field:-webkit-autofill:hover,
.cf-contact-form-field:-webkit-autofill:focus,
.cf-contact-form-field:-webkit-autofill:active {
  -webkit-box-shadow: 0 0 0 30px #010205 inset !important;
  -webkit-text-fill-color: white !important;
  z-index: 3;
  transition: background-color 5000s ease-in-out 0s;
}

.cf-contact-form-field::placeholder {
  color: rgba(160, 160, 175, 0.5) !important;
  font-weight: 400;
}

/* Textarea specific */
.cf-contact-form-field.message {
  height: 120px !important;
  resize: none;
  padding-bottom: 30px !important;
}

/* Ensure email wrapper takes full width available in flex container */
.email-field-wrapper {
  flex: 1;
  width: auto;
  /* Let flex handle width */
  min-width: 0;
}

/* Specific fix for the inputs inside the flex container to ensure strict 50/50 split or equal share */
.cf-fields-contain>input,
.cf-fields-contain>.email-field-wrapper {
  flex: 1 !important;
  width: 50% !important;
  /* Fallback/Constraint */
}

@media (max-width: 768px) {
  .form-trust-bar {
    flex-direction: column;
    gap: 15px;
    align-items: center;
  }

  .trust-item {
    font-size: 13px;
  }

  .cf-checkbox-container {
    gap: 10px;
  }

  .cf-checkbox-field {
    padding: 12px 20px;
  }

  .cf-contact-form-field {
    height: 56px;
    font-size: 16px;
    padding: 16px 20px;
  }

  .cf-contact-form-field.message {
    height: 140px;
  }

  .premium-submit {
    width: 100%;
    min-width: unset;
    padding: 16px 30px;
    font-size: 16px;
  }

  .enhanced-success {
    padding: 40px 25px !important;
  }

  .success-icon {
    font-size: 50px;
  }

  .success-content h3 {
    font-size: 24px;
  }

  .success-details {
    padding: 15px 20px;
  }
}

/* ============================================
   CONTACT MODAL STYLES
   ============================================ */

/* Modal Overlay */
.contact-modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.85);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  z-index: 100000;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s ease;
  padding: 20px;
  box-sizing: border-box;
}

.contact-modal-overlay.active {
  opacity: 1;
  visibility: visible;
}

/* Modal Container */
.contact-modal {
  background: rgba(15, 15, 20, 0.95);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 21px;
  max-width: 700px;
  width: 100%;
  max-height: 90vh;
  overflow-y: auto;
  position: relative;
  padding: 40px;
  box-shadow: 0 25px 80px rgba(0, 0, 0, 0.5), 0 0 40px rgba(1, 228, 228, 0.1);
  transform: translateY(30px) scale(0.95);
  transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.contact-modal-overlay.active .contact-modal {
  transform: translateY(0) scale(1);
}

/* Scrollbar styling for modal */
.contact-modal::-webkit-scrollbar {
  width: 6px;
}

.contact-modal::-webkit-scrollbar-track {
  background: rgba(255, 255, 255, 0.05);
  border-radius: 3px;
}

.contact-modal::-webkit-scrollbar-thumb {
  background: var(--color-primary);
  border-radius: 3px;
}

/* Close Button */
.modal-close-btn {
  position: absolute;
  top: 20px;
  right: 20px;
  width: 40px;
  height: 40px;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.05);
  color: #fff;
  font-size: 18px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
  z-index: 10;
}

.modal-close-btn:hover {
  background: var(--color-primary);
  border-color: var(--color-primary);
  color: #000;
  transform: rotate(90deg);
}

/* Modal Header */
.modal-header {
  text-align: center;
  margin-bottom: 30px;
}

.modal-title {
  font-size: 28px;
  font-weight: 700;
  margin: 0 0 10px 0;
  color: #fff;
}

.modal-subtitle {
  color: rgba(255, 255, 255, 0.7);
  font-size: 16px;
  margin: 0;
}

/* Trust Bar */
.modal-trust-bar {
  display: flex;
  justify-content: center;
  gap: 30px;
  margin-bottom: 30px;
  padding: 15px;
  background: rgba(102, 204, 121, 0.1);
  border: 1px solid rgba(102, 204, 121, 0.2);
  border-radius: 13px;
  flex-wrap: wrap;
}

.modal-trust-bar .trust-item {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: rgba(255, 255, 255, 0.8);
}

.modal-trust-bar .trust-item i {
  color: var(--ys-green, #00ff88);
}

/* Form Sections */
.modal-form-section {
  margin-bottom: 25px;
}

.modal-section-label {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 13px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: #fff;
  margin-bottom: 15px;
}

.modal-section-label i {
  color: var(--ys-green, #00ff88);
}

.modal-section-label .label-hint {
  font-weight: 400;
  font-size: 12px;
  color: rgba(255, 255, 255, 0.5);
  text-transform: none;
}

/* Checkbox Grid */
.modal-checkbox-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
}

.modal-checkbox {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 18px;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 13px;
  cursor: pointer;
  transition: all 0.3s ease;
  position: relative;
}

.modal-checkbox:hover {
  background: rgba(255, 255, 255, 0.06);
  border-color: rgba(255, 255, 255, 0.2);
}

.modal-checkbox.checked,
.modal-checkbox:has(input:checked) {
  background: linear-gradient(135deg, rgba(35, 186, 209, 0.15), rgba(113, 208, 145, 0.15));
  border-color: var(--ys-green, #00ff88);
  box-shadow: 0 0 15px rgba(35, 186, 209, 0.3);
}

.modal-checkbox input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

/* Checkbox custom indicator removed - using highlight-only selection style */
.checkbox-custom {
  display: none;
  /* Hidden - selection indicated by container highlight only */
}

.checkbox-label {
  font-size: 14px;
  color: rgba(255, 255, 255, 0.9);
}

/* Form Inputs */
.modal-form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 15px;
  margin-bottom: 15px;
}

@media (max-width: 768px) {
  .modal-form-row {
    grid-template-columns: 1fr;
    gap: 10px;
  }
}

.modal-input,
.modal-textarea {
  width: 100%;
  padding: 16px 20px;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 13px;
  color: #fff;
  font-size: 15px;
  font-family: inherit;
  transition: all 0.3s ease;
  box-sizing: border-box;
}

.modal-input:focus,
.modal-textarea:focus {
  outline: none;
  border-color: var(--color-primary);
  background: rgba(255, 255, 255, 0.08);
  box-shadow: 0 0 15px rgba(1, 228, 228, 0.15);
}

.modal-input::placeholder,
.modal-textarea::placeholder {
  color: rgba(255, 255, 255, 0.4);
}

.modal-textarea {
  min-height: 120px;
  resize: vertical;
}

/* Radio Grid (Budget) */
.modal-radio-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.modal-radio {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 20px;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 13px;
  cursor: pointer;
  transition: all 0.3s ease;
  position: relative;
}

.modal-radio:hover {
  background: rgba(255, 255, 255, 0.06);
  border-color: rgba(255, 255, 255, 0.2);
}

.modal-radio.checked,
.modal-radio:has(input:checked) {
  background: linear-gradient(135deg, rgba(35, 186, 209, 0.15), rgba(113, 208, 145, 0.15));
  border-color: var(--ys-green, #00ff88);
  box-shadow: 0 0 15px rgba(35, 186, 209, 0.3);
}

.modal-radio input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

/* Radio custom indicator removed - using highlight-only selection style */
.radio-custom {
  display: none;
  /* Hidden - selection indicated by container highlight only */
}

.radio-label {
  font-size: 14px;
  color: rgba(255, 255, 255, 0.9);
}

/* Submit Button */
.modal-submit-wrapper {
  text-align: center;
  margin-top: 30px;
}

.modal-submit-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 18px 50px;
  /* Match the site-wide primary button gradient (design-system.css .ds-btn-primary) */
  background: linear-gradient(135deg, var(--ys-green, #00ff88) 0%, var(--ys-green-warm, #2dffa6) 100%);
  border: none;
  border-radius: 50px;
  color: #000;
  font-size: 16px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  cursor: pointer;
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
}

.modal-submit-btn:hover {
  transform: translateY(-3px);
  box-shadow: 0 15px 40px rgba(102, 204, 121, 0.4);
}

.modal-submit-btn:disabled {
  opacity: 0.7;
  cursor: not-allowed;
  transform: none;
}

.modal-submit-btn .btn-arrow {
  transition: transform 0.3s ease;
}

.modal-submit-btn:hover .btn-arrow {
  transform: translateX(5px);
}

.modal-guarantee {
  margin-top: 15px;
  font-size: 13px;
  color: rgba(255, 255, 255, 0.5);
}

.modal-guarantee i {
  margin-right: 5px;
  color: var(--ys-green, #00ff88);
}

/* Success Message */
.modal-success {
  text-align: center;
  padding: 40px 20px;
  animation: modalFadeIn 0.4s ease forwards;
}

.modal-success .success-icon {
  font-size: 60px;
  color: var(--ys-green, #00ff88);
  margin-bottom: 20px;
}

.modal-success h3 {
  font-size: 28px;
  margin: 0 0 10px 0;
  color: #fff;
}

.modal-success p {
  color: rgba(255, 255, 255, 0.7);
  margin-bottom: 25px;
}

.modal-success .success-details {
  background: rgba(102, 204, 121, 0.1);
  border: 1px solid rgba(102, 204, 121, 0.2);
  border-radius: 13px;
  padding: 20px;
  margin-bottom: 25px;
}

.modal-success .success-details p {
  margin: 10px 0;
  font-size: 14px;
}

.modal-success .success-details i {
  color: var(--ys-green, #00ff88);
  margin-right: 8px;
}

.modal-close-success {
  padding: 14px 40px;
  background: transparent;
  border: 1px solid rgba(255, 255, 255, 0.3);
  border-radius: 50px;
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
}

.modal-close-success:hover {
  background: rgba(255, 255, 255, 0.1);
  border-color: #fff;
}

/* Error Message */
.modal-error {
  text-align: center;
  padding: 40px 20px;
  animation: modalFadeIn 0.4s ease forwards;
}

.modal-error .error-icon {
  font-size: 50px;
  color: #ff5e69;
  margin-bottom: 20px;
}

.modal-error p {
  color: rgba(255, 255, 255, 0.8);
  margin: 10px 0;
}

.modal-error .error-help {
  font-size: 14px;
  color: rgba(255, 255, 255, 0.6);
}

.modal-error .error-help a {
  color: var(--color-primary);
}

.modal-retry-btn {
  margin-top: 20px;
  padding: 14px 40px;
  background: var(--color-primary);
  border: none;
  border-radius: 50px;
  color: #000;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
}

.modal-retry-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 30px rgba(1, 228, 228, 0.3);
}

@keyframes modalFadeIn {
  from {
    opacity: 0;
    transform: translateY(20px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Modal Responsive Styles */
@media (max-width: 768px) {
  .contact-modal {
    padding: 30px 20px;
    max-height: 95vh;
  }

  .modal-title {
    font-size: 22px;
    padding-right: 40px;
  }

  .modal-trust-bar {
    flex-direction: column;
    gap: 10px;
    padding: 12px;
  }

  .modal-checkbox-grid {
    grid-template-columns: 1fr;
  }

  .modal-form-row {
    grid-template-columns: 1fr;
  }

  .modal-radio-grid {
    flex-direction: column;
  }

  .modal-submit-btn {
    width: 100%;
    padding: 16px 30px;
  }

  .modal-close-btn {
    top: 15px;
    right: 15px;
    width: 35px;
    height: 35px;
    font-size: 16px;
  }
}

/* ============================================
   WHATSAPP FLOATING BUTTON
   ============================================ */
.whatsapp-float {
  position: fixed;
  bottom: 30px;
  right: 30px;
  width: 60px;
  height: 60px;
  background: linear-gradient(135deg, #25d366 0%, #128c7e 100%);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 9998;
  box-shadow: 0 4px 20px rgba(37, 211, 102, 0.4);
  transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  text-decoration: none;
}

.whatsapp-float:hover {
  transform: scale(1.1) translateY(-5px);
  box-shadow: 0 8px 30px rgba(37, 211, 102, 0.6);
}

.whatsapp-float i {
  color: #fff;
  font-size: 28px;
}

.whatsapp-float::before {
  content: '';
  position: absolute;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background: rgba(37, 211, 102, 0.4);
  animation: whatsapp-pulse 2s infinite;
  z-index: -1;
}

@keyframes whatsapp-pulse {
  0% {
    transform: scale(1);
    opacity: 1;
  }

  100% {
    transform: scale(1.5);
    opacity: 0;
  }
}

.whatsapp-tooltip {
  position: absolute;
  right: 70px;
  background: rgba(0, 0, 0, 0.8);
  color: #fff;
  padding: 8px 16px;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 500;
  white-space: nowrap;
  opacity: 0;
  pointer-events: none;
  transition: all 0.3s ease;
  transform: translateX(10px);
}

.whatsapp-float:hover .whatsapp-tooltip {
  opacity: 1;
  transform: translateX(0);
}

@media (max-width: 768px) {
  .whatsapp-float {
    bottom: 20px;
    right: 20px;
    width: 55px;
    height: 55px;
  }

  .whatsapp-float i {
    font-size: 24px;
  }

  .whatsapp-tooltip {
    display: none;
  }
}

/* ============================================
   CONTACT SECTION LAYOUT
   ============================================ */
.contact-section {
  padding: var(--space-xl) 0;
}

.contact-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  align-items: start;
}

.contact-info-column,
.contact-form-column {
  width: 100%;
}

.glass-input {
  border-radius: 13px;
  padding: 14px 18px;
}

.glass-input::placeholder {
  color: rgba(255, 255, 255, 0.5);
}

/* ============================================
   CONTACT FORM FIXES
   ============================================ */

/* Service & Budget Selection Highlighting */
.cf-checkbox-field {
  transition: all 0.3s ease;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 8px;
  padding: 12px 16px;
  /* Ensure comfortably clickable area */
  background: rgba(255, 255, 255, 0.02);
  /* Subtle pill background */
}

.cf-checkbox-field:hover {
  background: rgba(255, 255, 255, 0.05);
  border-color: rgba(1, 228, 228, 0.5);
}

.cf-checkbox-field.selected {
  background-color: rgba(1, 228, 228, 0.15) !important;
  border-color: var(--color-primary) !important;
  box-shadow: 0 0 15px rgba(1, 228, 228, 0.2);
}

.cf-checkbox-field.selected .cf-checkbox-label {
  color: #fff;
  font-weight: 600;
  text-shadow: 0 0 10px rgba(1, 228, 228, 0.5);
}

/* Fix Input Field Legibility */
.cf-contact-form-field {
  color: #ffffff !important;
  background-color: rgba(255, 255, 255, 0.05) !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  transition: all 0.3s ease;
}

.cf-contact-form-field:focus {
  background-color: rgba(255, 255, 255, 0.1) !important;
  border-color: var(--color-primary) !important;
  outline: none;
  box-shadow: 0 0 10px rgba(1, 228, 228, 0.2);
}

.cf-contact-form-field::placeholder {
  color: rgba(255, 255, 255, 0.6) !important;
}

/* Fix Autocomplete Background (Chrome/Edge) */
.cf-contact-form-field:-webkit-autofill,
.cf-contact-form-field:-webkit-autofill:hover,
.cf-contact-form-field:-webkit-autofill:focus,
.cf-contact-form-field:-webkit-autofill:active {
  -webkit-box-shadow: 0 0 0 30px #0a0a10 inset !important;
  -webkit-text-fill-color: white !important;
  transition: background-color 5000s ease-in-out 0s;
}

/* ============================================
   ACCESSIBILITY: Skip to Content Link
   ============================================ */
.skip-to-content {
  position: absolute;
  top: -100px;
  left: 50%;
  transform: translateX(-50%);
  background: var(--color-primary);
  color: #000;
  padding: 12px 24px;
  border-radius: 0 0 12px 12px;
  font-weight: 600;
  z-index: 9999999;
  transition: top 0.3s ease;
  text-decoration: none;
}

.skip-to-content:focus {
  top: 0;
  outline: 3px solid #fff;
  outline-offset: 2px;
}

/* ============================================
   FAQ SECTION STYLES
   ============================================ */
.faq-section {
  padding: var(--space-xl) 0;
  background: linear-gradient(180deg, #0a0a0f 0%, #050505 100%);
}

.faq-grid {
  display: grid;
  gap: 16px;
  max-width: 900px;
  margin: 0 auto;
}

.faq-item {
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 21px;
  overflow: hidden;
  transition: all 0.3s ease;
}

.faq-item:hover {
  border-color: rgba(1, 228, 228, 0.3);
}

.faq-question {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 24px 28px;
  cursor: pointer;
  background: transparent;
  border: none;
  width: 100%;
  text-align: left;
  color: #fff;
  font-size: 1.1rem;
  font-weight: 600;
  transition: all 0.3s ease;
}

.faq-question:hover {
  color: var(--color-primary);
}

.faq-question i {
  font-size: 0.9rem;
  color: var(--color-primary);
  transition: transform 0.3s ease;
}

.faq-item.active .faq-question i {
  transform: rotate(180deg);
}

.faq-answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s ease, padding 0.3s ease;
}

.faq-item.active .faq-answer {
  max-height: 500px;
}

.faq-answer-content {
  padding: 0 28px 24px;
  color: rgba(255, 255, 255, 0.7);
  line-height: 1.7;
}

/* ============================================
   SOCIAL PROOF COUNTERS
   ============================================ */
.social-proof-bar {
  display: flex;
  justify-content: center;
  gap: 60px;
  padding: 40px 20px;
  background: rgba(1, 228, 228, 0.03);
  border-top: 1px solid rgba(255, 255, 255, 0.05);
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
  flex-wrap: wrap;
}

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

.proof-number {
  font-size: 2.5rem;
  font-weight: 800;
  color: var(--color-primary);
  display: block;
  line-height: 1;
  margin-bottom: 8px;
}

.proof-label {
  font-size: 0.9rem;
  color: rgba(255, 255, 255, 0.6);
  text-transform: uppercase;
  letter-spacing: 1px;
}

@media (max-width: 768px) {
  .social-proof-bar {
    gap: 30px;
  }

  .proof-number {
    font-size: 2rem;
  }
}

/* ============================================
   BREADCRUMB NAVIGATION
   ============================================ */
.breadcrumb-nav {
  padding: 16px 0;
  background: rgba(10, 10, 15, 0.95);
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

.breadcrumb-list {
  display: flex;
  align-items: center;
  gap: 8px;
  list-style: none;
  margin: 0;
  padding: 0;
  font-size: 0.9rem;
}

.breadcrumb-list li {
  display: flex;
  align-items: center;
  gap: 8px;
  color: rgba(255, 255, 255, 0.5);
}

.breadcrumb-list li::after {
  content: '/';
  color: rgba(255, 255, 255, 0.3);
  margin-left: 4px;
}

.breadcrumb-list li:last-child::after {
  display: none;
}

.breadcrumb-list li a {
  color: rgba(255, 255, 255, 0.7);
  text-decoration: none;
  transition: color 0.3s ease;
}

.breadcrumb-list li a:hover {
  color: var(--color-primary);
}

.breadcrumb-list li:last-child span {
  color: var(--color-primary);
}



/* ============================================
   SAFETY VISUALIZATION & MOBILE TEXT FIXES
   ============================================ */
@media (max-width: 480px) {

  /* Fix Safety Visualization Box */
  .solution-benefit {
    padding: 15px !important;
    width: 100%;
    box-sizing: border-box;
  }

  .solution-benefit h3 {
    font-size: 1.1rem !important;
    /* Smaller size for mobile */
    line-height: 1.3;
    margin-bottom: 10px;
    white-space: normal !important;
    overflow-wrap: break-word;
    word-wrap: break-word;
    hyphens: auto;
  }

  /* Specific fix for "Safety Visualization" if it breaks awkwardly */
  .solution-benefit h3:contains("Safety Visualization") {
    font-size: 1rem !important;
  }

  /* Ensure Bento content doesn't overflow */
  .bento-card {
    padding: var(--space-md) !important;
  }

  .bento-description {
    font-size: 0.9rem !important;
  }
}

/* ============================================
   CROSS-DEVICE UX/UI FIXES (2026)
   ============================================ */

/* === 1. ACCESSIBILITY: Reduced Motion === */
@media (prefers-reduced-motion: reduce) {

  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

/* === 2. MODERN VIEWPORT HEIGHT (Mobile Safari Fix) === */
.hero-section {
  height: 100vh;
  height: 100dvh;
  /* Dynamic viewport height - respects mobile browser chrome */
}

#mobile-premium-overlay {
  height: 100vh;
  height: 100dvh;
}

.w-nav-menu {
  height: 100vh;
  height: 100dvh;
}

/* === 3. BROWSER-SPECIFIC FIXES === */

/* Safari Flexbox Fix */
@supports (-webkit-touch-callout: none) {
  .hero-buttons {
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
  }

  .bento-grid {
    display: -webkit-box;
    display: -webkit-flex;
    display: grid;
  }
}

/* Firefox Backdrop Filter Fallback */
@supports not (backdrop-filter: blur(20px)) {

  .navigation-bar,
  .w-dropdown-list,
  #mobile-premium-overlay,
  .w-nav-menu {
    background: rgba(5, 5, 8, 0.98) !important;
  }

  .glass-panel,
  .glass-card {
    background: rgba(20, 20, 25, 0.95) !important;
  }
}

/* === 4. FORM AUTOFILL VISIBILITY (All Browsers) === */
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active,
textarea:-webkit-autofill,
select:-webkit-autofill {
  -webkit-box-shadow: 0 0 0 30px rgba(10, 10, 15, 0.95) inset !important;
  -webkit-text-fill-color: white !important;
  caret-color: white !important;
  transition: background-color 5000s ease-in-out 0s;
}

/* Firefox autofill */
@-moz-document url-prefix() {

  input:-moz-autofill,
  textarea:-moz-autofill,
  select:-moz-autofill {
    background-color: rgba(10, 10, 15, 0.95) !important;
    color: white !important;
  }
}

/* === 5. SLIDER TOUCH IMPROVEMENTS === */
.modern-services-slider {
  -webkit-overflow-scrolling: touch;
  scroll-behavior: smooth;
}

@media (pointer: coarse) {
  .modern-services-slider {
    scroll-snap-type: x mandatory;
  }

  .modern-slide {
    scroll-snap-align: start;
  }
}

/* === 6. TOUCH TARGET FIXES (44px minimum) === */
@media (max-width: 767px) {
  .faq-question {
    min-height: 48px;
    padding: 16px 20px;
  }

  .slider-button {
    min-width: 48px;
    min-height: 48px;
    padding: 12px 24px;
  }

  .pagination-dot {
    width: 14px;
    height: 14px;
    padding: 8px;
    box-sizing: content-box;
  }

  .btn-primary,
  .btn-hollow {
    min-height: 48px;
    padding: 14px 32px;
  }

  .w-dropdown-link {
    min-height: 44px;
    padding: 14px 20px;
    display: flex;
    align-items: center;
  }

  .mobile-sub-link {
    min-height: 44px;
    padding: 14px 20px;
    display: flex;
    align-items: center;
    justify-content: center;
  }
}

/* === 7. HERO CONTENT SMALL SCREEN FIX === */
@media (max-width: 380px) {
  .hero-heading {
    font-size: 1.75rem !important;
    line-height: 1.2;
  }

  .hero-subheading {
    font-size: 1rem !important;
  }

  .hero-buttons {
    flex-direction: column;
    gap: 12px;
    width: 100%;
    padding: 0 10px;
  }

  .hero-buttons .btn-primary,
  .hero-buttons .btn-hollow {
    width: 100%;
    text-align: center;
    padding: 14px 20px;
  }

  .sexy-heading {
    font-size: 2rem !important;
  }
}

/* === 8. WHATSAPP BUTTON + MOBILE CTA FIX === */
@media (max-width: 767px) {

  /* Move WhatsApp button above the sticky CTA */
  .whatsapp-float {
    bottom: 80px;
  }

  /* Ensure mobile sticky CTA has proper spacing */
  .mobile-sticky-cta {
    padding-bottom: calc(15px + env(safe-area-inset-bottom, 0px));
  }
}

@media (min-width: 768px) {
  .whatsapp-float {
    bottom: 30px;
  }
}

/* === 9. PROCESS TABS MOBILE SCROLL FIX === */
@media (max-width: 768px) {
  .process-tab-buttons {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    -ms-overflow-style: none;
    padding-bottom: 10px;
    gap: 8px;
    justify-content: flex-start;
  }

  .process-tab-buttons::-webkit-scrollbar {
    display: none;
  }

  .process-tab-btn {
    flex-shrink: 0;
    white-space: nowrap;
    padding: 10px 18px;
    font-size: 0.8rem;
  }
}

/* === 10. CONTACT GRID MOBILE FIX === */
/* Stack at <=980px so tablets and large/landscape phones give the form full
   width with the title + info stacked above it (not squeezed to the right). */
@media (max-width: 980px) {
  .contact-grid {
    display: flex;
    flex-direction: column;
    gap: 30px;
  }

  .contact-info-column,
  .contact-form-column {
    width: 100%;
  }

  .contact-details.glass-panel,
  .form-wrapper.glass-panel {
    padding: 25px !important;
  }
}

/* === 11. BENTO GRID VERY SMALL SCREENS === */
@media (max-width: 380px) {
  .bento-grid {
    gap: 12px;
    padding: 12px;
  }

  .bento-card {
    padding: 20px !important;
  }

  .bento-stat {
    font-size: 2.5rem;
  }

  .bento-title {
    font-size: 1.1rem;
  }
}

/* === 12. NAVIGATION SAFE AREA (iPhone notch/home indicator) === */
@supports (padding-bottom: env(safe-area-inset-bottom)) {
  .mobile-sticky-cta {
    padding-bottom: calc(15px + env(safe-area-inset-bottom));
  }

  #mobile-premium-overlay {
    padding-bottom: env(safe-area-inset-bottom);
  }

  .footer {
    padding-bottom: calc(40px + env(safe-area-inset-bottom));
  }
}

/* === 13. DROPDOWN TOUCH DEVICE IMPROVEMENTS === */
@media (pointer: coarse) {
  .w-dropdown-list {
    /* Remove hover delay on touch devices */
    transition-delay: 0s !important;
  }

  .w-dropdown-toggle {
    /* Larger touch area */
    min-height: 44px;
  }
}
/* ============================================================
   KEYBOARD FOCUS & TOUCH TARGETS
   Two gaps found in the interaction audit:
   1. Almost nothing had a visible focus state, so keyboard users could not
      see where they were on the page.
   2. Footer/utility links rendered ~25-33px tall on phones, under the 44px
      minimum for a comfortable tap target.
   :focus-visible is used throughout so mouse users never see a ring.
   ============================================================ */

:focus-visible {
  outline: 2px solid var(--ys-green, #00ff88);
  outline-offset: 3px;
  border-radius: 3px;
}

a:focus-visible,
button:focus-visible,
[role="button"]:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible,
[tabindex]:not([tabindex="-1"]):focus-visible {
  outline: 2px solid var(--ys-green, #00ff88);
  outline-offset: 3px;
}

/* Inputs already draw their own green ring; keep it, just make it unmistakable. */
.modal-input:focus-visible,
.modal-textarea:focus-visible,
.modal-select:focus-visible {
  outline: 2px solid var(--ys-green, #00ff88);
  outline-offset: 1px;
}

/* Never remove the ring for keyboard users, whatever a component sets. */
*:focus-visible {
  outline-color: var(--ys-green, #00ff88);
}

@media (max-width: 768px) {
  /* Footer navigation: 0.9375rem/1.7 + 4px padding lands at ~33px. */
  .ys-footer-col a,
  .footer-links a,
  .footer-column a {
    padding: 10px 0 !important;
    min-height: 44px;
    display: flex;
    align-items: center;
  }

  .ys-footer-social a {
    min-width: 44px;
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }

  /* Small inline CTAs that sat at 18-25px tall. */
  .ys-portfolio-teaser .view-all,
  .view-all,
  .share-btn,
  .btn-wa {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
  }

  .share-btn {
    min-width: 44px;
    justify-content: center;
  }

  .filter-pill,
  .topic-card {
    min-height: 44px;
  }
}

/* ============================================================
   RANGE SLIDERS (ROI calculator)
   These had no styling at all, so they rendered as a ~4px default track:
   effectively impossible to grab on a touchscreen. Give them a real track,
   a large thumb, and a comfortable hit area.
   ============================================================ */
input[type="range"] {
  -webkit-appearance: none;
  appearance: none;
  width: 100%;
  height: 28px;                 /* hit area; the visible track is drawn below */
  background: transparent;
  cursor: pointer;
  margin: 6px 0;
}

input[type="range"]::-webkit-slider-runnable-track {
  height: 6px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.08);
}
input[type="range"]::-moz-range-track {
  height: 6px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.08);
}

input[type="range"]::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 22px;
  height: 22px;
  margin-top: -9px;             /* centres the thumb on a 6px track */
  border-radius: 50%;
  background: var(--ys-green, #00ff88);
  border: 2px solid #04140d;
  box-shadow: 0 2px 10px rgba(0, 255, 136, 0.45);
  transition: transform .15s ease, box-shadow .15s ease;
}
input[type="range"]::-moz-range-thumb {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: var(--ys-green, #00ff88);
  border: 2px solid #04140d;
  box-shadow: 0 2px 10px rgba(0, 255, 136, 0.45);
  transition: transform .15s ease, box-shadow .15s ease;
}

input[type="range"]:hover::-webkit-slider-thumb,
input[type="range"]:active::-webkit-slider-thumb { transform: scale(1.15); }
input[type="range"]:hover::-moz-range-thumb,
input[type="range"]:active::-moz-range-thumb { transform: scale(1.15); }

input[type="range"]:focus-visible::-webkit-slider-thumb {
  box-shadow: 0 0 0 4px rgba(0, 255, 136, 0.3), 0 2px 10px rgba(0, 255, 136, 0.45);
}
input[type="range"]:focus-visible::-moz-range-thumb {
  box-shadow: 0 0 0 4px rgba(0, 255, 136, 0.3), 0 2px 10px rgba(0, 255, 136, 0.45);
}

@media (max-width: 768px) {
  /* Bigger thumb and taller hit area for thumbs-on-glass. */
  input[type="range"] { height: 44px; }
  input[type="range"]::-webkit-slider-thumb { width: 28px; height: 28px; margin-top: -12px; }
  input[type="range"]::-moz-range-thumb { width: 28px; height: 28px; }

  /* Remaining sub-44px targets found in the interaction audit. */
  .ys-footer-legal a,
  .contact-item a,
  .contact-details a {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
  }

  .scroll-indicator { min-width: 44px; }
}

/* ===== navigation.css ===== */
/* ============================================================
   YOUSEE360 - NAVIGATION SYSTEM
   Complete, standalone navigation styles
   Mobile-first responsive design
   ============================================================ */

/* ============================================================
   CSS VARIABLES
   ============================================================ */
:root {
    /* Navigation specific colors */
    --nav-bg: rgba(10, 10, 15, 0.85);
    --nav-bg-solid: rgba(5, 5, 8, 0.95);
    --nav-text: rgba(255, 255, 255, 0.9);
    --nav-text-muted: rgba(255, 255, 255, 0.7);
    --nav-primary: #01e4e4;
    --nav-secondary: #00ff66;
    --nav-border: rgba(255, 255, 255, 0.1);
    --nav-hover-bg: rgba(255, 255, 255, 0.08);

    /* Timing */
    --nav-transition: 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    --nav-transition-fast: 0.2s ease;

    /* Sizes */
    --nav-height: 80px;
    --nav-height-mobile: 70px;
    --nav-blur: 20px;
}

/* ============================================================
   NAVIGATION BAR - BASE
   ============================================================ */
.navigation-bar,
.navigation-bar.w-nav {
    position: fixed !important;
    top: 0;
    left: 0;
    right: 0;
    width: 100% !important;
    max-width: 100% !important;
    height: var(--nav-height-mobile);
    z-index: 99999 !important;

    /* Glass effect */
    background: var(--nav-bg) !important;
    backdrop-filter: blur(var(--nav-blur)) saturate(180%);
    -webkit-backdrop-filter: blur(var(--nav-blur)) saturate(180%);

    /* Border */
    border: none !important;
    border-bottom: 1px solid var(--nav-border) !important;
    border-radius: 0 !important;

    /* Shadow */
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.3);

    /* Layout */
    display: flex !important;
    align-items: center;
    padding: 0 !important;
    margin: 0 !important;

    transition: all var(--nav-transition);
}

/* Scrolled state */
.navigation-bar.scrolled {
    background: var(--nav-bg-solid) !important;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.5);
}

/* ============================================================
   NAV CONTAINER
   ============================================================ */
.nav-cont,
.nav-cont.w-container {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    width: 100% !important;
    max-width: 1400px !important;
    height: 100% !important;
    margin: 0 auto !important;
    padding: 0 24px !important;
    background: transparent !important;
    backdrop-filter: none !important;
    box-shadow: none !important;
    border-radius: 0 !important;
}

/* ============================================================
   LOGO
   ============================================================ */
.logo.f-logo {
    position: relative !important;
    flex-shrink: 0;
    width: 130px !important;
    min-width: 130px !important;
    max-width: 130px !important;
    height: 45px !important;
    min-height: 45px !important;
    max-height: 45px !important;
    margin: 0 !important;
    padding: 0 !important;

    background-image: url('../images/350-x-375-You-see-360-logo-white-for-black-bg-1.png') !important;
    background-size: contain !important;
    background-position: left center !important;
    background-repeat: no-repeat !important;

    transition: transform var(--nav-transition);
    z-index: 100;
}

.logo.f-logo:hover {
    transform: scale(1.05);
}

/* ============================================================
   DESKTOP NAVIGATION MENU (Hidden on Mobile)
   ============================================================ */
.navigation-menu,
.navigation-menu.w-nav-menu {
    display: none !important;
    align-items: center;
    height: 100%;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    position: static !important;
    width: auto !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    transform: none !important;
    overflow: visible !important;
    flex-direction: row !important;
}

/* ============================================================
   NAVIGATION LINKS - BASE
   ============================================================ */
.navigation-link,
.navigation-link.w-nav-link {
    display: flex !important;
    align-items: center;
    font-family: 'Outfit', 'Montserrat', sans-serif !important;
    font-size: 0.9rem !important;
    font-weight: 500 !important;
    color: rgba(255, 255, 255, 0.8) !important;
    letter-spacing: 0.5px;
    padding: 10px 16px !important;
    border-radius: 25px;
    background: transparent !important;
    white-space: nowrap;
    text-decoration: none !important;
    cursor: pointer;
    transition: all 0.3s ease;
}

.navigation-link:hover,
.navigation-link.w-nav-link:hover,
.navigation-link.w--current,
.navigation-link.w-nav-link.w--current {
    color: #fff !important;
    background: var(--nav-hover-bg) !important;
    border-color: rgba(255, 255, 255, 0.15);
    text-shadow: 0 0 10px rgba(255, 255, 255, 0.3);
}

.navigation-link.w--current,
.navigation-link.w-nav-link.w--current {
    color: var(--nav-primary) !important;
    border-color: rgba(1, 228, 228, 0.3);
    background: rgba(1, 228, 228, 0.1) !important;
}

/* ============================================================
   DROPDOWNS - DESKTOP
   ============================================================ */
.w-dropdown {
    position: relative !important;
    display: inline-flex !important;
    align-items: center;
}

.w-dropdown-toggle {
    display: flex !important;
    align-items: center;
    gap: 4px;
    cursor: pointer;
    padding-right: 8px !important;
}

.w-dropdown-toggle>div:first-child {
    order: 1;
}

.w-icon-dropdown-toggle {
    order: 2;
    margin: 0 !important;
    font-size: 0.7em;
    transition: transform var(--nav-transition);
}

.w-dropdown:hover .w-icon-dropdown-toggle,
.w-dropdown.open .w-icon-dropdown-toggle {
    transform: rotate(180deg);
}

/* Dropdown List */
.w-dropdown-list {
    position: absolute !important;
    top: 100% !important;
    left: 50% !important;
    transform: translateX(-50%) translateY(10px) !important;
    min-width: 240px;
    padding: 10px !important;
    margin-top: 10px !important;

    background: rgba(15, 15, 20, 0.95) !important;
    backdrop-filter: blur(25px);
    -webkit-backdrop-filter: blur(25px);
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    border-radius: 21px !important;

    box-shadow:
        0 20px 50px rgba(0, 0, 0, 0.5),
        0 0 0 1px rgba(1, 228, 228, 0.05);

    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: all var(--nav-transition);
    z-index: 1000;
}

/* Show dropdown on hover/open */
.w-dropdown:hover .w-dropdown-list,
.w-dropdown.open .w-dropdown-list,
.w-dropdown-list.w--open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateX(-50%) translateY(0) !important;
}

/* Dropdown Links */
.w-dropdown-link {
    display: block !important;
    padding: 12px 18px !important;
    margin: 2px 0;
    font-family: 'Outfit', 'Montserrat', sans-serif !important;
    font-size: 0.9rem !important;
    font-weight: 500 !important;
    color: var(--nav-text-muted) !important;
    text-decoration: none !important;
    border-radius: 13px;
    transition: all var(--nav-transition-fast);
}

.w-dropdown-link:hover {
    background: var(--nav-primary) !important;
    color: #000 !important;
    transform: translateX(5px);
}

/* ============================================================
   HAMBURGER BUTTON
   ============================================================ */
.hamburger-button,
.hamburger-button.w-nav-button,
.w-nav-button {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    border: none;
    border-radius: 50%;
    cursor: pointer;
    transition: background var(--nav-transition);
    z-index: 100;
}

.hamburger-button:hover {
    background: var(--nav-hover-bg) !important;
}

.w-icon-nav-menu,
.hamburger-button .icon {
    font-size: 28px !important;
    color: var(--nav-primary) !important;
    line-height: 1;
}

/* Hamburger animation when open */
.hamburger-button.is-open .w-icon-nav-menu,
.w-nav-button.w--open .w-icon-nav-menu {
    color: #fff !important;
}

/* ============================================================
   MOBILE MENU OVERLAY
   ============================================================ */
#mobile-nav-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    height: 100dvh;
    /* Dynamic viewport height for mobile */
    z-index: 99998;

    background: rgba(5, 5, 8, 0.98);
    backdrop-filter: blur(40px);
    -webkit-backdrop-filter: blur(40px);

    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    padding: calc(var(--nav-height-mobile) + 20px) 20px 40px;
    box-sizing: border-box;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;

    /* Initial state - hidden */
    opacity: 0;
    visibility: hidden;
    transform: translateY(-20px);
    pointer-events: none;

    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

#mobile-nav-overlay.active {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    pointer-events: auto;
}

/* Hide scrollbar */
#mobile-nav-overlay::-webkit-scrollbar {
    display: none;
}

#mobile-nav-overlay {
    scrollbar-width: none;
}

/* ============================================================
   MOBILE MENU CONTAINER
   ============================================================ */
.mobile-nav-inner {
    width: 100%;
    max-width: 400px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

/* ============================================================
   MOBILE MENU LINKS
   ============================================================ */
.mobile-nav-link {
    display: block;
    font-family: 'Outfit', 'Montserrat', sans-serif;
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--nav-text);
    text-decoration: none;
    text-align: center;
    padding: 16px 20px;
    border-radius: 13px;
    cursor: pointer;

    /* Animation setup */
    opacity: 0;
    transform: translateY(20px);
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.mobile-nav-link:hover,
.mobile-nav-link:active {
    color: var(--nav-primary);
    background: rgba(255, 255, 255, 0.05);
}

#mobile-nav-overlay.active .mobile-nav-link {
    opacity: 1;
    transform: translateY(0);
}

/* Staggered animation delays */
#mobile-nav-overlay.active .mobile-nav-link:nth-child(1) {
    transition-delay: 0.05s;
}

#mobile-nav-overlay.active .mobile-nav-link:nth-child(2) {
    transition-delay: 0.1s;
}

#mobile-nav-overlay.active .mobile-nav-link:nth-child(3) {
    transition-delay: 0.15s;
}

#mobile-nav-overlay.active .mobile-nav-link:nth-child(4) {
    transition-delay: 0.2s;
}

#mobile-nav-overlay.active .mobile-nav-link:nth-child(5) {
    transition-delay: 0.25s;
}

#mobile-nav-overlay.active .mobile-nav-link:nth-child(6) {
    transition-delay: 0.3s;
}

#mobile-nav-overlay.active .mobile-nav-link:nth-child(7) {
    transition-delay: 0.35s;
}

#mobile-nav-overlay.active .mobile-nav-link:nth-child(8) {
    transition-delay: 0.4s;
}

/* ============================================================
   MOBILE ACCORDION (Dropdowns)
   ============================================================ */
.mobile-nav-accordion {
    width: 100%;

    /* Animation setup */
    opacity: 0;
    transform: translateY(20px);
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

#mobile-nav-overlay.active .mobile-nav-accordion {
    opacity: 1;
    transform: translateY(0);
}

.mobile-nav-accordion-header {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    font-family: 'Outfit', 'Montserrat', sans-serif;
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--nav-text);
    text-align: center;
    padding: 16px 20px;
    border-radius: 13px;
    cursor: pointer;
    transition: all var(--nav-transition);
}

.mobile-nav-accordion-header:hover,
.mobile-nav-accordion-header.active {
    color: var(--nav-primary);
    background: rgba(255, 255, 255, 0.05);
}

.mobile-nav-accordion-header i {
    font-size: 0.8em;
    transition: transform var(--nav-transition);
}

.mobile-nav-accordion-header.active i {
    transform: rotate(180deg);
}

/* Accordion Content */
.mobile-nav-accordion-content {
    max-height: 0;
    overflow: hidden;
    background: rgba(255, 255, 255, 0.02);
    border-radius: 13px;
    margin: 0 10px;
    transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.mobile-nav-accordion.open .mobile-nav-accordion-content {
    max-height: 500px;
    /* Enough for all items */
}

.mobile-nav-sublink {
    display: block;
    font-family: 'Outfit', 'Montserrat', sans-serif;
    font-size: 1.1rem;
    font-weight: 500;
    color: var(--nav-text-muted);
    text-decoration: none;
    text-align: center;
    padding: 14px 20px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
    transition: all var(--nav-transition-fast);
}

.mobile-nav-sublink:last-child {
    border-bottom: none;
}

.mobile-nav-sublink:hover,
.mobile-nav-sublink:active {
    color: #fff;
    background: rgba(255, 255, 255, 0.05);
}

/* ============================================================
   MOBILE CTA BUTTON
   ============================================================ */
.mobile-nav-cta {
    display: inline-block;
    margin-top: 24px;
    padding: 18px 40px;

    font-family: 'Outfit', 'Montserrat', sans-serif;
    font-size: 1rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    text-decoration: none;
    text-align: center;

    background: var(--nav-primary);
    color: #000 !important;
    border-radius: 50px;
    box-shadow: 0 10px 30px rgba(1, 228, 228, 0.3);

    /* Animation setup */
    opacity: 0;
    transform: translateY(20px);
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.mobile-nav-cta:hover {
    transform: translateY(-2px);
    box-shadow: 0 15px 40px rgba(1, 228, 228, 0.4);
}

#mobile-nav-overlay.active .mobile-nav-cta {
    opacity: 1;
    transform: translateY(0);
    transition-delay: 0.45s;
}

/* ============================================================
   LANGUAGE SWITCHER
   ============================================================ */
.nav-lang-switch {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 0.85rem !important;
    opacity: 0.7;
}

.nav-lang-switch:hover {
    opacity: 1;
}

.nav-lang-switch i {
    font-size: 0.9em;
}

/* ============================================================
   RESPONSIVE - TABLET (768px - 991px)
   ============================================================ */
@media (min-width: 768px) and (max-width: 991px) {
    .navigation-bar {
        height: 75px;
    }

    .logo.f-logo {
        width: 140px !important;
        height: 48px !important;
    }

    #mobile-nav-overlay {
        padding-top: calc(75px + 30px);
    }

    .mobile-nav-link,
    .mobile-nav-accordion-header {
        font-size: 1.8rem;
    }
}

/* ============================================================
   RESPONSIVE - DESKTOP (992px+)
   ============================================================ */
@media (min-width: 992px) {
    .navigation-bar {
        height: var(--nav-height);
    }

    .logo.f-logo {
        width: 160px !important;
        max-width: 160px !important;
        height: 55px !important;
        max-height: 55px !important;
    }

    /* Show desktop nav */
    .navigation-menu,
    .navigation-menu.w-nav-menu {
        display: flex !important;
    }

    /* Hide hamburger */
    .hamburger-button,
    .hamburger-button.w-nav-button,
    .w-nav-button {
        display: none !important;
    }

    /* Hide mobile overlay on desktop */
    #mobile-nav-overlay {
        display: none !important;
    }

    .nav-cont {
        padding: 0 40px !important;
    }
}

/* ============================================================
   RESPONSIVE - LARGE DESKTOP (1400px+)
   ============================================================ */
@media (min-width: 1400px) {
    .nav-cont {
        max-width: 1600px !important;
        padding: 0 60px !important;
    }

    .navigation-link.w-nav-link {
        font-size: 0.9rem !important;
        padding: 10px 16px !important;
    }
}

/* ============================================================
   SMALL MOBILE (< 480px)
   ============================================================ */
@media (max-width: 479px) {
    .navigation-bar {
        height: 65px;
    }

    .logo.f-logo {
        width: 110px !important;
        min-width: 110px !important;
        height: 40px !important;
    }

    .hamburger-button {
        width: 44px;
        height: 44px;
    }

    .w-icon-nav-menu {
        font-size: 24px !important;
    }

    #mobile-nav-overlay {
        padding-top: calc(65px + 15px);
        padding-left: 15px;
        padding-right: 15px;
    }

    .mobile-nav-link,
    .mobile-nav-accordion-header {
        font-size: 1.3rem;
        padding: 14px 16px;
    }

    .mobile-nav-sublink {
        font-size: 1rem;
        padding: 12px 16px;
    }

    .mobile-nav-cta {
        padding: 16px 32px;
        font-size: 0.9rem;
    }
}

/* ============================================================
   BODY SCROLL LOCK
   ============================================================ */
body.nav-open {
    overflow: hidden !important;
    position: fixed;
    width: 100%;
}

/* ============================================================
   ACCESSIBILITY
   ============================================================ */
.navigation-link:focus,
.w-dropdown-toggle:focus,
.w-dropdown-link:focus,
.hamburger-button:focus,
.mobile-nav-link:focus,
.mobile-nav-accordion-header:focus,
.mobile-nav-sublink:focus {
    outline: 2px solid var(--nav-primary);
    outline-offset: 2px;
}

/* Skip link */
.skip-to-content {
    position: absolute;
    top: -100px;
    left: 50%;
    transform: translateX(-50%);
    padding: 10px 20px;
    background: var(--nav-primary);
    color: #000;
    font-weight: 600;
    border-radius: 0 0 8px 8px;
    z-index: 999999;
    transition: top 0.3s ease;
}

.skip-to-content:focus {
    top: 0;
}

/* ============================================================
   HIDE OLD WEBFLOW MOBILE MENU
   ============================================================ */
@media (max-width: 991px) {

    .w-nav-menu[data-nav-menu-open],
    .w-nav-overlay {
        display: none !important;
    }
}

/* ============================================================
   FIX Z-INDEX STACKING
   ============================================================ */
.hero-section {
    z-index: 1;
}

.section {
    z-index: 5;
}
/* ===== design-system.css ===== */
/* ============================================================
   YOUSEE360 — DESIGN SYSTEM v2
   Loaded AFTER theme.css to override/normalize
   Focus: typography scale, spacing rhythm, section structure
   ============================================================ */

:root {
  /* === TYPE SCALE (clamp-driven, no hard breakpoints) === */
  --fs-display: clamp(3rem, 7vw, 6.25rem);     /* hero h1 — quieter than before */
  --fs-h1:      clamp(2.25rem, 4.5vw, 3.75rem);
  --fs-h2:      clamp(1.75rem, 3vw, 2.75rem);
  --fs-h3:      clamp(1.25rem, 1.6vw, 1.625rem);
  --fs-h4:      1.125rem;
  --fs-body:    1.0625rem;   /* 17px */
  --fs-body-lg: 1.1875rem;
  --fs-small:   0.9375rem;
  --fs-eyebrow: 0.75rem;

  --lh-display: 1.02;
  --lh-heading: 1.12;
  --lh-body:    1.65;

  --tracking-display: -0.035em;
  --tracking-heading: -0.02em;
  --tracking-eyebrow: 0.22em;

  /* === SPACING (8pt scale) === */
  --s-1:   8px;
  --s-2:   16px;
  --s-3:   24px;
  --s-4:   32px;
  --s-5:   48px;
  --s-6:   64px;
  --s-7:   96px;
  --s-8:   128px;
  --s-9:   160px;
  --s-10:  200px;

  /* Section rhythm */
  --section-py: clamp(64px, 10vw, 128px);
  --section-py-lg: clamp(96px, 14vw, 200px);
  --content-max: 1200px;
  --content-max-wide: 1440px;
  --content-max-narrow: 760px;

  /* === COLORS (refined) === */
  --ys-bg:        #06070a;
  --ys-bg-soft:   #0a0c12;
  --ys-bg-card:   #0f1219;
  --ys-bg-elev:   #141823;
  --ys-border:    rgba(255,255,255,0.07);
  --ys-border-strong: rgba(255,255,255,0.14);
  --ys-text:      #ffffff;
  --ys-text-muted:rgba(255,255,255,0.62);
  --ys-text-dim:  rgba(255,255,255,0.42);

  --ys-cyan:    #01e4e4;
  --ys-green:   #00ff88;
  --ys-green-warm: #2dffa6;
  --ys-accent-pink: #ff3da6;

  /* Glow — kept (user likes it) but reserved for accent words */
  --glow-green: 0 0 22px rgba(0, 255, 136, 0.55), 0 0 45px rgba(0, 255, 136, 0.25);
  --glow-cyan:  0 0 22px rgba(1, 228, 228, 0.55);
  --glow-soft:  0 0 12px rgba(0, 255, 136, 0.25);

  /* Easing */
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);

  --radius-sm: 10px;
  --radius:    16px;
  --radius-lg: 24px;
  --radius-xl: 32px;
}

/* ============================================================
   BASE TYPOGRAPHY OVERRIDES
   ============================================================ */
html { font-size: 16px; scroll-behavior: smooth; }

body, .body {
  background: var(--ys-bg) !important;
  color: var(--ys-text) !important;
  font-family: 'Outfit', 'Inter', system-ui, -apple-system, sans-serif !important;
  font-size: var(--fs-body) !important;
  line-height: var(--lh-body) !important;
  font-weight: 400;
  letter-spacing: -0.005em;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

/* Visible to screen readers and search engines, not painted on screen.
   Used to give card grids a proper section heading so the document outline
   never skips a level (h1 -> h3), without changing the visual design. */
.sr-only {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}

h1, h2, h3, h4, h5, h6 {
  font-family: 'Outfit', 'Inter', system-ui, sans-serif;
  font-weight: 700;
  letter-spacing: var(--tracking-heading);
  line-height: var(--lh-heading);
  color: var(--ys-text);
  margin: 0 0 var(--s-3);
}

h1, .h1, .heading, .hero-heading {
  font-size: var(--fs-display) !important;
  line-height: var(--lh-display) !important;
  letter-spacing: var(--tracking-display) !important;
  font-weight: 800 !important;
}

h2, .h2, .section-heading, .heading-2 {
  font-size: var(--fs-h1) !important;
  line-height: var(--lh-heading) !important;
  letter-spacing: var(--tracking-heading) !important;
  font-weight: 800 !important;
}

h3, .h3 { font-size: var(--fs-h2) !important; }
h4, .h4 { font-size: var(--fs-h3) !important; font-weight: 600 !important; }

p, .paragraph, .text-block {
  font-size: var(--fs-body);
  line-height: var(--lh-body);
  color: var(--ys-text-muted);
  margin: 0 0 var(--s-3);
}

a { color: inherit; text-decoration: none; transition: color .25s var(--ease-out); }

/* ============================================================
   ACCENT WORDS — the glow, used sparingly
   ============================================================ */
.glow,
.text-glow,
.accent-glow,
h1 .accent, h2 .accent, h3 .accent,
h1 span.green, h2 span.green {
  color: var(--ys-green) !important;
  text-shadow: var(--glow-green) !important;
  -webkit-text-fill-color: var(--ys-green) !important;
}

.glow-cyan {
  color: var(--ys-cyan) !important;
  text-shadow: var(--glow-cyan) !important;
}

/* Subtle glow for secondary accents */
.glow-soft {
  color: var(--ys-green) !important;
  text-shadow: var(--glow-soft) !important;
}

/* Quiet underline accent — alternative to glow */
.under-accent {
  position: relative;
  display: inline-block;
  color: var(--ys-text);
}
.under-accent::after {
  content: "";
  position: absolute; left: 0; right: 0; bottom: -0.12em;
  height: 0.18em;
  background: linear-gradient(90deg, var(--ys-green) 0%, var(--ys-cyan) 100%);
  border-radius: 3px;
  opacity: 0.85;
  filter: drop-shadow(0 0 8px rgba(0,255,136,0.5));
}

/* ============================================================
   EYEBROW LABELS (replaces all-caps banners)
   ============================================================ */
.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: var(--fs-eyebrow);
  font-weight: 600;
  letter-spacing: var(--tracking-eyebrow);
  text-transform: uppercase;
  color: var(--ys-green);
  margin-bottom: var(--s-3);
  font-family: 'JetBrains Mono', 'Outfit', monospace;
}
.eyebrow::before {
  content: "";
  width: 28px; height: 1px;
  background: var(--ys-green);
  display: inline-block;
  box-shadow: 0 0 8px rgba(0,255,136,0.6);
}

/* ============================================================
   LAYOUT — sections, containers, grid
   ============================================================ */
.ds-section {
  padding: var(--section-py) 0;
  position: relative;
}
.ds-section-lg { padding: var(--section-py-lg) 0; }
.ds-section-sm { padding: var(--s-6) 0; }

.ds-container {
  width: 100%;
  max-width: var(--content-max);
  margin: 0 auto;
  padding: 0 clamp(20px, 4vw, 40px);
}
.ds-container-wide { max-width: var(--content-max-wide); }
.ds-container-narrow { max-width: var(--content-max-narrow); }

.ds-grid {
  display: grid;
  gap: var(--s-4);
}
.ds-grid-2 { grid-template-columns: repeat(2, 1fr); }
.ds-grid-3 { grid-template-columns: repeat(3, 1fr); }
.ds-grid-4 { grid-template-columns: repeat(4, 1fr); }
.ds-grid-golden { grid-template-columns: 1.618fr 1fr; }
.ds-grid-golden-rev { grid-template-columns: 1fr 1.618fr; }

@media (max-width: 900px) {
  .ds-grid-2, .ds-grid-3, .ds-grid-4,
  .ds-grid-golden, .ds-grid-golden-rev { grid-template-columns: 1fr; }
}

/* ============================================================
   CARDS — refined, denser, with subtle gradient + border
   ============================================================ */
.ds-card {
  background: linear-gradient(180deg, rgba(255,255,255,0.025) 0%, rgba(255,255,255,0.005) 100%), var(--ys-bg-card);
  border: 1px solid var(--ys-border);
  border-radius: var(--radius-lg);
  padding: var(--s-5);
  transition: transform .4s var(--ease-out), border-color .4s var(--ease-out), box-shadow .4s var(--ease-out);
  position: relative;
  overflow: hidden;
}
.ds-card:hover {
  transform: translateY(-4px);
  border-color: rgba(0,255,136,0.25);
  box-shadow: 0 30px 60px -20px rgba(0,0,0,0.6), 0 0 0 1px rgba(0,255,136,0.08);
}
.ds-card::before {
  content: "";
  position: absolute; inset: 0;
  background: radial-gradient(600px circle at var(--mx, 50%) var(--my, 0%), rgba(0,255,136,0.06), transparent 40%);
  opacity: 0;
  transition: opacity .4s var(--ease-out);
  pointer-events: none;
}
.ds-card:hover::before { opacity: 1; }

.ds-card .icon-wrap {
  width: 48px; height: 48px;
  border-radius: 13px;
  background: linear-gradient(135deg, rgba(0,255,136,0.18), rgba(1,228,228,0.08));
  display: inline-flex; align-items: center; justify-content: center;
  margin-bottom: var(--s-3);
  color: var(--ys-green);
  font-size: 1.25rem;
  border: 1px solid rgba(0,255,136,0.2);
}

.ds-card h3 {
  font-size: var(--fs-h3) !important;
  margin-bottom: var(--s-2);
  color: var(--ys-text);
}
.ds-card p {
  font-size: var(--fs-small);
  color: var(--ys-text-muted);
  margin: 0;
}

/* ============================================================
   BUTTONS
   ============================================================ */
.ds-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 14px 28px;
  border-radius: 999px;
  font-weight: 600;
  font-size: var(--fs-small);
  letter-spacing: 0.01em;
  transition: transform .25s var(--ease-out), box-shadow .25s var(--ease-out), background .25s var(--ease-out);
  cursor: pointer;
  border: 1px solid transparent;
  text-decoration: none !important;
  white-space: nowrap;
}
.ds-btn-primary {
  background: linear-gradient(135deg, var(--ys-green) 0%, var(--ys-green-warm) 100%);
  color: #001a10 !important;
  box-shadow: 0 8px 24px -8px rgba(0,255,136,0.5), inset 0 1px 0 rgba(255,255,255,0.3);
}
.ds-btn-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 14px 32px -8px rgba(0,255,136,0.7), inset 0 1px 0 rgba(255,255,255,0.4);
}
.ds-btn-ghost {
  background: rgba(255,255,255,0.04);
  border-color: var(--ys-border-strong);
  color: var(--ys-text) !important;
  backdrop-filter: blur(10px);
}
.ds-btn-ghost:hover {
  background: rgba(255,255,255,0.08);
  border-color: rgba(0,255,136,0.4);
}
.ds-btn-arrow::after {
  content: "→";
  transition: transform .25s var(--ease-out);
}
.ds-btn-arrow:hover::after { transform: translateX(4px); }

/* ============================================================
   HERO — quieter, more cinematic
   ============================================================ */
.ds-hero {
  position: relative;
  min-height: 88vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-top: 100px;
  overflow: hidden;
}
.ds-hero-inner {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 1100px;
  padding: 0 clamp(20px, 4vw, 40px);
  text-align: center;
}
.ds-hero h1 {
  margin-bottom: var(--s-3);
}
.ds-hero p.lead {
  font-size: var(--fs-body-lg);
  color: var(--ys-text-muted);
  max-width: 640px;
  margin: 0 auto var(--s-5);
  line-height: 1.55;
}
.ds-hero-ctas {
  display: inline-flex;
  gap: var(--s-2);
  flex-wrap: wrap;
  justify-content: center;
}

/* Hero bg gradient — replaces the constellation when missing */
.ds-hero-bg {
  position: absolute; inset: 0;
  background:
    radial-gradient(900px 500px at 50% 0%, rgba(0,255,136,0.10), transparent 60%),
    radial-gradient(700px 500px at 80% 100%, rgba(1,228,228,0.07), transparent 60%),
    radial-gradient(700px 500px at 20% 100%, rgba(255,61,166,0.05), transparent 60%),
    var(--ys-bg);
  z-index: 0;
}
.ds-hero-bg::after {
  content: "";
  position: absolute; inset: 0;
  background: linear-gradient(180deg, transparent 60%, var(--ys-bg) 100%);
  pointer-events: none;
}

/* ============================================================
   STATS / METRICS ROW
   ============================================================ */
.ds-stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--s-4);
  padding: var(--s-5) 0;
  border-top: 1px solid var(--ys-border);
  border-bottom: 1px solid var(--ys-border);
}
.ds-stat-num {
  font-size: clamp(2rem, 4vw, 3rem);
  font-weight: 800;
  color: var(--ys-green);
  text-shadow: var(--glow-soft);
  line-height: 1;
  letter-spacing: -0.03em;
}
.ds-stat-label {
  font-size: var(--fs-eyebrow);
  letter-spacing: var(--tracking-eyebrow);
  color: var(--ys-text-dim);
  text-transform: uppercase;
  margin-top: var(--s-1);
  display: block;
}
@media (max-width: 720px) {
  .ds-stats { grid-template-columns: repeat(2, 1fr); }
}

/* ============================================================
   SECTION HEADER PATTERN
   ============================================================ */
.ds-section-header {
  text-align: center;
  max-width: 720px;
  margin: 0 auto var(--s-6);
}
.ds-section-header.left {
  text-align: left;
  margin: 0 0 var(--s-6);
}
.ds-section-header h2 {
  margin-bottom: var(--s-2);
}
.ds-section-header p {
  font-size: var(--fs-body-lg);
  color: var(--ys-text-muted);
  margin: 0;
}

/* ============================================================
   KILL THE BIG VOID — make .section default to dense
   ============================================================ */
.section, .ys-section {
  padding: var(--section-py) 0 !important;
  min-height: auto !important;
}
.section-content,
.container,
.w-container {
  padding-left: clamp(20px, 4vw, 40px);
  padding-right: clamp(20px, 4vw, 40px);
}

/* Reduce excessive top padding on most internal sections */
.section.section-hero,
section.hero {
  padding-top: 100px !important;
}

/* ============================================================
   TONE DOWN OVERSIZED HEADINGS THAT ALREADY EXIST
   ============================================================ */
.hero-heading,
.section-title-large,
.massive-heading {
  font-size: var(--fs-display) !important;
  line-height: var(--lh-display) !important;
  letter-spacing: var(--tracking-display) !important;
  text-shadow: none !important;
}

/* Default headings that had glow now get NO glow unless explicitly tagged */
h1, h2, h3 { text-shadow: none; }
h1 .green, h2 .green, h3 .green,
h1 strong, h2 strong, h3 strong {
  color: var(--ys-green);
  text-shadow: var(--glow-green);
  -webkit-text-fill-color: var(--ys-green);
  background: none !important;
  -webkit-background-clip: initial !important;
  background-clip: initial !important;
}

/* ============================================================
   FOOTER REFRESH
   ============================================================ */
.ds-footer {
  background: linear-gradient(180deg, var(--ys-bg) 0%, var(--ys-bg-soft) 100%);
  border-top: 1px solid var(--ys-border);
  padding: var(--s-7) 0 var(--s-5);
  margin-top: var(--s-8);
}
.ds-footer-grid {
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr 1fr;
  gap: var(--s-5);
  margin-bottom: var(--s-6);
}
.ds-footer h5 {
  font-size: var(--fs-eyebrow);
  text-transform: uppercase;
  letter-spacing: var(--tracking-eyebrow);
  color: var(--ys-text-dim);
  margin-bottom: var(--s-3);
}
.ds-footer a {
  display: block;
  padding: 6px 0;
  color: var(--ys-text-muted);
  font-size: var(--fs-small);
}
.ds-footer a:hover { color: var(--ys-green); }
@media (max-width: 800px) {
  .ds-footer-grid { grid-template-columns: 1fr 1fr; }
}

/* ============================================================
   REVEAL ANIMATIONS — paired with polish.js
   ============================================================ */
[data-reveal] {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity .9s var(--ease-out), transform .9s var(--ease-out);
}
[data-reveal].is-visible {
  opacity: 1;
  transform: none;
}
[data-reveal][data-delay="1"] { transition-delay: 0.08s; }
[data-reveal][data-delay="2"] { transition-delay: 0.16s; }
[data-reveal][data-delay="3"] { transition-delay: 0.24s; }
[data-reveal][data-delay="4"] { transition-delay: 0.32s; }

/* Fallback: kill the legacy opacity:0 trap that produces black voids */
@media (prefers-reduced-motion: reduce) {
  [data-scroll-animation],
  [data-reveal] { opacity: 1 !important; transform: none !important; }
}
.no-js [data-scroll-animation],
.no-js [data-reveal] { opacity: 1 !important; transform: none !important; }

/* ============================================================
   CUSTOM CURSOR
   ============================================================ */
@media (hover: hover) and (pointer: fine) {
  .ys-cursor-dot,
  .ys-cursor-ring {
    position: fixed;
    top: 0; left: 0;
    pointer-events: none;
    z-index: 999999;
    mix-blend-mode: difference;
    will-change: transform;
  }
  .ys-cursor-dot {
    width: 6px; height: 6px;
    border-radius: 50%;
    background: #fff;
    transform: translate(-50%,-50%);
  }
  .ys-cursor-ring {
    width: 36px; height: 36px;
    border: 1px solid rgba(255,255,255,0.6);
    border-radius: 50%;
    transform: translate(-50%,-50%);
    transition: width .25s var(--ease-out), height .25s var(--ease-out),
                border-color .25s var(--ease-out), background .25s var(--ease-out);
  }
  body.ys-cursor-hover .ys-cursor-ring {
    width: 56px; height: 56px;
    border-color: var(--ys-green);
    background: rgba(0,255,136,0.08);
  }
  body.ys-cursor-active { cursor: none; }
  body.ys-cursor-active a,
  body.ys-cursor-active button,
  body.ys-cursor-active [role="button"] { cursor: none; }
}

/* ============================================================
   MOBILE TYPOGRAPHY TIGHTENING
   ============================================================ */
@media (max-width: 640px) {
  :root {
    --section-py: 56px;
    --section-py-lg: 80px;
  }
  .ds-card { padding: var(--s-4); }
}

/* ============================================================
   LEGACY CLASS NORMALIZATION
   Targets existing markup (.apple-heading, .highlight, .section-tag, etc.)
   ============================================================ */

/* Hero / section headings */
.apple-heading,
.apple-heading.white-text,
.animated-heading {
  font-size: var(--fs-display) !important;
  line-height: var(--lh-display) !important;
  letter-spacing: var(--tracking-display) !important;
  font-weight: 800 !important;
  text-shadow: none !important;
  background: none !important;
  -webkit-background-clip: initial !important;
  background-clip: initial !important;
  -webkit-text-fill-color: #fff !important;
  color: #fff !important;
}

/* Section-level h2 — smaller than hero */
.section .apple-heading,
.section-title-group .apple-heading {
  font-size: var(--fs-h1) !important;
}

/* ============================================================
   SERVICE / INDUSTRY HERO POLISH
   Scoped to service + industry pages only (NOT homepage which
   has full-bleed video).
   ============================================================ */
.hero-section[data-service],
.hero-section[data-industry],
.hero-section.bg-dark:not(#Hero) {
  position: relative;
  min-height: 70vh !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  padding: clamp(140px, 18vh, 220px) clamp(20px, 4vw, 40px) clamp(80px, 12vh, 140px) !important;
  overflow: hidden !important;
  background:
    radial-gradient(900px 500px at 50% 0%, rgba(0,255,136,0.08), transparent 60%),
    radial-gradient(700px 400px at 80% 100%, rgba(1,228,228,0.05), transparent 60%),
    var(--ys-bg, #06070a) !important;
}
.hero-section[data-service]::before,
.hero-section[data-industry]::before,
.hero-section.bg-dark:not(#Hero)::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(0,0,0,0.0) 0%, rgba(6,7,10,0.2) 60%, var(--ys-bg, #06070a) 100%);
  pointer-events: none;
  z-index: 1;
}
.hero-section[data-service] > .container,
.hero-section[data-industry] > .container,
.hero-section.bg-dark:not(#Hero) > .container {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 1100px;
  margin: 0 auto;
  text-align: center;
}
.hero-section[data-service] .section-tag,
.hero-section[data-industry] .section-tag { margin-bottom: var(--s-3) !important; }
.hero-section[data-service] h1,
.hero-section[data-service] .apple-heading,
.hero-section[data-industry] h1,
.hero-section[data-industry] .apple-heading {
  font-size: clamp(2.5rem, 6vw, 5rem) !important;
  line-height: 1.04 !important;
  letter-spacing: -0.035em !important;
  margin-bottom: var(--s-3) !important;
  font-weight: 800 !important;
}
.hero-section[data-service] .hero-subheading,
.hero-section[data-service] p,
.hero-section[data-industry] .hero-subheading,
.hero-section[data-industry] p {
  font-size: clamp(1rem, 1.4vw, 1.1875rem) !important;
  color: rgba(255,255,255,0.7) !important;
  max-width: 620px;
  margin: 0 auto var(--s-4) !important;
  line-height: 1.55 !important;
}

/* HOMEPAGE HERO — full-bleed video (locked) */
#Hero.hero-section,
section#Hero.hero-section {
  position: relative !important;
  width: 100% !important;
  height: 100vh !important;
  min-height: 600px !important;
  max-height: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
  padding: 0 !important;
  background: #000 !important;
}
#Hero .hero-video-wrapper {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  z-index: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}
#Hero .hero-video-wrapper video {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}
#Hero .hero-overlay {
  position: absolute !important;
  inset: 0 !important;
  background: radial-gradient(circle at center, rgba(0,0,0,0.25) 0%, rgba(0,0,0,0.75) 100%) !important;
  z-index: 1 !important;
}
#Hero .hero-content {
  position: relative !important;
  z-index: 2 !important;
  text-align: center !important;
  padding: 0 24px !important;
  max-width: 1100px !important;
  margin: 0 auto !important;
}

/* Industry hero variant – may have stats inline */
.hero-section .stats-row,
.hero-section .stats {
  margin-top: var(--s-5) !important;
}

/* The accent word — keep glow but cleaner */
.highlight,
.apple-heading .highlight,
h1 .highlight, h2 .highlight, h3 .highlight {
  color: var(--ys-green) !important;
  -webkit-text-fill-color: var(--ys-green) !important;
  background: none !important;
  -webkit-background-clip: initial !important;
  text-shadow: var(--glow-green) !important;
  font-weight: 800;
}

/* Section eyebrow pill — base reset (kinetic version in motion.css) */
.section-tag {
  display: inline-flex;
  align-items: center;
  font-family: 'Outfit', sans-serif;
}
@keyframes ds-pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.4; }
}

/* Subheading paragraph */
.section-subheading,
.hero-subheading {
  font-size: var(--fs-body-lg) !important;
  color: var(--ys-text-muted) !important;
  max-width: 640px;
  margin-left: auto;
  margin-right: auto;
  line-height: 1.55 !important;
}

/* Existing bento cards — apply DS polish */
.bento-card {
  background: linear-gradient(180deg, rgba(255,255,255,0.025) 0%, rgba(255,255,255,0.005) 100%), #0f1219 !important;
  border: 1px solid var(--ys-border) !important;
  border-radius: var(--radius-lg) !important;
  padding: var(--s-5) !important;
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  transition: transform .4s var(--ease-out), border-color .4s var(--ease-out), box-shadow .4s var(--ease-out) !important;
}
.bento-card:hover {
  transform: translateY(-4px);
  border-color: rgba(0,255,136,0.25) !important;
  box-shadow: 0 30px 60px -20px rgba(0,0,0,0.6), 0 0 0 1px rgba(0,255,136,0.08) !important;
}
.bento-icon-wrapper {
  width: 52px !important;
  height: 52px !important;
  border-radius: 13px !important;
  background: linear-gradient(135deg, rgba(0,255,136,0.18), rgba(1,228,228,0.08)) !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  margin-bottom: var(--s-3) !important;
  color: var(--ys-green) !important;
  font-size: 1.25rem !important;
  border: 1px solid rgba(0,255,136,0.2) !important;
}
.bento-title {
  font-size: 1.375rem !important;
  font-weight: 700 !important;
  margin-bottom: var(--s-2) !important;
  letter-spacing: -0.01em;
}
.bento-description {
  color: var(--ys-text-muted) !important;
  font-size: var(--fs-small) !important;
  line-height: 1.6 !important;
}

/* Process timeline + industry-applications + cta-section share rhythm */
.process-timeline,
.industry-applications,
.cta-section,
.strategic-benefits,
.success-stories {
  padding: var(--section-py) 0 !important;
}

/* CTA section button refresh */
.cta-section .btn,
.cta-section a[href*="contact"] {
  padding: 14px 32px !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, var(--ys-green) 0%, var(--ys-green-warm) 100%) !important;
  color: #001a10 !important;
  font-weight: 600 !important;
  display: inline-flex !important;
  align-items: center;
  gap: 8px;
  text-decoration: none !important;
  box-shadow: 0 8px 24px -8px rgba(0,255,136,0.5) !important;
  transition: transform .25s var(--ease-out), box-shadow .25s !important;
}
.cta-section .btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 14px 32px -8px rgba(0,255,136,0.7) !important;
}

/* Force any leftover bento containers to be visible after JS load */
.bento-grid > * {
  min-height: 80px;
}

/* ============================================================
   UTILITIES
   ============================================================ */
.text-center { text-align: center; }
.text-muted  { color: var(--ys-text-muted); }
.text-dim    { color: var(--ys-text-dim); }
.mt-0 { margin-top: 0 !important; }
.mb-0 { margin-bottom: 0 !important; }
.mt-5 { margin-top: var(--s-5) !important; }
.mb-5 { margin-bottom: var(--s-5) !important; }
.mt-7 { margin-top: var(--s-7) !important; }
.mb-7 { margin-bottom: var(--s-7) !important; }
.divider {
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--ys-border-strong), transparent);
  margin: var(--s-6) 0;
}

/* ===== page-modules.css ===== */
/* ============================================================
   YOUSEE360 — PAGE MODULES
   Trust strip, portfolio teaser, 360 hero embed, scroll-progress
   ============================================================ */

/* ============================================================
   SCROLL PROGRESS BAR
   ============================================================ */
.ys-scroll-progress {
  position: fixed;
  top: 0; left: 0;
  height: 2px;
  width: 0%;
  background: linear-gradient(90deg, var(--ys-green, #00ff88), var(--ys-cyan, #01e4e4));
  z-index: 999998;
  box-shadow: 0 0 8px rgba(0,255,136,0.6);
  transition: width .08s linear;
  pointer-events: none;
}

/* ============================================================
   TRUST STRIP — proof bar with logos / badges
   ============================================================ */
.ys-trust {
  padding: var(--s-6) 0;
  border-top: 1px solid var(--ys-border, rgba(255,255,255,0.07));
  border-bottom: 1px solid var(--ys-border, rgba(255,255,255,0.07));
  background: linear-gradient(180deg, rgba(255,255,255,0.01), transparent);
}
.ys-trust-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 clamp(20px, 4vw, 40px);
  display: grid;
  grid-template-columns: auto 1fr;
  gap: var(--s-6);
  align-items: center;
}
.ys-trust-label {
  font-size: 0.75rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.42);
  border-right: 1px solid rgba(255,255,255,0.08);
  padding-right: var(--s-5);
  line-height: 1.4;
  max-width: 180px;
}
.ys-trust-badges {
  display: flex;
  flex-wrap: wrap;
  gap: var(--s-4);
  align-items: center;
}
.ys-trust-badge {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 10px 16px;
  border-radius: 999px;
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(255,255,255,0.08);
  color: rgba(255,255,255,0.78);
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: -0.005em;
  transition: border-color .3s var(--ease-out, cubic-bezier(0.16,1,0.3,1));
}
.ys-trust-badge i {
  color: var(--ys-green, #00ff88);
  font-size: 1rem;
}
.ys-trust-badge:hover {
  border-color: rgba(0,255,136,0.25);
}
@media (max-width: 800px) {
  .ys-trust-inner {
    grid-template-columns: 1fr;
    gap: var(--s-3);
  }
  .ys-trust-label {
    border-right: none;
    border-bottom: 1px solid rgba(255,255,255,0.08);
    padding: 0 0 var(--s-3) 0;
    max-width: none;
  }
}

/* ============================================================
   PORTFOLIO TEASER — 3-tile case study row
   ============================================================ */
.ys-portfolio-teaser {
  padding: var(--section-py) 0;
}
.ys-portfolio-teaser .header {
  display: flex;
  align-items: end;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: var(--s-3);
  margin-bottom: var(--s-5);
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  padding: 0 clamp(20px, 4vw, 40px);
}
.ys-portfolio-teaser h2 {
  font-size: var(--fs-h1) !important;
  margin: 0;
}
.ys-portfolio-teaser .view-all {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--ys-green, #00ff88);
  font-size: 0.9375rem;
  font-weight: 600;
  text-decoration: none;
  transition: gap .25s var(--ease-out, cubic-bezier(0.16,1,0.3,1));
}
.ys-portfolio-teaser .view-all:hover { gap: 12px; }

.ys-portfolio-grid {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 clamp(20px, 4vw, 40px);
  display: grid;
  grid-template-columns: 1.618fr 1fr;
  grid-template-rows: 1fr 1fr;
  gap: var(--s-3);
  min-height: 520px;
}
.ys-portfolio-grid > a:nth-child(1) { grid-row: 1 / 3; }

.ys-portfolio-tile {
  position: relative;
  overflow: hidden;
  border-radius: var(--radius-lg, 24px);
  border: 1px solid rgba(255,255,255,0.08);
  text-decoration: none;
  background: #0f1219;
  transition: transform .5s var(--ease-out, cubic-bezier(0.16,1,0.3,1)), border-color .3s;
  display: block;
  min-height: 220px;
}
.ys-portfolio-tile:hover {
  border-color: rgba(0,255,136,0.4);
}
.ys-portfolio-tile img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 1s var(--ease-out, cubic-bezier(0.16,1,0.3,1)), filter .5s;
  filter: brightness(.7) saturate(1.05);
}
.ys-portfolio-tile:hover img {
  transform: scale(1.04);
  filter: brightness(.85) saturate(1.15);
}
.ys-portfolio-tile::after {
  content: "";
  position: absolute; inset: 0;
  background: linear-gradient(180deg, transparent 40%, rgba(0,0,0,0.85) 100%);
  z-index: 1;
  pointer-events: none;
}
.ys-portfolio-tile .meta {
  position: absolute;
  left: 0; right: 0; bottom: 0;
  padding: var(--s-4) var(--s-4);
  z-index: 2;
  color: #fff;
}
.ys-portfolio-tile .tag {
  display: inline-block;
  padding: 4px 10px;
  border-radius: 999px;
  background: rgba(0,255,136,0.15);
  border: 1px solid rgba(0,255,136,0.3);
  color: var(--ys-green, #00ff88);
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  margin-bottom: 10px;
}
.ys-portfolio-tile h3 {
  font-size: 1.375rem !important;
  margin: 0 0 4px;
  line-height: 1.2;
}
.ys-portfolio-tile p {
  font-size: 0.875rem !important;
  color: rgba(255,255,255,0.7) !important;
  margin: 0 !important;
}
.ys-portfolio-tile .view-360 {
  position: absolute;
  top: var(--s-3); right: var(--s-3);
  width: 44px; height: 44px;
  border-radius: 50%;
  background: rgba(0,0,0,0.5);
  backdrop-filter: blur(10px);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 1rem;
  z-index: 2;
  border: 1px solid rgba(255,255,255,0.15);
  transition: background .3s, transform .3s;
}
.ys-portfolio-tile:hover .view-360 {
  background: rgba(0,255,136,0.4);
  transform: rotate(45deg);
}

@media (max-width: 900px) {
  .ys-portfolio-grid {
    grid-template-columns: 1fr;
    grid-template-rows: none;
    min-height: 0;
  }
  .ys-portfolio-grid > a:nth-child(1) { grid-row: auto; }
  .ys-portfolio-tile { min-height: 260px; }
}

/* ============================================================
   360 HERO EMBED CONTAINER
   ============================================================ */
.ys-360-hero {
  position: relative;
  width: 100%;
  height: clamp(420px, 55vh, 620px);
  border-radius: var(--radius-lg, 24px);
  overflow: hidden;
  border: 1px solid rgba(0,255,136,0.18);
  box-shadow: 0 30px 80px -40px rgba(0,255,136,0.35), 0 0 0 1px rgba(255,255,255,0.04) inset;
  background: #000;
  margin: 0 auto;
  max-width: 1200px;
}
.ys-360-hero-wrap {
  padding: var(--s-5) clamp(20px, 4vw, 40px);
}
.ys-360-hero .pannellum-container,
.ys-360-hero [data-pannellum] {
  width: 100%; height: 100%;
}
.ys-360-hero .ys-360-badge {
  position: absolute;
  top: 16px; left: 16px;
  z-index: 5;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 14px;
  border-radius: 999px;
  background: rgba(0,0,0,0.6);
  backdrop-filter: blur(10px);
  color: #fff;
  font-size: 0.75rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  border: 1px solid rgba(0,255,136,0.3);
}
.ys-360-hero .ys-360-badge::before {
  content: "";
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--ys-green, #00ff88);
  box-shadow: 0 0 8px rgba(0,255,136,0.8);
  animation: ds-pulse 2s ease-in-out infinite;
}
.ys-360-hero .ys-360-hint {
  position: absolute;
  bottom: 16px; left: 50%;
  transform: translateX(-50%);
  z-index: 5;
  padding: 8px 16px;
  border-radius: 999px;
  background: rgba(0,0,0,0.55);
  backdrop-filter: blur(8px);
  color: rgba(255,255,255,0.8);
  font-size: 0.8125rem;
  pointer-events: none;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

/* Pannellum overrides for our dark theme */
.pnlm-controls-container { display: none !important; }
.pnlm-load-box {
  background: rgba(6,7,10,0.9) !important;
  color: var(--ys-green, #00ff88) !important;
}
.pnlm-render-container { background: #000 !important; }

/* ============================================================
   FOOTER v2
   ============================================================ */
.footer.ys-footer-v2,
.ys-footer-v2 {
  position: relative;
  background: linear-gradient(180deg, var(--ys-bg, #06070a) 0%, #03040680 50%, #02030480 100%);
  border-top: 1px solid rgba(255,255,255,0.06);
  padding: var(--s-8, 128px) 0 var(--s-4, 32px);
  margin-top: 0;
  overflow: hidden;
}
.ys-footer-v2::before {
  content: "";
  position: absolute;
  top: 0; left: 50%;
  transform: translateX(-50%);
  width: min(900px, 80vw);
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(0,255,136,0.6), transparent);
  filter: blur(0.5px);
}
.ys-footer-v2::after {
  content: "";
  position: absolute;
  bottom: -180px; left: 50%;
  transform: translateX(-50%);
  width: 700px; height: 300px;
  background: radial-gradient(circle, rgba(0,255,136,0.08) 0%, transparent 60%);
  pointer-events: none;
}
.ys-footer-v2 .ys-footer-cta {
  max-width: 1200px;
  margin: 0 auto var(--s-7, 96px);
  padding: 0 clamp(20px, 4vw, 40px);
  text-align: center;
}
.ys-footer-v2 .ys-footer-cta h2 {
  font-size: clamp(2rem, 5vw, 3.5rem) !important;
  line-height: 1.05 !important;
  letter-spacing: -0.03em !important;
  margin-bottom: var(--s-3);
  font-weight: 800 !important;
}
.ys-footer-v2 .ys-footer-cta p {
  font-size: 1.0625rem;
  color: rgba(255,255,255,0.6);
  max-width: 540px;
  margin: 0 auto var(--s-4);
}
.ys-footer-v2 .ys-footer-cta .cta-row {
  display: inline-flex;
  gap: 12px;
  flex-wrap: wrap;
  justify-content: center;
}
.ys-footer-v2 .ds-btn {
  padding: 14px 28px !important;
  font-size: 0.9375rem;
}

.ys-footer-grid {
  max-width: 1200px;
  margin: 0 auto var(--s-6, 64px);
  padding: 0 clamp(20px, 4vw, 40px);
  display: grid;
  grid-template-columns: 1.4fr 1fr 1.2fr 1fr;
  gap: var(--s-5, 48px);
  position: relative;
  z-index: 1;
}
.ys-footer-col h5,
.ys-footer-col h3.footer-col-title {
  font-size: 0.75rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.22em !important;
  color: rgba(255,255,255,0.45) !important;
  margin: 0 0 var(--s-3) !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
}
.ys-footer-col p,
.ys-footer-col a {
  font-size: 0.9375rem;
  color: rgba(255,255,255,0.6);
  line-height: 1.7;
  display: block;
  padding: 4px 0;
  text-decoration: none;
  transition: color .25s ease, transform .25s ease;
}
.ys-footer-col a:hover {
  color: var(--ys-green, #00ff88);
  transform: translateX(3px);
}
.ys-footer-col p {
  margin: 0 0 var(--s-2);
}
.ys-footer-brand {
  display: flex;
  flex-direction: column;
  gap: var(--s-3);
}
.ys-footer-brand .logo-stack {
  display: flex;
  align-items: center;
  gap: 12px;
}
.ys-footer-brand .logo-stack::before {
  content: "";
  width: 44px; height: 44px;
  background: url('../images/350-x-375-You-see-360-logo-white-for-black-bg-1.png') center/contain no-repeat;
  filter: drop-shadow(0 0 12px rgba(0,255,136,0.5));
}
.ys-footer-brand .logo-stack span {
  font-family: 'Outfit', sans-serif;
  font-weight: 700;
  font-size: 1.25rem;
  color: #fff;
}
.ys-footer-brand .tagline {
  color: rgba(255,255,255,0.55);
  font-size: 0.9375rem;
  line-height: 1.6;
  max-width: 280px;
}
.ys-footer-social {
  display: flex;
  gap: 10px;
  margin-top: var(--s-2);
}
.ys-footer-social a {
  width: 40px; height: 40px;
  border-radius: 50%;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  color: rgba(255,255,255,0.7) !important;
  font-size: 0.875rem;
  padding: 0 !important;
  transition: background .3s, border-color .3s, color .3s, transform .3s !important;
}
.ys-footer-social a:hover {
  background: rgba(0,255,136,0.1);
  border-color: rgba(0,255,136,0.3);
  color: var(--ys-green, #00ff88) !important;
  transform: translateY(-2px) !important;
}

.ys-footer-contact-item {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 0 0 var(--s-2) !important;
  padding: 0 !important;
  color: rgba(255,255,255,0.7) !important;
}
.ys-footer-contact-item i {
  color: var(--ys-green, #00ff88);
  width: 16px;
  margin-top: 4px;
  font-size: 0.875rem;
}
.ys-footer-contact-item a {
  display: inline !important;
  padding: 0 !important;
  color: rgba(255,255,255,0.7) !important;
}

.ys-footer-bottom {
  max-width: 1200px;
  margin: 0 auto;
  padding: var(--s-4, 32px) clamp(20px, 4vw, 40px) 0;
  border-top: 1px solid rgba(255,255,255,0.06);
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--s-3);
  position: relative;
  z-index: 1;
}
.ys-footer-bottom p {
  margin: 0;
  font-size: 0.8125rem;
  color: rgba(255,255,255,0.4);
}
.ys-footer-legal {
  display: flex;
  gap: var(--s-3);
}
.ys-footer-legal a {
  font-size: 0.8125rem;
  color: rgba(255,255,255,0.5);
  text-decoration: none;
}
.ys-footer-legal a:hover { color: var(--ys-green, #00ff88); }

@media (max-width: 900px) {
  .ys-footer-grid { grid-template-columns: 1fr 1fr; gap: var(--s-4); }
  .ys-footer-brand { grid-column: 1 / -1; }
}
@media (max-width: 560px) {
  .ys-footer-grid { grid-template-columns: 1fr; }
  .ys-footer-bottom { flex-direction: column; text-align: center; }
}

/* ============================================================
   MARQUEE — signature scrolling tape (services or industries)
   ============================================================ */
.ys-marquee {
  position: relative;
  width: 100%;
  overflow: hidden;
  border-top: 1px solid rgba(255,255,255,0.06);
  border-bottom: 1px solid rgba(255,255,255,0.06);
  padding: var(--s-4) 0;
  background: linear-gradient(180deg, transparent, rgba(0,255,136,0.02), transparent);
}
.ys-marquee-track {
  display: flex;
  gap: 64px;
  width: max-content;
  animation: ys-marquee 45s linear infinite;
  padding-right: 64px;
}
.ys-marquee:hover .ys-marquee-track { animation-play-state: paused; }
.ys-marquee-item {
  display: inline-flex;
  align-items: center;
  gap: 16px;
  font-family: 'Outfit', sans-serif;
  font-weight: 800;
  font-size: clamp(1.75rem, 4vw, 3rem);
  letter-spacing: -0.03em;
  white-space: nowrap;
  color: rgba(255,255,255,0.85);
}
.ys-marquee-item::after {
  content: "";
  width: 8px; height: 8px;
  border-radius: 50%;
  background: var(--ys-green, #00ff88);
  box-shadow: 0 0 12px rgba(0,255,136,0.7);
  flex-shrink: 0;
}
.ys-marquee-item.muted { color: rgba(255,255,255,0.25); }
@keyframes ys-marquee {
  to { transform: translateX(-50%); }
}

/* ============================================================
   TESTIMONIALS
   ============================================================ */
.ys-testimonials {
  padding: var(--section-py) 0;
}
.ys-testimonials .header {
  text-align: center;
  max-width: 720px;
  margin: 0 auto var(--s-6);
  padding: 0 clamp(20px, 4vw, 40px);
}
.ys-testimonials .header h2 {
  font-size: var(--fs-h1) !important;
  margin-bottom: var(--s-2);
}
.ys-testimonials-grid {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 clamp(20px, 4vw, 40px);
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--s-3);
}
.ys-testimonial {
  position: relative;
  padding: var(--s-5);
  background: linear-gradient(180deg, rgba(255,255,255,0.025), rgba(255,255,255,0.005)), #0f1219;
  border: 1px solid rgba(255,255,255,0.07);
  border-radius: var(--radius-lg, 24px);
  display: flex;
  flex-direction: column;
}
.ys-testimonial .quote-mark {
  font-family: 'Outfit', serif;
  font-size: 4rem;
  line-height: 0.5;
  color: rgba(0,255,136,0.3);
  margin-bottom: var(--s-2);
}
.ys-testimonial blockquote {
  font-size: 1.0625rem;
  line-height: 1.6;
  color: rgba(255,255,255,0.85);
  margin: 0 0 var(--s-4);
  flex: 1;
  font-style: normal;
}
.ys-testimonial .person {
  display: flex;
  align-items: center;
  gap: 12px;
}
.ys-testimonial .avatar {
  width: 40px; height: 40px;
  border-radius: 50%;
  background: linear-gradient(135deg, rgba(0,255,136,0.3), rgba(1,228,228,0.15));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  color: var(--ys-green, #00ff88);
  font-size: 0.875rem;
  border: 1px solid rgba(0,255,136,0.25);
}
.ys-testimonial .name { font-weight: 600; color: #fff; font-size: 0.9375rem; }
.ys-testimonial .role { font-size: 0.8125rem; color: rgba(255,255,255,0.5); }
.ys-testimonial .stars { color: var(--ys-green, #00ff88); font-size: 0.8125rem; margin-bottom: var(--s-2); }

@media (max-width: 900px) {
  .ys-testimonials-grid { grid-template-columns: 1fr; }
}

/* ============================================================
   ERROR PAGE (404/401)
   ============================================================ */
.ys-error-page {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 120px 24px 40px;
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(700px 400px at 50% 0%, rgba(0,255,136,0.10), transparent 60%),
    radial-gradient(600px 400px at 80% 100%, rgba(1,228,228,0.06), transparent 60%),
    var(--ys-bg, #06070a);
}
.ys-error-page .code {
  font-family: 'Outfit', sans-serif;
  font-size: clamp(6rem, 18vw, 14rem);
  font-weight: 900;
  letter-spacing: -0.06em;
  line-height: 0.9;
  background: linear-gradient(180deg, #fff 0%, rgba(255,255,255,0.1) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  margin: 0;
}
.ys-error-page .code span {
  color: var(--ys-green, #00ff88) !important;
  -webkit-text-fill-color: var(--ys-green, #00ff88) !important;
  text-shadow: 0 0 30px rgba(0,255,136,0.5);
}
.ys-error-page h1 {
  font-size: clamp(1.5rem, 3vw, 2.25rem) !important;
  margin: var(--s-3) 0 var(--s-2);
}
.ys-error-page p {
  font-size: 1.0625rem;
  color: rgba(255,255,255,0.6);
  max-width: 480px;
  margin: 0 auto var(--s-5);
}
.ys-error-page .actions {
  display: inline-flex;
  gap: 12px;
  flex-wrap: wrap;
  justify-content: center;
}

/* Password form on the 401 page */
.ys-protected-form {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: center;
  align-items: center;
  max-width: 520px;
  margin: 0 auto var(--s-5, 48px);
}
.ys-protected-label {
  flex: 0 0 100%;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.55);
}
.ys-protected-input {
  flex: 1 1 240px;
  min-height: 48px;
  padding: 12px 18px;
  border-radius: 999px;
  color: #fff;
  font-size: 1rem;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.14);
  transition: border-color .25s, box-shadow .25s;
}
.ys-protected-input::placeholder { color: rgba(255, 255, 255, 0.35); }
.ys-protected-input:focus {
  outline: none;
  border-color: rgba(0, 255, 136, 0.5);
  box-shadow: 0 0 0 3px rgba(0, 255, 136, 0.15);
}
.ys-protected-form .ds-btn { flex: 0 0 auto; min-height: 48px; }

/* ============================================================
   401 / Webflow utility page polish
   ============================================================ */
.utility-page-wrap {
  min-height: 100vh !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  padding: 120px 24px 40px !important;
  background:
    radial-gradient(700px 400px at 50% 0%, rgba(0,255,136,0.10), transparent 60%),
    radial-gradient(600px 400px at 80% 100%, rgba(1,228,228,0.06), transparent 60%),
    var(--ys-bg, #06070a) !important;
  overflow: hidden;
  position: relative;
}
.utility-page-content {
  max-width: 460px !important;
  width: 100% !important;
  background: linear-gradient(180deg, rgba(255,255,255,0.04), rgba(255,255,255,0.01)) !important;
  border: 1px solid rgba(255,255,255,0.1) !important;
  border-radius: var(--radius-lg, 24px) !important;
  padding: 48px 36px !important;
  backdrop-filter: blur(20px);
  text-align: center;
}
.utility-page-content img {
  width: 56px !important;
  height: 56px !important;
  margin: 0 auto var(--s-3, 24px) !important;
  filter: invert(1) brightness(1.5) drop-shadow(0 0 12px rgba(0,255,136,0.5));
  opacity: 0.9;
}
.utility-page-content h2 {
  font-size: 1.75rem !important;
  font-weight: 800 !important;
  letter-spacing: -0.02em !important;
  margin-bottom: var(--s-3, 24px) !important;
  color: #fff !important;
}
.utility-page-form { width: 100% !important; }
.utility-page-form label {
  display: block !important;
  font-size: 0.75rem !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,0.5) !important;
  margin-bottom: 8px !important;
  text-align: left !important;
}
.utility-page-form input[type="password"],
.utility-page-form .w-input {
  width: 100% !important;
  background: rgba(255,255,255,0.05) !important;
  border: 1px solid rgba(255,255,255,0.1) !important;
  border-radius: 13px !important;
  padding: 14px 16px !important;
  color: #fff !important;
  font-size: 0.9375rem !important;
  font-family: 'Outfit', sans-serif !important;
  margin-bottom: 16px !important;
  transition: border-color .25s, background .25s, box-shadow .25s;
}
.utility-page-form input[type="password"]:focus,
.utility-page-form .w-input:focus {
  outline: none !important;
  border-color: rgba(0,255,136,0.5) !important;
  background: rgba(255,255,255,0.07) !important;
  box-shadow: 0 0 0 3px rgba(0,255,136,0.1) !important;
}
.utility-page-form input[type="submit"],
.utility-page-form .w-button {
  display: inline-block !important;
  width: 100% !important;
  padding: 14px 24px !important;
  border: none !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, var(--ys-green, #00ff88) 0%, #2dffa6 100%) !important;
  color: #001a10 !important;
  font-weight: 700 !important;
  font-size: 0.9375rem !important;
  font-family: 'Outfit', sans-serif !important;
  cursor: pointer !important;
  text-align: center !important;
  box-shadow: 0 8px 24px -8px rgba(0,255,136,0.5) !important;
  transition: transform .25s, box-shadow .25s;
}
.utility-page-form input[type="submit"]:hover,
.utility-page-form .w-button:hover {
  transform: translateY(-2px);
  box-shadow: 0 14px 32px -8px rgba(0,255,136,0.7) !important;
}
.w-form-fail {
  background: rgba(255, 61, 102, 0.1) !important;
  border: 1px solid rgba(255, 61, 102, 0.3) !important;
  border-radius: 13px !important;
  padding: 12px !important;
  color: #ff6b88 !important;
  margin-top: 12px !important;
  font-size: 0.875rem !important;
}

/* ============================================================
   CONTACT v2 — modern form
   ============================================================ */
.ys-contact-v2 {
  padding: clamp(120px, 14vh, 180px) 0 var(--section-py);
}
.ys-contact-grid {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 clamp(20px, 4vw, 40px);
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  gap: var(--s-6);
  align-items: start;
}
.ys-contact-info h1 {
  font-size: var(--fs-display) !important;
  margin-bottom: var(--s-3);
}
.ys-contact-info p.lead {
  font-size: 1.1875rem;
  color: rgba(255,255,255,0.7);
  margin-bottom: var(--s-5);
  line-height: 1.55;
}
.ys-contact-meta {
  display: flex;
  flex-direction: column;
  gap: var(--s-3);
}
.ys-contact-meta-item {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 16px 20px;
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(255,255,255,0.07);
  border-radius: 13px;
  transition: border-color .3s;
}
.ys-contact-meta-item:hover { border-color: rgba(0,255,136,0.3); }
.ys-contact-meta-item .icon {
  width: 40px; height: 40px;
  border-radius: 13px;
  background: linear-gradient(135deg, rgba(0,255,136,0.2), rgba(1,228,228,0.1));
  border: 1px solid rgba(0,255,136,0.25);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--ys-green, #00ff88);
}
.ys-contact-meta-item .label { font-size: 0.75rem; letter-spacing: 0.18em; text-transform: uppercase; color: rgba(255,255,255,0.5); display: block; margin-bottom: 2px;}
.ys-contact-meta-item .value { color: #fff; font-size: 1rem; text-decoration: none; }

.ys-contact-card {
  padding: var(--s-5);
  background: linear-gradient(180deg, rgba(255,255,255,0.03), rgba(255,255,255,0.005)), #0c0e15;
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: var(--radius-lg, 24px);
  backdrop-filter: blur(20px);
}
.ys-contact-card h2 {
  font-size: 1.5rem !important;
  margin-bottom: var(--s-3) !important;
}
.ys-form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--s-2);
  margin-bottom: var(--s-2);
}
.ys-form-row.single { grid-template-columns: 1fr; }
.ys-form-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.ys-form-field label {
  font-size: 0.75rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.55);
}
.ys-form-field input,
.ys-form-field select,
.ys-form-field textarea {
  width: 100%;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 13px;
  padding: 12px 14px;
  color: #fff;
  font-size: 0.9375rem;
  font-family: inherit;
  transition: border-color .25s, background .25s;
}
.ys-form-field textarea { resize: vertical; min-height: 120px; }
.ys-form-field input:focus,
.ys-form-field select:focus,
.ys-form-field textarea:focus {
  outline: none;
  border-color: rgba(0,255,136,0.4);
  background: rgba(255,255,255,0.06);
  box-shadow: 0 0 0 3px rgba(0,255,136,0.08);
}
.ys-form-submit {
  width: 100%;
  margin-top: var(--s-3);
  padding: 14px 24px;
  border: none;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--ys-green, #00ff88) 0%, #2dffa6 100%);
  color: #001a10;
  font-weight: 700;
  font-size: 0.9375rem;
  cursor: pointer;
  font-family: inherit;
  box-shadow: 0 8px 24px -8px rgba(0,255,136,0.5);
  transition: transform .25s, box-shadow .25s;
}
.ys-form-submit:hover {
  transform: translateY(-2px);
  box-shadow: 0 14px 32px -8px rgba(0,255,136,0.7);
}
@media (max-width: 900px) {
  .ys-contact-grid { grid-template-columns: 1fr; }
  .ys-form-row { grid-template-columns: 1fr; }
}

/* ============================================================
   CONTACT PAGE — polish existing markup
   ============================================================ */
.glass-panel {
  background: linear-gradient(180deg, rgba(255,255,255,0.035), rgba(255,255,255,0.01)) !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  border-radius: var(--radius-lg, 24px) !important;
  backdrop-filter: blur(20px);
}
.contact-item {
  padding: 16px 20px !important;
  background: rgba(255,255,255,0.03) !important;
  border: 1px solid rgba(255,255,255,0.06) !important;
  border-radius: 13px !important;
  transition: border-color .3s ease;
  margin-bottom: 10px !important;
}
.contact-item:hover { border-color: rgba(0,255,136,0.25) !important; }
.contact-item .contact-icon {
  width: 40px; height: 40px;
  background: linear-gradient(135deg, rgba(0,255,136,0.2), rgba(1,228,228,0.1));
  border: 1px solid rgba(0,255,136,0.25);
  border-radius: 13px;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-size: 16px !important;
}
.contact-item h3 {
  font-size: 0.75rem !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,0.55) !important;
  margin: 0 0 4px !important;
  font-weight: 600 !important;
}
.contact-item p,
.contact-item a {
  color: #fff !important;
  font-size: 0.9375rem !important;
  margin: 0 !important;
}

.modal-form-section {
  margin-bottom: var(--s-4, 32px) !important;
}
.modal-section-label {
  display: flex !important;
  align-items: center;
  gap: 8px;
  font-size: 0.75rem !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,0.55) !important;
  margin-bottom: 12px !important;
  font-weight: 600 !important;
}
.modal-section-label i {
  color: var(--ys-green, #00ff88);
  font-size: 0.875rem;
}
.modal-section-label .label-hint {
  color: rgba(255,255,255,0.35);
  letter-spacing: 0;
  text-transform: none;
  font-weight: 400;
  margin-left: auto;
  font-size: 0.6875rem;
}
.modal-input, .modal-textarea, .modal-select {
  width: 100% !important;
  background: rgba(255,255,255,0.04) !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  border-radius: 13px !important;
  padding: 13px 16px !important;
  color: #fff !important;
  font-size: 0.9375rem !important;
  font-family: inherit !important;
  transition: border-color .25s, background .25s, box-shadow .25s;
}
.modal-input:focus, .modal-textarea:focus, .modal-select:focus {
  outline: none !important;
  border-color: rgba(0,255,136,0.4) !important;
  background: rgba(255,255,255,0.06) !important;
  box-shadow: 0 0 0 3px rgba(0,255,136,0.08) !important;
}
.modal-textarea { resize: vertical; min-height: 110px; }
.modal-form-row {
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  gap: 10px !important;
  margin-bottom: 10px !important;
}
@media (max-width: 700px) {
  .modal-form-row { grid-template-columns: 1fr; }
}
.modal-checkbox-grid {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr);
  gap: 8px !important;
}
@media (max-width: 700px) {
  .modal-checkbox-grid { grid-template-columns: 1fr; }
}
.modal-checkbox {
  position: relative;
  display: flex !important;
  align-items: center;
  gap: 14px;
  padding: 16px 18px !important;
  border: 1.5px solid rgba(255,255,255,0.12) !important;
  border-radius: 13px !important;
  background: rgba(255,255,255,0.03) !important;
  cursor: pointer;
  transition: border-color .25s, background .25s, color .25s, transform .15s, box-shadow .25s;
  color: rgba(255,255,255,0.85);
  font-size: 0.9375rem;
  min-height: 56px;
  -webkit-tap-highlight-color: transparent;
  user-select: none;
}
.modal-checkbox:hover {
  border-color: rgba(0,255,136,0.4) !important;
  background: rgba(0,255,136,0.05) !important;
}
.modal-checkbox:active { transform: scale(0.98); }

/* Visible & clickable native checkbox styled as a custom indicator.
   Keeping it in-flow ensures taps reliably toggle on all browsers. */
.modal-checkbox input[type="checkbox"] {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  width: 26px;
  height: 26px;
  margin: 0;
  border: 1.5px solid rgba(255,255,255,0.28);
  border-radius: 8px;
  background: rgba(0,0,0,0.3);
  flex-shrink: 0;
  cursor: pointer;
  position: relative;
  transition: background .2s, border-color .2s, box-shadow .25s;
  display: inline-block;
}
.modal-checkbox input[type="checkbox"]:hover {
  border-color: rgba(0,255,136,0.5);
}
.modal-checkbox input[type="checkbox"]:checked {
  background: linear-gradient(135deg, #00ff88, #2dffa6);
  border-color: transparent;
  box-shadow: 0 0 0 3px rgba(0,255,136,0.18), 0 4px 12px -4px rgba(0,255,136,0.5);
}
.modal-checkbox input[type="checkbox"]:checked::after {
  content: "";
  position: absolute;
  left: 8px;
  top: 3px;
  width: 7px;
  height: 13px;
  border-right: 2.5px solid #001a10;
  border-bottom: 2.5px solid #001a10;
  transform: rotate(45deg);
}
.modal-checkbox input[type="checkbox"]:focus-visible {
  outline: 2px solid var(--ys-green, #00ff88);
  outline-offset: 2px;
}
/* Card lights up when its checkbox is checked */
.modal-checkbox:has(input:checked) {
  border-color: rgba(0,255,136,0.55) !important;
  background: rgba(0,255,136,0.08) !important;
  color: #fff;
  box-shadow: 0 8px 24px -12px rgba(0,255,136,0.4) !important;
}
.checkbox-label { line-height: 1.3; flex: 1; pointer-events: none; }

/* Header hint pill — make it obvious */
.modal-section-label .label-hint {
  color: var(--ys-green, #00ff88) !important;
  background: rgba(0,255,136,0.08);
  padding: 3px 10px;
  border-radius: 999px;
  border: 1px solid rgba(0,255,136,0.25);
  font-weight: 600;
  font-size: 0.6875rem;
  letter-spacing: 0.05em;
}

#contactPageForm button[type="submit"],
#contactPageForm .modal-submit,
.contact-submit-btn {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
  padding: 15px 28px !important;
  border: none !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, var(--ys-green, #00ff88) 0%, #2dffa6 100%) !important;
  color: #001a10 !important;
  font-weight: 700 !important;
  font-size: 0.9375rem !important;
  font-family: 'Outfit', sans-serif !important;
  cursor: pointer !important;
  margin-top: var(--s-3, 24px) !important;
  box-shadow: 0 8px 24px -8px rgba(0,255,136,0.5) !important;
  transition: transform .25s, box-shadow .25s !important;
}
#contactPageForm button[type="submit"]:hover,
.contact-submit-btn:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 14px 32px -8px rgba(0,255,136,0.7) !important;
}

/* ============================================================
   ABOUT PAGE polish
   ============================================================ */
.about-hero {
  position: relative;
  min-height: 60vh !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  padding: clamp(140px, 18vh, 200px) clamp(20px, 4vw, 40px) clamp(80px, 12vh, 140px) !important;
  background:
    radial-gradient(900px 500px at 50% 0%, rgba(0,255,136,0.10), transparent 60%),
    radial-gradient(700px 400px at 80% 100%, rgba(1,228,228,0.05), transparent 60%),
    var(--ys-bg, #06070a) !important;
  overflow: hidden;
}
.about-hero::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(180deg, transparent 0%, var(--ys-bg, #06070a) 100%) !important;
  pointer-events: none;
  z-index: 1;
}
.about-hero-content {
  position: relative;
  z-index: 2;
  text-align: center;
  max-width: 900px;
  margin: 0 auto;
}
.about-hero h1 {
  font-size: clamp(2.5rem, 6vw, 5rem) !important;
  line-height: 1.04 !important;
  letter-spacing: -0.035em !important;
  font-weight: 800 !important;
  margin-bottom: var(--s-3, 24px) !important;
}
.about-hero .subtitle {
  font-size: clamp(1rem, 1.5vw, 1.25rem) !important;
  color: rgba(255,255,255,0.7) !important;
  line-height: 1.55;
  max-width: 640px;
  margin: 0 auto !important;
}

.founder-section {
  padding: var(--section-py) 0 !important;
}
.founder-container {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 clamp(20px, 4vw, 40px);
  display: grid !important;
  grid-template-columns: 1fr 1.618fr !important;
  gap: var(--s-6, 64px) !important;
  align-items: center;
}
.founder-visual {
  position: relative;
}
.founder-image-placeholder {
  aspect-ratio: 1 / 1;
  border-radius: var(--radius-lg, 24px);
  background: linear-gradient(135deg, rgba(0,255,136,0.18) 0%, rgba(1,228,228,0.08) 100%), #0f1219;
  border: 1px solid rgba(0,255,136,0.2);
  display: flex !important;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
}
.founder-image-placeholder::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 30% 30%, rgba(0,255,136,0.15), transparent 50%),
    radial-gradient(circle at 70% 70%, rgba(1,228,228,0.1), transparent 50%);
  pointer-events: none;
}
.founder-initials {
  font-family: 'Outfit', sans-serif;
  font-size: clamp(6rem, 12vw, 10rem) !important;
  font-weight: 800 !important;
  letter-spacing: -0.05em;
  background: linear-gradient(180deg, #fff 0%, rgba(255,255,255,0.4) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  position: relative;
  z-index: 1;
}
.founder-name {
  font-size: clamp(2rem, 4vw, 3rem) !important;
  font-weight: 800 !important;
  letter-spacing: -0.03em !important;
  margin: 0 0 8px !important;
}
.founder-title {
  display: inline-block;
  padding: 5px 14px;
  border-radius: 999px;
  background: rgba(0,255,136,0.08);
  border: 1px solid rgba(0,255,136,0.22);
  color: var(--ys-green, #00ff88);
  font-size: 0.75rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  font-weight: 600;
  margin-bottom: var(--s-4, 32px);
}
.founder-bio p {
  font-size: 1.0625rem;
  color: rgba(255,255,255,0.7);
  line-height: 1.65;
  margin: 0 0 var(--s-3, 24px);
}
.founder-bio strong {
  color: var(--ys-green, #00ff88);
  font-weight: 600;
}
.credentials {
  margin-top: var(--s-4, 32px);
  padding-top: var(--s-4, 32px);
  border-top: 1px solid rgba(255,255,255,0.08);
}
.credentials-label {
  font-size: 0.75rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.45);
  margin-bottom: 14px;
  font-weight: 600;
}
.credential-items {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.credential-item {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 9px 14px;
  border-radius: 999px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  color: rgba(255,255,255,0.85);
  font-size: 0.875rem;
}
.credential-item i { color: var(--ys-green, #00ff88); }
@media (max-width: 900px) {
  .founder-container { grid-template-columns: 1fr !important; gap: 32px !important; }
  .founder-visual { max-width: 280px; margin: 0 auto; }
  .founder-image-placeholder { aspect-ratio: 1 / 1; }
  .founder-content { text-align: center; }
  .founder-content .founder-title-row { justify-content: center; flex-wrap: wrap; }
}

.mission-section {
  padding: var(--section-py) 0 !important;
  text-align: center;
  background:
    radial-gradient(700px 300px at 50% 50%, rgba(0,255,136,0.04), transparent 60%);
}
.mission-container {
  max-width: 800px;
  margin: 0 auto;
  padding: 0 clamp(20px, 4vw, 40px);
}
.mission-tag {
  display: inline-flex !important;
  align-items: center;
  gap: 8px;
  padding: 6px 14px !important;
  border-radius: 999px !important;
  background: rgba(0,255,136,0.08) !important;
  border: 1px solid rgba(0,255,136,0.22) !important;
  color: var(--ys-green, #00ff88) !important;
  font-size: 0.75rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  margin-bottom: var(--s-3, 24px) !important;
}
.mission-tag::before {
  content: "";
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--ys-green, #00ff88);
  box-shadow: 0 0 8px rgba(0,255,136,0.7);
}
.mission-title {
  font-size: clamp(2rem, 4.5vw, 3.25rem) !important;
  font-weight: 800 !important;
  letter-spacing: -0.03em !important;
  margin-bottom: var(--s-4, 32px) !important;
}
.mission-text {
  font-size: 1.125rem;
  color: rgba(255,255,255,0.7);
  line-height: 1.7;
}

.values-section {
  padding: var(--section-py) 0 !important;
}
.values-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 clamp(20px, 4vw, 40px);
}
.values-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--s-3, 24px);
}
.value-card {
  padding: var(--s-5, 48px) !important;
  background: linear-gradient(180deg, rgba(255,255,255,0.025), rgba(255,255,255,0.005)), #0f1219 !important;
  border: 1px solid rgba(255,255,255,0.07) !important;
  border-radius: var(--radius-lg, 24px) !important;
  transition: transform .4s var(--ease-out, cubic-bezier(0.16,1,0.3,1)), border-color .3s !important;
}
.value-card:hover {
  transform: translateY(-4px);
  border-color: rgba(0,255,136,0.25) !important;
}
.value-icon {
  width: 52px; height: 52px;
  border-radius: 13px;
  background: linear-gradient(135deg, rgba(0,255,136,0.18), rgba(1,228,228,0.08));
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  color: var(--ys-green, #00ff88) !important;
  font-size: 1.25rem !important;
  border: 1px solid rgba(0,255,136,0.2);
  margin-bottom: var(--s-3, 24px) !important;
}
.value-title {
  font-size: 1.375rem !important;
  font-weight: 700 !important;
  margin-bottom: var(--s-2, 16px) !important;
  letter-spacing: -0.01em;
}
.value-desc {
  color: rgba(255,255,255,0.65) !important;
  font-size: 0.9375rem !important;
  line-height: 1.6 !important;
}
@media (max-width: 900px) { .values-grid { grid-template-columns: 1fr; } }

.about-cta {
  padding: var(--section-py-lg) 0 !important;
  text-align: center;
  position: relative;
  background: radial-gradient(700px 300px at 50% 50%, rgba(0,255,136,0.05), transparent 60%);
}
.about-cta h2 {
  font-size: clamp(2rem, 5vw, 3.5rem) !important;
  font-weight: 800 !important;
  letter-spacing: -0.03em !important;
  margin-bottom: var(--s-4, 32px) !important;
}
.about-cta .btn-primary {
  display: inline-flex !important;
  align-items: center;
  gap: 10px;
  padding: 14px 28px !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, var(--ys-green, #00ff88), #2dffa6) !important;
  color: #001a10 !important;
  font-weight: 600 !important;
  font-size: 0.9375rem !important;
  box-shadow: 0 8px 24px -8px rgba(0,255,136,0.5);
  text-decoration: none;
  transition: transform .25s, box-shadow .25s;
}
.about-cta .btn-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 14px 32px -8px rgba(0,255,136,0.7);
}

/* ============================================================
   PORTFOLIO PAGE polish
   ============================================================ */
.portfolio-hero {
  position: relative;
  min-height: 60vh !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  padding: clamp(140px, 18vh, 200px) clamp(20px, 4vw, 40px) clamp(60px, 10vh, 100px) !important;
  background:
    radial-gradient(900px 500px at 50% 0%, rgba(0,255,136,0.08), transparent 60%),
    radial-gradient(700px 400px at 80% 100%, rgba(1,228,228,0.05), transparent 60%),
    var(--ys-bg, #06070a) !important;
  overflow: hidden;
  text-align: center;
}
.portfolio-hero-content { position: relative; z-index: 2; max-width: 900px; margin: 0 auto; }
.portfolio-hero h1 {
  font-size: clamp(2.5rem, 6vw, 5rem) !important;
  line-height: 1.04 !important;
  letter-spacing: -0.035em !important;
  font-weight: 800 !important;
  margin-bottom: var(--s-3, 24px) !important;
}
.portfolio-hero .hero-description {
  font-size: clamp(1rem, 1.4vw, 1.1875rem) !important;
  color: rgba(255,255,255,0.7) !important;
  max-width: 600px;
  margin: 0 auto !important;
  line-height: 1.55;
}

.portfolio-filter-section { padding: var(--s-4, 32px) 0 !important; }
.portfolio-filter-bar {
  display: flex !important;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px !important;
  padding: 0 clamp(20px, 4vw, 40px);
}
.portfolio-filter-btn {
  display: inline-flex !important;
  align-items: center;
  gap: 8px;
  padding: 10px 20px !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,0.03) !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  color: rgba(255,255,255,0.7) !important;
  font-size: 0.875rem !important;
  font-weight: 500 !important;
  font-family: inherit !important;
  cursor: pointer;
  transition: background .25s, border-color .25s, color .25s, transform .25s;
}
.portfolio-filter-btn:hover {
  background: rgba(255,255,255,0.06) !important;
  border-color: rgba(255,255,255,0.15) !important;
  color: #fff !important;
}
.portfolio-filter-btn.active {
  background: linear-gradient(135deg, rgba(0,255,136,0.2), rgba(1,228,228,0.08)) !important;
  border-color: rgba(0,255,136,0.4) !important;
  color: var(--ys-green, #00ff88) !important;
  box-shadow: 0 0 0 1px rgba(0,255,136,0.1);
}

.portfolio-card {
  position: relative;
  border-radius: var(--radius-lg, 24px) !important;
  overflow: hidden;
  background: #0f1219 !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  transition: transform .4s var(--ease-out, cubic-bezier(0.16,1,0.3,1)), border-color .3s, box-shadow .3s !important;
}
.portfolio-card:hover {
  transform: translateY(-4px);
  border-color: rgba(0,255,136,0.3) !important;
  box-shadow: 0 30px 60px -20px rgba(0,0,0,0.6), 0 0 0 1px rgba(0,255,136,0.08) !important;
}

.portfolio-showcase {
  display: grid !important;
  /* min(320px, 100%) prevents the column min from exceeding a narrow
     (padded) mobile container, which caused horizontal overflow. */
  grid-template-columns: repeat(auto-fill, minmax(min(320px, 100%), 1fr)) !important;
  gap: var(--s-3, 24px) !important;
  max-width: 1200px;
  margin: var(--s-5, 48px) auto 0;
  padding: 0 clamp(20px, 4vw, 40px);
  box-sizing: border-box;
  width: 100%;
}

/* Featured tour container */
.featured-tour-container {
  max-width: 1100px;
  margin: var(--s-5, 48px) auto;
  border-radius: var(--radius-lg, 24px);
  overflow: hidden;
  border: 1px solid rgba(0,255,136,0.18);
  box-shadow: 0 30px 80px -40px rgba(0,255,136,0.35);
  aspect-ratio: 16 / 9;
  position: relative;
  background: #000;
}
.featured-tour-facade,
.featured-tour-frame { position: absolute !important; inset: 0; width: 100%; height: 100%; }

/* ============================================================
   FAQ ACCORDION refinement
   ============================================================ */
.faq-item, .accordion-item {
  border: 1px solid rgba(255,255,255,0.07) !important;
  border-radius: 13px !important;
  background: rgba(255,255,255,0.02) !important;
  margin-bottom: 10px !important;
  overflow: hidden;
  transition: border-color .3s;
}
.faq-item:hover, .accordion-item:hover {
  border-color: rgba(0,255,136,0.18) !important;
}
.faq-question, .accordion-header {
  padding: 18px 22px !important;
  font-size: 1rem !important;
  font-weight: 500 !important;
  color: #fff !important;
}
/* FAQ answer: COLLAPSED by default, opens only when .faq-item has .active */
.faq-answer,
.accordion-content {
  max-height: 0 !important;
  overflow: hidden !important;
  padding: 0 22px !important;
  color: rgba(255,255,255,0.65) !important;
  font-size: 0.9375rem !important;
  line-height: 1.6 !important;
  transition: max-height .4s cubic-bezier(0.16,1,0.3,1), padding .3s ease !important;
  opacity: 0;
  visibility: hidden;
}
.faq-item.active .faq-answer,
.accordion-item.active .accordion-content {
  max-height: 600px !important;
  padding: 0 22px 18px !important;
  opacity: 1;
  visibility: visible;
}
.faq-question, .accordion-header {
  width: 100%;
  text-align: left;
  background: none;
  border: none;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
}
.faq-question::after,
.accordion-header::after {
  content: "+";
  font-size: 1.5rem;
  font-weight: 300;
  color: var(--ys-green, #00ff88);
  transition: transform .3s cubic-bezier(0.16,1,0.3,1);
  flex-shrink: 0;
  line-height: 1;
}
.faq-item.active .faq-question::after,
.accordion-item.active .accordion-header::after {
  transform: rotate(45deg);
}
.faq-item.active {
  border-color: rgba(0,255,136,0.3) !important;
  background: rgba(0,255,136,0.04) !important;
}

/* ============================================================
   RELATED CROSS-LINKING (services <-> industries)
   ============================================================ */
.ys-related {
  padding: var(--section-py) 0;
  border-top: 1px solid rgba(255,255,255,0.05);
}
.ys-related-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 clamp(20px, 4vw, 40px);
}
.ys-related h2 {
  font-size: var(--fs-h2) !important;
  font-weight: 700;
  letter-spacing: -0.02em;
  margin: 0 0 var(--s-5);
  color: #fff;
}
.ys-related-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}
.ys-related-card {
  display: flex !important;
  align-items: center;
  gap: 14px;
  padding: 18px 20px;
  border-radius: 13px;
  background: rgba(255,255,255,0.025);
  border: 1px solid rgba(255,255,255,0.06);
  text-decoration: none !important;
  color: #fff;
  transition: background .25s, border-color .25s, transform .25s;
  min-height: 76px;
}
.ys-related-card:hover {
  background: rgba(0,255,136,0.06);
  border-color: rgba(0,255,136,0.25);
  transform: translateX(2px);
}
.ys-related-icon {
  font-size: 1.5rem;
  width: 44px;
  height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 13px;
  background: linear-gradient(135deg, rgba(0,255,136,0.15), rgba(1,228,228,0.06));
  border: 1px solid rgba(0,255,136,0.18);
  flex-shrink: 0;
}
.ys-related-text { flex: 1; min-width: 0; }
.ys-related-name {
  font-weight: 600;
  font-size: 0.9375rem;
  margin-bottom: 2px;
  color: #fff;
  line-height: 1.3;
}
.ys-related-desc {
  font-size: 0.8125rem;
  color: rgba(255,255,255,0.55);
  line-height: 1.3;
}
.ys-related-arrow {
  color: rgba(255,255,255,0.4);
  font-size: 1rem;
  transition: transform .25s, color .25s;
  flex-shrink: 0;
}
.ys-related-card:hover .ys-related-arrow {
  color: var(--ys-green, #00ff88);
  transform: translateX(3px);
}
@media (max-width: 900px) {
  .ys-related-grid { grid-template-columns: 1fr; }
}

/* ============================================================
   PRICING / PACKAGES SECTION
   ============================================================ */
.ys-pricing {
  padding: var(--section-py) 0;
  position: relative;
}
.ys-pricing .header {
  text-align: center;
  max-width: 720px;
  margin: 0 auto var(--s-6);
  padding: 0 clamp(20px, 4vw, 40px);
}
.ys-pricing .header h2 {
  font-size: var(--fs-h1) !important;
  margin-bottom: var(--s-2);
}
.ys-pricing .header p {
  font-size: 1.0625rem;
  color: rgba(255,255,255,0.65);
}
.ys-pricing-grid {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 clamp(20px, 4vw, 40px);
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--s-3);
  align-items: stretch;
}
.ys-package {
  position: relative;
  padding: var(--s-5);
  background: linear-gradient(180deg, rgba(255,255,255,0.025), rgba(255,255,255,0.005)), #0f1219;
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: var(--radius-lg, 24px);
  display: flex;
  flex-direction: column;
  transition: transform .4s var(--ease-out, cubic-bezier(0.16,1,0.3,1)), border-color .3s;
}
.ys-package:hover {
  transform: translateY(-6px);
  border-color: rgba(0,255,136,0.25);
  box-shadow: 0 40px 80px -30px rgba(0,0,0,0.6);
}
.ys-package.featured {
  border-color: rgba(0,255,136,0.4);
  background: linear-gradient(180deg, rgba(0,255,136,0.06), rgba(0,255,136,0.01)), #0f1219;
  box-shadow: 0 30px 70px -30px rgba(0,255,136,0.3);
}
.ys-package .badge {
  position: absolute;
  top: -10px; right: 20px;
  padding: 5px 12px;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--ys-green, #00ff88), #2dffa6);
  color: #001a10;
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.ys-package h3 {
  font-size: 1.375rem !important;
  margin: 0 0 4px !important;
  letter-spacing: -0.01em;
}
.ys-package .subtitle {
  color: rgba(255,255,255,0.55);
  font-size: 0.875rem;
  margin: 0 0 var(--s-3);
}
.ys-package .price {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 4px 8px;
  margin: 0 0 var(--s-3);
}
.ys-package .price .from-label {
  flex: 1 0 100%;
  font-size: 0.75rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.5);
  font-weight: 600;
  margin-bottom: 2px;
}
.ys-package .price .amount {
  font-size: 2.5rem;
  font-weight: 800;
  color: #fff;
  letter-spacing: -0.03em;
  line-height: 1;
}
.ys-package .price .unit {
  color: rgba(255,255,255,0.45);
  font-size: 0.875rem;
}
.ys-package .features {
  list-style: none;
  padding: 0;
  margin: 0 0 var(--s-4);
  flex: 1;
}
.ys-package .features li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 8px 0;
  color: rgba(255,255,255,0.78);
  font-size: 0.9375rem;
  line-height: 1.45;
  border-bottom: 1px dashed rgba(255,255,255,0.05);
}
.ys-package .features li:last-child { border-bottom: none; }
.ys-package .features li::before {
  content: "✓";
  flex-shrink: 0;
  width: 18px; height: 18px;
  border-radius: 50%;
  background: rgba(0,255,136,0.12);
  border: 1px solid rgba(0,255,136,0.3);
  color: var(--ys-green, #00ff88);
  font-size: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: 2px;
}
.ys-package .features li.muted::before {
  content: "—";
  background: rgba(255,255,255,0.04);
  border-color: rgba(255,255,255,0.1);
  color: rgba(255,255,255,0.4);
}
.ys-package .features li.muted { color: rgba(255,255,255,0.4); }
.ys-package .pkg-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  padding: 12px 24px;
  border-radius: 999px;
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.12);
  color: #fff;
  font-weight: 600;
  font-size: 0.875rem;
  text-decoration: none;
  transition: background .25s, border-color .25s;
}
.ys-package.featured .pkg-btn {
  background: linear-gradient(135deg, var(--ys-green, #00ff88), #2dffa6);
  border-color: transparent;
  color: #001a10;
  box-shadow: 0 8px 24px -8px rgba(0,255,136,0.5);
}
.ys-package .pkg-btn:hover { background: rgba(255,255,255,0.1); border-color: rgba(0,255,136,0.3); }
.ys-package.featured .pkg-btn:hover { transform: translateY(-1px); box-shadow: 0 14px 32px -8px rgba(0,255,136,0.7); }

@media (max-width: 980px) {
  .ys-pricing-grid { grid-template-columns: 1fr; max-width: 480px; }
}

/* ============================================================
   CASE STUDY PAGES
   ============================================================ */
.cs-shot {
  margin: 0 auto var(--s-5, 48px);
  max-width: 900px;
  text-align: center;
}
.cs-shot img {
  width: 100%;
  height: auto;
  max-height: 620px;
  object-fit: cover;
  border-radius: var(--radius-lg, 24px);
  border: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow: 0 30px 70px rgba(0, 0, 0, 0.45);
  display: block;
}
.cs-shot figcaption {
  margin-top: 14px;
  font-size: 0.875rem;
  color: rgba(255, 255, 255, 0.55);
  letter-spacing: 0.02em;
}
[data-case-study] .ys-trust-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: var(--s-3, 20px);
}
.cs-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 12px;
  font-size: 0.9375rem;
  font-weight: 600;
  color: var(--ys-green, #00ff88);
  text-decoration: none;
}
.cs-link:hover { gap: 14px; }

/* ===== nav-v2.css ===== */
/* ============================================================
   YOUSEE360 — NAVIGATION v2
   Glass nav + mega menu + CTA pill
   Loaded AFTER navigation.css to take precedence
   ============================================================ */

/* Reset old webflow nav internals that fight us */
.navigation-bar,
.navigation-bar.w-nav {
  position: fixed !important;
  top: 0; left: 0; right: 0;
  width: 100% !important;
  height: 80px !important;
  z-index: 99999 !important;
  background: rgba(8, 10, 14, 0.78) !important;
  backdrop-filter: blur(12px) saturate(140%) !important;
  -webkit-backdrop-filter: blur(12px) saturate(140%) !important;
  border-bottom: 1px solid rgba(255,255,255,0.06) !important;
  box-shadow: 0 1px 0 rgba(255,255,255,0.04), 0 20px 40px -20px rgba(0,0,0,0.6);
  transition: height .3s cubic-bezier(0.16,1,0.3,1), background .3s ease;
  display: flex !important;
  align-items: center;
  padding: 0 !important;
}

.navigation-bar.scrolled {
  height: 64px !important;
  background: rgba(6, 7, 10, 0.85) !important;
}

.nav-cont,
.nav-cont.w-container {
  width: 100% !important;
  max-width: 1440px !important;
  margin: 0 auto !important;
  padding: 0 clamp(20px, 3vw, 40px) !important;
  display: grid !important;
  grid-template-columns: auto 1fr auto !important;
  align-items: center !important;
  gap: var(--s-4) !important;
}

/* === LOGO === */
.logo, .f-logo, .nav-logo {
  display: flex !important;
  align-items: center;
  gap: 10px;
  height: 100% !important;
  background: none !important;
  margin: 0 !important;
  padding: 0 !important;
  text-decoration: none !important;
}
.logo::before, .f-logo::before {
  content: none !important;
}
.logo::after, .f-logo::after {
  content: none !important;
}
/* === NAV MENU === */
.navigation-menu,
.navigation-menu.w-nav-menu {
  display: flex !important;
  align-items: center;
  justify-content: center;
  gap: 4px;
  position: relative;
  height: 100%;
  background: none !important;
}

.navigation-link,
.navigation-link.w-nav-link {
  position: relative;
  padding: 10px 16px !important;
  font-size: 0.9375rem !important;
  font-weight: 500 !important;
  color: rgba(255,255,255,0.78) !important;
  letter-spacing: 0.005em;
  border-radius: 13px;
  background: none !important;
  transition: color .25s ease, background .25s ease;
  text-transform: none !important;
  white-space: nowrap;
  height: auto !important;
  line-height: 1.2 !important;
}
.navigation-link:hover,
.navigation-link.w-nav-link:hover {
  color: #fff !important;
  background: rgba(255,255,255,0.05) !important;
}
.navigation-link.w--current,
.navigation-link[aria-current="page"] {
  color: var(--ys-green, #00ff88) !important;
}
.navigation-link.w--current::after {
  content: "";
  position: absolute;
  left: 16px; right: 16px; bottom: 2px;
  height: 2px;
  background: var(--ys-green, #00ff88);
  border-radius: 3px;
  box-shadow: 0 0 8px rgba(0,255,136,0.6);
}

/* === DROPDOWN MEGA MENU === */
.w-dropdown {
  position: static !important;  /* allows full-width mega menu */
}

.w-dropdown-toggle {
  display: inline-flex !important;
  align-items: center;
  gap: 6px;
  padding: 10px 16px !important;
  font-size: 0.9375rem !important;
  font-weight: 500 !important;
  color: rgba(255,255,255,0.78) !important;
  border-radius: 13px;
  background: none !important;
  cursor: pointer;
  transition: color .25s ease, background .25s ease;
  height: auto !important;
  line-height: 1.2 !important;
}
.w-dropdown-toggle:hover {
  color: #fff !important;
  background: rgba(255,255,255,0.05) !important;
}
.w-icon-dropdown-toggle {
  width: 10px !important; height: 10px !important;
  margin: 0 !important;
  position: static !important;
  transition: transform .25s ease;
}
.w-dropdown:hover .w-icon-dropdown-toggle,
.w-dropdown.w--open .w-icon-dropdown-toggle {
  transform: rotate(180deg);
}
.w-icon-dropdown-toggle::before {
  content: "▾";
  font-size: 12px;
  color: inherit;
}

.w-dropdown-list,
.w-dropdown-list.w--open {
  position: absolute !important;
  top: 100% !important;
  left: 50% !important;
  transform: translateX(-50%) translateY(-10px) !important;
  width: min(960px, calc(100vw - 40px)) !important;
  max-width: 960px !important;
  background: rgba(10, 12, 18, 0.96) !important;
  backdrop-filter: blur(14px) saturate(140%) !important;
  -webkit-backdrop-filter: blur(14px) saturate(140%) !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  border-radius: 21px !important;
  padding: 20px !important;
  margin-top: 14px !important;
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 4px !important;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  box-shadow: 0 30px 60px -20px rgba(0,0,0,0.7), 0 0 0 1px rgba(0,255,136,0.04);
  transition: opacity .2s ease .15s, transform .2s ease .15s, visibility 0s linear .35s !important;
}
.w-dropdown:hover > .w-dropdown-list,
.w-dropdown.w--open > .w-dropdown-list,
.w-dropdown-list.w--open {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: translateX(-50%) translateY(0) !important;
  transition: opacity .2s ease, transform .2s ease, visibility 0s !important;
}

/* Invisible bridge to maintain hover state over the margin gap */
.w-dropdown-list::before {
  content: '';
  position: absolute;
  top: -40px;
  left: 0;
  width: 100%;
  height: 40px;
  background: transparent;
}
.w-dropdown-link {
  display: flex !important;
  flex-direction: column;
  padding: 14px 16px !important;
  color: rgba(255,255,255,0.85) !important;
  font-size: 0.9375rem !important;
  font-weight: 500 !important;
  border-radius: 13px !important;
  background: none !important;
  border: 1px solid transparent !important;
  transition: background .25s ease, border-color .25s ease, transform .2s ease !important;
  text-decoration: none !important;
  line-height: 1.3 !important;
  white-space: normal !important;
}
.w-dropdown-link:hover {
  background: rgba(0,255,136,0.06) !important;
  border-color: rgba(0,255,136,0.18) !important;
  color: #fff !important;
}
.w-dropdown-link::before {
  content: attr(data-desc);
  display: block;
  font-size: 0.75rem;
  font-weight: 400;
  color: rgba(255,255,255,0.45);
  margin-top: 2px;
  order: 2;
}
.w-dropdown-link {
  position: relative;
}
.w-dropdown-link[data-icon]::after {
  content: attr(data-icon);
  position: absolute;
  top: 14px; right: 16px;
  font-size: 1rem;
  color: var(--ys-green, #00ff88);
  opacity: 0.7;
}

/* === RIGHT SIDE: CTA + LANG === */
.nav-right {
  display: flex;
  align-items: center;
  gap: 10px;
}

.nav-cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 20px;
  border-radius: 999px;
  font-weight: 600;
  font-size: 0.9375rem;
  background: linear-gradient(135deg, #00ff88 0%, #2dffa6 100%);
  color: #001a10 !important;
  text-decoration: none !important;
  box-shadow: 0 6px 18px -6px rgba(0,255,136,0.55), inset 0 1px 0 rgba(255,255,255,0.3);
  transition: transform .25s cubic-bezier(0.16,1,0.3,1), box-shadow .25s ease;
  white-space: nowrap;
}
.nav-cta:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 26px -6px rgba(0,255,136,0.7), inset 0 1px 0 rgba(255,255,255,0.4);
  color: #001a10 !important;
}
.nav-cta::after {
  content: "→";
  transition: transform .25s ease;
}
.nav-cta:hover::after { transform: translateX(3px); }

.nav-lang-switch.navigation-link,
.nav-lang-switch {
  display: inline-flex !important;
  align-items: center;
  gap: 6px;
  padding: 8px 14px !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,0.05) !important;
  border: 1px solid rgba(255,255,255,0.08);
  font-size: 0.8125rem !important;
  font-weight: 500 !important;
  color: rgba(255,255,255,0.75) !important;
  transition: background .25s ease, color .25s ease;
}
.nav-lang-switch:hover {
  background: rgba(255,255,255,0.1) !important;
  color: #fff !important;
}
.nav-lang-switch i { color: var(--ys-green, #00ff88); }

/* === HAMBURGER (MOBILE) === */
.hamburger-button,
.hamburger-button.w-nav-button {
  display: none !important;
  width: 44px; height: 44px;
  border-radius: 13px !important;
  background: rgba(255,255,255,0.05) !important;
  border: 1px solid rgba(255,255,255,0.1) !important;
  align-items: center;
  justify-content: center;
  position: relative;
  cursor: pointer;
}
.hamburger-button .icon,
.hamburger-button .w-icon-nav-menu {
  width: 22px; height: 16px;
  position: relative;
  display: block;
}
.hamburger-button .icon::before,
.hamburger-button .icon::after,
.hamburger-button .icon span {
  content: "";
  position: absolute; left: 0; right: 0;
  height: 2px; background: #fff;
  border-radius: 3px;
  transition: transform .3s ease, top .3s ease, opacity .2s ease;
}
.hamburger-button .icon::before { top: 0; }
.hamburger-button .icon::after  { bottom: 0; }
.hamburger-button .icon span    { top: 7px; }

/* === RESPONSIVE === */
@media (max-width: 1100px) {
  .navigation-link, .w-dropdown-toggle { padding: 8px 12px !important; font-size: 0.875rem !important; }
  .nav-cta { padding: 9px 16px; font-size: 0.875rem; }
}

@media (max-width: 980px) {
  .hamburger-button,
  .hamburger-button.w-nav-button { display: flex !important; }
  .navigation-menu,
  .navigation-menu.w-nav-menu {
    position: fixed !important;
    top: 0; left: 0; right: 0; bottom: 0;
    width: 100% !important;
    height: 100vh !important;
    background: rgba(6, 7, 10, 0.98) !important;
    backdrop-filter: blur(30px);
    -webkit-backdrop-filter: blur(30px);
    flex-direction: column !important;
    justify-content: flex-start !important;
    padding: 100px 24px 40px !important;
    gap: 4px !important;
    overflow-y: auto;
    transform: translateX(100%);
    transition: transform .4s cubic-bezier(0.16,1,0.3,1);
  }
  .w-nav[data-nav-menu-open] .navigation-menu,
  .navigation-menu.w--nav-menu-open {
    transform: translateX(0) !important;
    display: flex !important;
  }
  .navigation-link, .w-dropdown-toggle {
    width: 100%;
    padding: 16px 20px !important;
    font-size: 1.125rem !important;
    border-radius: 13px;
    justify-content: space-between;
  }
  .w-dropdown { width: 100%; }
  .w-dropdown-list {
    position: static !important;
    transform: none !important;
    width: 100% !important;
    margin-top: 4px !important;
    grid-template-columns: 1fr !important;
    background: rgba(255,255,255,0.03) !important;
    padding: 8px !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    display: none !important;
    border: none !important;
    box-shadow: none !important;
  }
  .w-dropdown.w--open .w-dropdown-list { display: grid !important; }
  .nav-right {
    margin-top: 24px;
    width: 100%;
    flex-direction: column;
    align-items: stretch;
  }
  .nav-cta { justify-content: center; }
}

/* === BODY PADDING — push content below fixed nav === */
body { padding-top: 0 !important; }
.section.section-hero:first-of-type,
section.hero:first-of-type {
  padding-top: clamp(120px, 14vh, 180px) !important;
}

/* ===== perf-fixes.css ===== */
/* ============================================================
   YOUSEE360 — SCROLL PERFORMANCE FIXES
   Loaded LAST. Strips expensive paint triggers off elements that
   don't benefit from them, so native scrolling stays smooth.
   ============================================================ */

/* 1. Kill backdrop-filter on static cards/panels — they sit on a
      solid dark bg so the blur is pure cost with no visual benefit.
      Keep blur only on the nav and dropdown which actually overlap content. */
.ds-card,
.bento-card,
.value-card,
.ys-package,
.ys-testimonial,
.ys-portfolio-tile,
.ys-contact-card,
.glass-panel,
.featured-tour-container,
.utility-page-content,
.ys-trust,
.ys-trust-badge,
.contact-item,
.faq-item,
.accordion-item {
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

/* 2. The custom-cursor CSS used mix-blend-mode: difference, which
      promotes layers and causes paint storms even when the cursor is
      hidden. Force it off site-wide. */
.ys-cursor-dot,
.ys-cursor-ring {
  mix-blend-mode: normal !important;
}

/* 3. Limit will-change to the elements that animate. Indiscriminate
      will-change on transitions makes the GPU hold layers forever. */
.ds-card, .bento-card, .value-card, .ys-package,
.ys-testimonial, .ys-portfolio-tile, .nav-cta,
.portfolio-card, .ys-trust-badge, .ds-btn {
  will-change: auto;
}
.ds-card:hover, .bento-card:hover, .value-card:hover,
.ys-package:hover, .ys-portfolio-tile:hover, .nav-cta:hover,
.portfolio-card:hover, .ds-btn:hover {
  will-change: transform;
}

/* 4. Off-screen sections skip layout/paint until near viewport. */
section, .ys-section, .ds-section,
.ys-portfolio-teaser, .ys-testimonials, .ys-pricing,
.values-section, .mission-section, .founder-section,
.process-timeline, .industry-applications, .strategic-benefits {
  content-visibility: auto;
  contain-intrinsic-size: auto 800px;
}
/* Don't apply to hero — first paint matters there */
.hero-section, section.hero-section,
.about-hero, .portfolio-hero,
section[id="Hero"], #Hero {
  content-visibility: visible;
  contain-intrinsic-size: auto;
}

/* 5. Disable expensive card cursor-tracking glow on mid/low-power
      devices and during scroll. */
@media (max-width: 1024px), (pointer: coarse) {
  .ds-card::before, .bento-card::before { display: none !important; }
}

/* 6. Tone down hover transition that animates box-shadow on big cards
      (shadow re-blur during scroll = janky on weaker GPUs). */
.ds-card, .bento-card, .value-card,
.ys-package, .portfolio-card {
  transition: transform .3s cubic-bezier(0.16,1,0.3,1),
              border-color .3s ease !important;
}
.ds-card:hover, .bento-card:hover, .value-card:hover,
.ys-package:hover, .portfolio-card:hover {
  box-shadow: none !important;
}
.ds-card:hover, .bento-card:hover, .value-card:hover,
.ys-package:hover, .portfolio-card:hover,
.ys-portfolio-tile:hover {
  transform: translateY(-3px);
}

/* 7. Pannellum + tour iframes — promote to their own layer so they
      don't repaint with surrounding content. */
.ys-360-hero, .featured-tour-container, [data-pannellum] {
  transform: translateZ(0);
}

/* 8. The marquee animation — confine to its own layer */
.ys-marquee-track {
  will-change: transform;
  transform: translateZ(0);
}

/* 9. Body / html — let the browser scroll natively */
html { scroll-behavior: auto !important; }
body { overflow-x: hidden; }

/* 10. Reveal animations — shorten transition + don't animate filters */
[data-reveal] {
  transition: opacity .5s ease-out, transform .5s ease-out !important;
}

/* ============================================================
   HOMEPAGE SERVICES — replace clipping slider with clean grid
   ============================================================ */
.modern-services-slider-container {
  overflow: visible !important;
  padding: var(--s-5, 48px) clamp(20px, 4vw, 40px) !important;
  max-width: 1200px !important;
}
.modern-services-slider {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: var(--s-3, 24px) !important;
  transform: none !important;
  cursor: default !important;
  overflow: visible !important;
}
.modern-slide {
  flex: none !important;
  min-width: 0 !important;
  width: 100% !important;
  padding: 0 !important;
}
.modern-service-card {
  height: 100% !important;
  background: linear-gradient(180deg, rgba(255,255,255,0.025), rgba(255,255,255,0.005)), #0f1219 !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  border-radius: var(--radius-lg, 24px) !important;
  padding: var(--s-5, 40px) var(--s-4, 28px) !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center;
  text-align: center;
  text-decoration: none !important;
  transition: transform .3s cubic-bezier(0.16,1,0.3,1), border-color .3s !important;
  box-shadow: none !important;
}
.modern-service-card:hover {
  transform: translateY(-4px);
  border-color: rgba(0,255,136,0.3) !important;
  box-shadow: none !important;
}
.service-icon-circle {
  width: 56px !important;
  height: 56px !important;
  border-radius: 13px !important;
  background: linear-gradient(135deg, rgba(0,255,136,0.18), rgba(1,228,228,0.08)) !important;
  border: 1px solid rgba(0,255,136,0.22);
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  margin-bottom: var(--s-3, 20px) !important;
  color: var(--ys-green, #00ff88) !important;
  font-size: 1.25rem !important;
}
.service-title {
  font-size: 1.125rem !important;
  font-weight: 700 !important;
  letter-spacing: -0.005em !important;
  text-transform: none !important;
  margin: 0 0 10px !important;
  color: #fff !important;
  line-height: 1.25 !important;
  word-break: normal !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
}
.service-title strong { color: var(--ys-green, #00ff88); font-weight: 800; }
.service-description {
  font-size: 0.9375rem !important;
  color: rgba(255,255,255,0.65) !important;
  line-height: 1.55 !important;
  margin: 0 !important;
  flex: 1;
}

/* Hide the slider controls (no longer needed) */
.slider-navigation,
.modern-services-slider-container .slider-button,
.modern-services-slider-container .slider-pagination {
  display: none !important;
}

@media (max-width: 980px) {
  .modern-services-slider { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 600px) {
  .modern-services-slider { grid-template-columns: 1fr !important; }
  .modern-service-card { padding: 32px 24px !important; }
}

/* ===== mobile.css ===== */
/* ============================================================
   YOUSEE360 — MOBILE EXPERIENCE
   Full mobile redesign: menu, sticky action bar, FAB, 360 gyro,
   typography. Loaded last; mobile-first conversion-focused.
   ============================================================ */

/* The JS-injected mobile menu CTA — hidden on desktop, only shown
   when the mobile menu is open (rules inside @media below). */
.ys-mobile-top-cta {
  display: none !important;
}

/* ============================================================
   1. MOBILE NAV FIX — close behavior + X icon + CTA-first
   ============================================================ */
@media (max-width: 980px) {

  /* The menu container */
  .navigation-menu,
  .navigation-menu.w-nav-menu {
    position: fixed !important;
    top: 0; left: 0; right: 0; bottom: 0;
    width: 100% !important;
    height: 100dvh !important;
    height: 100vh !important;
    max-height: 100dvh !important;
    background: rgba(6, 7, 10, 0.98) !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
    padding: 88px 20px max(20px, env(safe-area-inset-bottom)) !important;
    gap: 2px !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
    transform: translateX(100%) !important;
    transition: transform .35s cubic-bezier(0.16,1,0.3,1) !important;
    z-index: 99998 !important;
    visibility: hidden;
    pointer-events: none;
  }
  .w-nav[data-nav-menu-open] .navigation-menu,
  .navigation-menu.w--nav-menu-open,
  .navigation-menu.is-open {
    transform: translateX(0) !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }

  /* Persistent mobile CTA at TOP of open menu — real <a> element */
  .navigation-menu::before { content: none !important; }
  .ys-mobile-top-cta {
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 16px 22px !important;
    margin: 0 0 14px 0;
    border-radius: 13px !important;
    background: linear-gradient(135deg, #00ff88, #2dffa6) !important;
    color: #001a10 !important;
    font-weight: 700;
    font-size: 1rem;
    text-align: center;
    text-decoration: none !important;
    box-shadow: 0 8px 24px -8px rgba(0,255,136,0.5);
    flex-shrink: 0;
    min-height: 56px;
    width: 100%;
  }
  .ys-mobile-top-cta::after { content: "→"; transition: transform .2s; }
  .ys-mobile-top-cta:active::after { transform: translateX(3px); }
  .navigation-menu .nav-cta {
    display: none !important; /* hide the bottom-positioned one — replaced by ys-mobile-top-cta */
  }
  /* On mobile, show the top CTA inside the open menu */
  .navigation-menu .ys-mobile-top-cta { display: flex !important; }

  /* Each link gets a big tap target + chevron */
  .navigation-link,
  .w-dropdown-toggle {
    width: 100%;
    padding: 18px 20px !important;
    font-size: 1.0625rem !important;
    border-radius: 13px !important;
    background: rgba(255,255,255,0.02) !important;
    border: 1px solid rgba(255,255,255,0.04);
    margin: 0 !important;
    min-height: 56px;
    justify-content: space-between !important;
    color: rgba(255,255,255,0.92) !important;
  }
  .navigation-link:hover,
  .navigation-link:active,
  .w-dropdown-toggle:active {
    background: rgba(0,255,136,0.06) !important;
    border-color: rgba(0,255,136,0.18) !important;
  }
  .navigation-link.w--current {
    background: rgba(0,255,136,0.08) !important;
    border-color: rgba(0,255,136,0.25) !important;
  }
  .navigation-link.w--current::after { display: none; }

  /* Right side block in menu — language switch only on mobile */
  .navigation-menu .nav-right {
    display: flex !important;
    margin-top: 18px;
    padding-top: 18px;
    border-top: 1px solid rgba(255,255,255,0.06);
    width: 100%;
    flex-direction: row !important;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
  }
  .nav-lang-switch {
    width: auto !important;
    padding: 10px 16px !important;
    background: rgba(255,255,255,0.05) !important;
    border: 1px solid rgba(255,255,255,0.08) !important;
    border-radius: 999px !important;
    font-size: 0.875rem !important;
    color: rgba(255,255,255,0.7) !important;
    flex: 0 0 auto !important;
    min-height: 0 !important;
  }

  /* Dropdown panel (Services / Industries) */
  .w-dropdown { width: 100%; }
  .w-dropdown.is-open .w-dropdown-toggle,
  .w-dropdown.w--open .w-dropdown-toggle {
    background: rgba(0,255,136,0.06) !important;
    border-color: rgba(0,255,136,0.18) !important;
    color: #fff !important;
  }
  .w-dropdown.is-open .w-icon-dropdown-toggle,
  .w-dropdown.w--open .w-icon-dropdown-toggle { transform: rotate(180deg); }
  /* High specificity selectors to override nav-v2.css desktop rules */
  .navigation-menu .w-dropdown-list,
  .navigation-menu .w-dropdown-list.w--open,
  .w-dropdown .w-dropdown-list,
  .w-dropdown.w--open .w-dropdown-list,
  .w-dropdown.is-open .w-dropdown-list {
    position: static !important;
    transform: none !important;
    width: 100% !important;
    max-width: 100% !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    margin: 4px 0 6px !important;
    grid-template-columns: 1fr !important;
    background: rgba(0,255,136,0.03) !important;
    border: 1px solid rgba(0,255,136,0.08) !important;
    padding: 6px !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    display: none !important;
    border-radius: 13px !important;
    box-shadow: none !important;
  }
  .w-dropdown.is-open .w-dropdown-list,
  .w-dropdown.w--open .w-dropdown-list,
  .navigation-menu .w-dropdown.is-open .w-dropdown-list,
  .navigation-menu .w-dropdown.w--open .w-dropdown-list { display: grid !important; }
  .w-dropdown-link {
    padding: 14px 16px !important;
    font-size: 0.9375rem !important;
    min-height: 48px;
    border-radius: 13px !important;
  }
  .w-dropdown-link::before { font-size: 0.6875rem !important; }
  .w-dropdown-link[data-icon]::after {
    font-size: 1rem !important;
    top: 14px !important;
  }

  /* Hamburger BUTTON — animate to X when open */
  .hamburger-button {
    width: 48px !important;
    height: 48px !important;
    z-index: 100000 !important;
    position: relative !important;
  }
  .hamburger-button .icon::before,
  .hamburger-button .icon::after,
  .hamburger-button .icon span {
    background: #fff !important;
  }
  .navigation-bar.is-menu-open .hamburger-button .icon::before {
    top: 7px !important;
    transform: rotate(45deg);
  }
  .navigation-bar.is-menu-open .hamburger-button .icon::after {
    bottom: 7px !important;
    transform: rotate(-45deg);
  }
  .navigation-bar.is-menu-open .hamburger-button .icon span {
    opacity: 0;
    transform: scaleX(0);
  }

  /* When menu is open, lock the nav bg so it doesn't flicker */
  .navigation-bar.is-menu-open {
    background: rgba(6,7,10,0.95) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  /* Body lock when menu open */
  body.menu-open {
    overflow: hidden !important;
    position: fixed;
    width: 100%;
  }
}

/* ============================================================
   2. STICKY BOTTOM ACTION BAR (mobile only)
   ============================================================ */
.ys-mob-bar {
  position: fixed;
  left: 12px;
  right: 12px;
  bottom: calc(12px + env(safe-area-inset-bottom));
  z-index: 9990;
  display: none;
  align-items: stretch;
  gap: 8px;
  padding: 8px;
  background: rgba(8, 10, 14, 0.85);
  backdrop-filter: blur(16px) saturate(160%);
  -webkit-backdrop-filter: blur(16px) saturate(160%);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 21px;
  box-shadow: 0 20px 40px -10px rgba(0,0,0,0.6);
  transform: translateY(0);
  transition: transform .35s cubic-bezier(0.16,1,0.3,1), opacity .25s ease;
}
.ys-mob-bar.is-hidden {
  transform: translateY(140%);
  opacity: 0;
  pointer-events: none;
}
.ys-mob-bar a {
  flex: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px 10px;
  border-radius: 13px;
  text-decoration: none;
  font-weight: 600;
  font-size: 0.875rem;
  -webkit-tap-highlight-color: transparent;
  min-height: 48px;
  transition: transform .15s ease, background .25s ease;
}
.ys-mob-bar a:active { transform: scale(0.97); }
.ys-mob-bar a.btn-call {
  background: rgba(255,255,255,0.06);
  color: #fff;
  border: 1px solid rgba(255,255,255,0.08);
}
.ys-mob-bar a.btn-wa {
  background: rgba(37,211,102,0.15);
  color: #25d366;
  border: 1px solid rgba(37,211,102,0.35);
}
.ys-mob-bar a.btn-quote {
  background: linear-gradient(135deg, #00ff88, #2dffa6);
  color: #001a10;
  flex: 1.4;
  font-weight: 700;
  box-shadow: 0 6px 18px -6px rgba(0,255,136,0.5);
}
.ys-mob-bar i { font-size: 1rem; }

@media (max-width: 768px) {
  .ys-mob-bar { display: flex; }
  /* Sticky bar clearance handled by body padding below */

  /* Portfolio tour cards: taller (portrait) so the 360 is more visible */
  body.aurora-on .portfolio-card-media,
  .portfolio-card-media {
    aspect-ratio: 3 / 4 !important;
  }
  /* Featured tour taller on mobile too */
  .featured-tour-container { min-height: 70vh; }

  /* Portfolio: force single column + contain width (no horizontal overflow) */
  .portfolio-showcase {
    grid-template-columns: 1fr !important;
    padding: 0 16px !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  .portfolio-card { max-width: 100% !important; }
  .portfolio-grid-section,
  .portfolio-filter-section,
  .featured-project-section,
  .portfolio-hero { overflow-x: clip; }
  .portfolio-filter-bar {
    flex-wrap: wrap !important;
    justify-content: center;
    gap: 8px !important;
    padding: 0 16px !important;
  }
  .featured-tour-container { max-width: 100% !important; }
}

/* ============================================================
   3. FLOATING CONTACT FAB (mobile only)
   Tap to expand contact methods radially.
   ============================================================ */
.ys-fab {
  position: fixed;
  right: 16px;
  bottom: calc(86px + env(safe-area-inset-bottom)); /* above the action bar */
  z-index: 9991;
  display: none;
}
.ys-fab-trigger {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: linear-gradient(135deg, #00ff88, #2dffa6);
  color: #001a10;
  border: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
  font-weight: 700;
  cursor: pointer;
  box-shadow: 0 10px 24px -8px rgba(0,255,136,0.6), inset 0 1px 0 rgba(255,255,255,0.4);
  transition: transform .35s cubic-bezier(0.16,1,0.3,1);
  -webkit-tap-highlight-color: transparent;
}
.ys-fab.is-open .ys-fab-trigger { transform: rotate(45deg); }

.ys-fab-options {
  position: absolute;
  right: 4px;
  bottom: 64px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  opacity: 0;
  pointer-events: none;
  transition: opacity .25s ease;
}
.ys-fab.is-open .ys-fab-options {
  opacity: 1;
  pointer-events: auto;
}
.ys-fab-option {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 10px 16px;
  border-radius: 999px;
  background: rgba(8, 10, 14, 0.92);
  backdrop-filter: blur(12px);
  border: 1px solid rgba(255,255,255,0.08);
  color: #fff;
  font-size: 0.875rem;
  font-weight: 600;
  text-decoration: none;
  white-space: nowrap;
  transform: translateY(10px);
  transition: transform .25s cubic-bezier(0.16,1,0.3,1) calc(var(--i, 0) * .04s), background .2s;
}
.ys-fab.is-open .ys-fab-option { transform: translateY(0); }
.ys-fab-option:active { background: rgba(0,255,136,0.15); }
.ys-fab-option i { color: var(--ys-green, #00ff88); width: 18px; }

@media (max-width: 768px) {
  .ys-fab { display: block; }
}

/* ============================================================
   4. GYROSCOPE 360 — overlay + permission prompt
   ============================================================ */
.ys-gyro-prompt {
  position: absolute;
  inset: 0;
  z-index: 6;
  display: none;
  align-items: center;
  justify-content: center;
  background: rgba(0,0,0,0.55);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  color: #fff;
  text-align: center;
  padding: 24px;
}
.ys-gyro-prompt.is-visible { display: flex; }
.ys-gyro-prompt-inner {
  max-width: 280px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
}
.ys-gyro-prompt-icon {
  width: 64px; height: 64px;
  border-radius: 50%;
  background: linear-gradient(135deg, rgba(0,255,136,0.25), rgba(1,228,228,0.1));
  border: 1px solid rgba(0,255,136,0.4);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--ys-green, #00ff88);
  font-size: 1.5rem;
  animation: gyro-tilt 2s ease-in-out infinite;
}
@keyframes gyro-tilt {
  0%, 100% { transform: rotate(-15deg); }
  50% { transform: rotate(15deg); }
}
.ys-gyro-prompt h4 {
  font-size: 1.0625rem !important;
  margin: 0 !important;
  font-weight: 700 !important;
}
.ys-gyro-prompt p {
  font-size: 0.875rem;
  color: rgba(255,255,255,0.7);
  margin: 0 !important;
}
.ys-gyro-prompt button {
  padding: 12px 24px;
  border-radius: 999px;
  background: linear-gradient(135deg, #00ff88, #2dffa6);
  color: #001a10;
  border: none;
  font-weight: 700;
  font-size: 0.875rem;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}

.ys-gyro-active-badge {
  position: absolute;
  top: 16px; right: 16px;
  z-index: 5;
  padding: 6px 12px;
  border-radius: 999px;
  background: rgba(0,255,136,0.18);
  border: 1px solid rgba(0,255,136,0.4);
  color: var(--ys-green, #00ff88);
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  display: none;
  align-items: center;
  gap: 6px;
}
.ys-gyro-active-badge.is-visible { display: inline-flex; }
.ys-gyro-active-badge::before {
  content: "";
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--ys-green, #00ff88);
  box-shadow: 0 0 8px rgba(0,255,136,0.8);
  animation: ds-pulse 1.5s ease-in-out infinite;
}

/* ============================================================
   5. MOBILE TYPOGRAPHY & SPACING TIGHTENING
   ============================================================ */
@media (max-width: 768px) {
  :root {
    --fs-display: clamp(2.25rem, 9vw, 3.25rem);
    --fs-h1: clamp(1.875rem, 6.5vw, 2.5rem);
    --fs-h2: clamp(1.5rem, 5vw, 2rem);
    --fs-body: 1rem;
    --section-py: clamp(48px, 8vw, 80px);
    --section-py-lg: clamp(64px, 10vw, 96px);
  }
  h1, .h1, .heading, .hero-heading,
  .apple-heading, .hero-section h1, .about-hero h1, .portfolio-hero h1 {
    font-size: clamp(2rem, 8.5vw, 3rem) !important;
    line-height: 1.05 !important;
    letter-spacing: -0.03em !important;
  }
  h2, .h2, .section-heading, .heading-2,
  .sexy-heading, .mission-title {
    font-size: clamp(1.625rem, 5.5vw, 2.25rem) !important;
    line-height: 1.1 !important;
  }
  h3, .h3, .bento-title, .service-title { font-size: 1.125rem !important; }

  /* Service/industry heroes shorten on mobile; homepage video hero stays full */
  .hero-section[data-service], .hero-section[data-industry], .hero-section.bg-dark:not(#Hero) {
    min-height: auto !important;
    padding: 100px 16px 40px !important;
  }
  #Hero.hero-section {
    height: 100vh !important;
    min-height: 560px !important;
    padding: 0 !important;
  }
  .about-hero, .portfolio-hero {
    min-height: auto !important;
    padding: 100px 16px 40px !important;
  }

  /* Reduce extreme padding everywhere */
  .ds-section, .section, section, .ys-section { padding: 56px 0 !important; }
  .container, .w-container { padding-left: 16px !important; padding-right: 16px !important; }

  /* Cards smaller padding */
  .ds-card, .bento-card, .value-card, .ys-package,
  .ys-testimonial, .modern-service-card { padding: 24px !important; }

  /* Why Us bento — clean 3-stat row + 2-feature row, no overlapping */
  #WhyUs .bento-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr 1fr !important;
    grid-auto-rows: auto !important;
    gap: 8px !important;
    padding: 0 16px !important;
    max-width: 100% !important;
    margin: 24px 0 0 !important;
  }
  /* Override ALL col-X rules on mobile */
  #WhyUs .bento-card,
  #WhyUs .bento-card.col-4,
  #WhyUs .bento-card.col-6,
  #WhyUs .bento-card.col-8,
  #WhyUs .bento-card.col-12 {
    grid-column: span 1 !important;
    position: static !important;
    min-height: 0 !important;
    height: auto !important;
    padding: 18px 10px !important;
    border-radius: 13px !important;
    background: linear-gradient(180deg, rgba(0,255,136,0.04), rgba(255,255,255,0.005)), #0f1219 !important;
    border: 1px solid rgba(255,255,255,0.08) !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
  }
  /* Feature cards (col-6) span full row of 3 */
  #WhyUs .bento-card.col-6 {
    grid-column: span 3 !important;
    padding: 22px 18px !important;
  }
  #WhyUs .bento-content {
    width: 100% !important;
    text-align: center !important;
  }
  #WhyUs .bento-stat {
    font-size: 1.5rem !important;
    line-height: 1 !important;
    margin: 0 0 6px !important;
    color: var(--ys-cyan, #01e4e4) !important;
    font-weight: 800 !important;
    letter-spacing: -0.03em;
  }
  #WhyUs .bento-text {
    font-size: 0.75rem !important;
    line-height: 1.3 !important;
    color: rgba(255,255,255,0.65) !important;
    margin: 0 !important;
  }
  #WhyUs .bento-card.col-6 .bento-text {
    font-size: 0.8125rem !important;
  }
  #WhyUs .bento-title {
    font-size: 1rem !important;
    margin: 8px 0 4px !important;
    color: #fff !important;
  }
  #WhyUs .bento-icon-wrapper {
    width: 40px !important;
    height: 40px !important;
    margin: 0 auto 8px !important;
    font-size: 0.875rem !important;
  }
  /* Belt-and-braces fallback under 380px: stack stats vertically */
  @media (max-width: 380px) {
    #WhyUs .bento-grid { grid-template-columns: 1fr 1fr !important; }
    #WhyUs .bento-card.col-6 { grid-column: span 2 !important; }
    #WhyUs .bento-card { padding: 16px 8px !important; }
    #WhyUs .bento-stat { font-size: 1.375rem !important; }
  }

  /* Bottom-of-page padding so last section doesn't sit under action bar (single source of truth) */
  body { padding-bottom: 88px !important; }

  /* Marquee smaller */
  .ys-marquee-item { font-size: clamp(1.5rem, 7vw, 2rem) !important; }

  /* Testimonials stack already done */
  /* Portfolio grid mobile */
  .ys-portfolio-grid { min-height: 0; grid-template-rows: none !important; }
  .ys-portfolio-grid > a:nth-child(1) { grid-row: auto !important; }

  /* Trust strip wraps tighter */
  .ys-trust-badges { gap: 8px !important; }
  .ys-trust-badge { padding: 8px 12px !important; font-size: 0.8125rem !important; }

  /* Hide nav-right items on mobile when collapsed (they appear inside open menu) */
  .navigation-bar .nav-right { display: none !important; }

  /* Footer CTA tighter */
  .ys-footer-v2 .ys-footer-cta h2 { font-size: 1.875rem !important; line-height: 1.1 !important; }

  /* Buttons grow tap target */
  .ds-btn, .btn-primary, .nav-cta { min-height: 48px; padding: 13px 22px !important; }

  /* The 360 hero on service pages — reduce height */
  .ys-360-hero { height: 360px !important; }
  /* body padding-bottom set above (single source) */
}

/* ============================================================
   6. SCROLL FATIGUE REDUCTION — collapse heavy sections
   ============================================================ */
@media (max-width: 768px) {
  /* Hide marquee on mobile — too much visual noise alongside everything else */
  .ys-marquee { display: none !important; }

  /* Hide the homepage social-proof-bar duplicate (it appears twice) */
  .social-proof-bar { padding: 24px 16px !important; }
}

/* ============================================================
   7. ENTRY ANIMATIONS — subtle for mobile
   ============================================================ */
@media (max-width: 768px) {
  [data-reveal] {
    transition: opacity .4s ease-out, transform .4s ease-out !important;
    transform: translateY(12px) !important;
  }
  [data-reveal].is-visible { transform: none !important; }
}

/* ============================================================
   9. HOW WE WORK — centered, contained on mobile
   ============================================================ */
@media (max-width: 768px) {
  #How.section,
  section#How {
    padding: 56px 0 !important;
  }
  #How .container { padding: 0 !important; }
  .process-tabs {
    padding: 0 !important;
    max-width: 100%;
  }

  /* Tab buttons: horizontal scroll snap row, centered start */
  .process-tab-buttons {
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    overflow-y: hidden;
    gap: 8px !important;
    padding: 4px 16px 16px !important;
    margin: 0 !important;
    width: 100% !important;
    justify-content: flex-start !important;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    -ms-overflow-style: none;
    box-sizing: border-box;
  }
  .process-tab-buttons::-webkit-scrollbar { display: none; }
  .process-tab-btn {
    flex: 0 0 auto !important;
    scroll-snap-align: center;
    padding: 10px 18px !important;
    font-size: 0.8125rem !important;
    border-radius: 999px !important;
    white-space: nowrap;
    min-height: 40px;
    text-transform: uppercase !important;
    letter-spacing: 0.08em;
  }

  /* Panel: contained inside viewport, centered, glass card */
  .process-tab-panels {
    padding: 0 16px;
    margin: 0;
    box-sizing: border-box;
  }
  .process-tab-panel {
    padding: 0 !important;
    margin: 0 !important;
  }
  .process-tab-content {
    display: flex !important;
    flex-direction: column !important;
    gap: 24px !important;
    align-items: center !important;
    text-align: center !important;
    padding: 28px 22px !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box;
    border-radius: 21px !important;
    background: linear-gradient(180deg, rgba(255,255,255,0.025), rgba(255,255,255,0.005)), #0f1219 !important;
    border: 1px solid rgba(0,255,136,0.15) !important;
  }
  .process-tab-text {
    width: 100% !important;
    max-width: 100% !important;
    text-align: center !important;
  }
  .process-tab-text .step-number {
    display: inline-block !important;
    margin-bottom: 12px !important;
    font-size: 0.6875rem !important;
    letter-spacing: 0.22em !important;
    text-transform: uppercase !important;
    color: var(--ys-green, #00ff88) !important;
    padding: 4px 12px;
    border-radius: 999px;
    background: rgba(0,255,136,0.08);
    border: 1px solid rgba(0,255,136,0.22);
  }
  .process-tab-text h3,
  .process-tab-text .sexy-heading {
    font-size: 1.5rem !important;
    line-height: 1.15 !important;
    margin: 8px 0 12px !important;
    word-wrap: break-word;
    overflow-wrap: break-word;
    text-align: center !important;
    letter-spacing: -0.02em;
  }
  .process-tab-text p,
  .process-tab-text .bento-description {
    font-size: 0.9375rem !important;
    line-height: 1.6 !important;
    color: rgba(255,255,255,0.7) !important;
    margin: 0 !important;
  }
  /* Visual icon: smaller, centered, with glow circle */
  .process-tab-visual {
    width: 80px !important;
    height: 80px !important;
    max-width: 80px !important;
    min-height: 0 !important;
    margin: 0 auto !important;
    font-size: 1.75rem !important;
    border-radius: 50%;
    background: linear-gradient(135deg, rgba(0,255,136,0.18), rgba(1,228,228,0.08)) !important;
    border: 1px solid rgba(0,255,136,0.3);
    color: var(--ys-green, #00ff88) !important;
    text-shadow: none !important;
    order: -1;
  }

  /* === ROI CALCULATOR mobile fix === */
  #ROICalculator.section .section-title-group,
  #ROICalculator .section-title-group {
    text-align: center !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 0 16px;
  }
  #ROICalculator h2.sexy-heading {
    text-align: center !important;
    font-size: clamp(1.625rem, 5.5vw, 2.25rem) !important;
    line-height: 1.1 !important;
    margin: 0 auto var(--s-2) !important;
  }
  #ROICalculator .section-subheading {
    text-align: center !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 auto !important;
    font-size: 0.9375rem !important;
  }
  #ROICalculator .glass-card {
    grid-template-columns: 1fr !important;
    max-width: 100% !important;
    margin: 24px 16px 0 !important;
    padding: 20px !important;
    gap: 24px !important;
  }
  #ROICalculator .roi-results,
  #ROICalculator .roi-inputs {
    width: 100% !important;
    max-width: 100% !important;
  }

  /* === Contact section heading center on mobile === */
  #Contact .section-title-group,
  #Contact h2 { text-align: center !important; }
}

/* ============================================================
   10. SERVICES GRID — elegant horizontal swipe-card carousel on mobile
   ============================================================ */
@media (max-width: 768px) {
  /* ============================================================
     SERVICES — IMMERSIVE CARD STACK (mobile)
     Vertical stack of full-width cards, unique accent color per
     service, animated sheen on press, counter badges, staggered
     reveal. No more horizontal swipe, no more tiny tiles.
     ============================================================ */

  /* Force section into single-column block layout */
  main#What.section,
  #What.section.wwd {
    display: block !important;
    padding: 64px 0 !important;
    background-image: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }
  #What .container-8,
  #What .container-8.w-container {
    display: block !important;
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  /* Section heading row — centered, full width */
  main#What .section-title-group,
  #What .section-title-group {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 24px !important;
    margin: 0 0 36px !important;
    text-align: center !important;
    float: none !important;
  }

  /* Hide ALL old slider controls */
  .slider-navigation,
  .modern-services-slider-container .slider-button,
  .modern-services-slider-container .slider-pagination,
  .modern-services-slider-container::before,
  .modern-services-slider-container::after {
    display: none !important;
  }

  .modern-services-slider-container {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: visible !important;
    background: none !important;
  }

  /* Vertical stack — counter-reset for the badge numbers */
  .modern-services-slider {
    counter-reset: ys-svc !important;
    display: flex !important;
    flex-direction: column !important;
    grid-template-columns: none !important;
    gap: 14px !important;
    padding: 0 16px !important;
    margin: 0 !important;
    overflow: visible !important;
    transform: none !important;
    scroll-snap-type: none !important;
  }

  .modern-slide {
    flex: none !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    counter-increment: ys-svc !important;
    position: relative;
  }

  /* Brand colors only — green + cyan (consistent across all cards) */
  .modern-slide .modern-service-card { --accent: #00ff88; --accent2: #22d3ee; }

  /* THE IMMERSIVE CARD */
  .modern-service-card {
    --accent: #00ff88;
    --accent2: #2dffa6;
    position: relative;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    height: auto !important;
    min-height: 200px !important;
    padding: 26px 24px !important;
    border-radius: 21px !important;
    background:
      radial-gradient(140% 110% at 100% -10%, rgba(0,255,136,0.16), transparent 55%),
      radial-gradient(130% 90% at -10% 110%, rgba(1,228,228,0.10), transparent 55%),
      linear-gradient(180deg, rgba(255,255,255,0.04), rgba(255,255,255,0.005)),
      #0a0d14 !important;
    border: 1px solid rgba(255,255,255,0.07) !important;
    box-shadow:
      0 28px 56px -28px rgba(0,0,0,0.6),
      0 0 0 1px rgba(255,255,255,0.02) inset !important;
    text-decoration: none !important;
    overflow: hidden;
    transition: transform .3s cubic-bezier(0.16,1,0.3,1),
                border-color .35s ease,
                box-shadow .35s ease !important;
    text-align: left !important;
    isolation: isolate;
  }

  /* Diagonal accent strip top-left — visual identity */
  .modern-service-card > .service-icon-circle {
    width: 54px !important;
    height: 54px !important;
    margin: 0 0 16px !important;
    border-radius: 13px !important;
    font-size: 1.4rem !important;
    background: linear-gradient(135deg, var(--accent), var(--accent2)) !important;
    border: none !important;
    color: #04120c !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    box-shadow: 0 12px 26px -10px rgba(0,255,136,0.6);
    position: relative;
    z-index: 2;
  }
  .modern-service-card > .service-icon-circle i {
    color: #04120c !important;
  }

  /* Counter badge top-right ("01" "02" etc.) */
  .modern-service-card::after {
    content: counter(ys-svc, decimal-leading-zero);
    position: absolute;
    top: 22px;
    right: 22px;
    font-family: 'Outfit', sans-serif;
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.22em;
    color: color-mix(in srgb, var(--accent) 75%, white);
    padding: 6px 12px;
    border-radius: 999px;
    background: color-mix(in srgb, var(--accent) 10%, rgba(0,0,0,0.4));
    border: 1px solid color-mix(in srgb, var(--accent) 30%, transparent);
    z-index: 3;
    backdrop-filter: blur(8px);
  }

  /* Animated sheen on press */
  .modern-service-card::before {
    content: "";
    position: absolute;
    top: -120%; left: -20%;
    width: 140%; height: 340%;
    background: linear-gradient(
      45deg,
      transparent 42%,
      color-mix(in srgb, var(--accent) 14%, transparent) 50%,
      transparent 58%
    );
    opacity: 0;
    transform: translateY(40%);
    transition: opacity .4s ease, transform .9s cubic-bezier(0.16,1,0.3,1);
    pointer-events: none;
    z-index: 1;
  }
  .modern-service-card:active::before {
    opacity: 1;
    transform: translateY(0);
  }

  /* Active state */
  .modern-service-card:active {
    transform: scale(0.985);
    border-color: color-mix(in srgb, var(--accent) 55%, transparent) !important;
    box-shadow:
      0 28px 56px -28px rgba(0,0,0,0.7),
      0 0 32px -8px color-mix(in srgb, var(--accent) 35%, transparent),
      0 0 0 1px color-mix(in srgb, var(--accent) 20%, transparent) inset !important;
  }

  /* Title — large, bold, left-aligned */
  .modern-service-card > .service-title {
    position: relative;
    z-index: 2;
    font-size: 1.25rem !important;
    margin: 0 0 10px !important;
    font-weight: 700 !important;
    letter-spacing: 0.01em !important;
    line-height: 1.2 !important;
    text-transform: none !important;
    color: #ffffff !important;
    text-align: left !important;
    width: 100%;
    text-shadow: 0 1px 2px rgba(0,0,0,0.4);
  }
  .modern-service-card > .service-title strong {
    color: var(--accent);
    font-weight: 700;
  }

  /* Description — brighter for legibility */
  .modern-service-card > .service-description {
    position: relative;
    z-index: 2;
    font-size: 0.9375rem !important;
    line-height: 1.55 !important;
    color: rgba(255,255,255,0.82) !important;
    margin: 0 0 16px !important;
    text-align: left !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 3 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    flex: 1;
  }

  /* "Explore →" CTA pinned at bottom-right of each card */
  .modern-service-card .service-cta,
  .modern-slide .modern-service-card::after {
    /* keeping ::after for counter, will inject CTA via JS or rely on description ::after */
  }
  /* Inject Explore CTA in the corner via container */
  .modern-slide::after {
    content: "Explore →";
    position: absolute;
    bottom: 22px;
    right: 24px;
    z-index: 3;
    font-size: 0.8125rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    color: color-mix(in srgb, var(--accent, #00ff88) 90%, white);
    pointer-events: none;
    transition: transform .3s cubic-bezier(0.16,1,0.3,1);
  }
  .modern-slide:active::after { transform: translateX(4px); }

  /* Staggered entrance reveal */
  .modern-slide {
    opacity: 0;
    transform: translateY(28px);
    transition: opacity .55s cubic-bezier(0.16,1,0.3,1),
                transform .55s cubic-bezier(0.16,1,0.3,1);
  }
  .modern-slide.is-visible { opacity: 1; transform: none; }
  .modern-slide:nth-child(1) { transition-delay: 0.06s; }
  .modern-slide:nth-child(2) { transition-delay: 0.12s; }
  .modern-slide:nth-child(3) { transition-delay: 0.18s; }
  .modern-slide:nth-child(4) { transition-delay: 0.24s; }
  .modern-slide:nth-child(5) { transition-delay: 0.30s; }
  .modern-slide:nth-child(6) { transition-delay: 0.36s; }
}

/* Fallback: browsers without color-mix support — keep accent visible */
@supports not (background: color-mix(in srgb, #fff 50%, transparent)) {
  @media (max-width: 768px) {
    .modern-service-card {
      background:
        radial-gradient(140% 110% at 100% -10%, rgba(0,255,136,0.16), transparent 55%),
        #0a0d14 !important;
      border-color: rgba(0,255,136,0.2) !important;
    }
    .modern-service-card::after {
      color: var(--accent, #00ff88) !important;
      background: rgba(0,255,136,0.1) !important;
      border-color: rgba(0,255,136,0.3) !important;
    }
  }
}

/* ============================================================
   Z. HIDE DUPLICATES on mobile
   The bottom action bar already gives Call + WhatsApp + Quote.
   The old floating widgets are removed for the mobile breakpoint.
   ============================================================ */
@media (max-width: 768px) {
  /* Old standalone WhatsApp floater */
  .whatsapp-float,
  a.whatsapp-float,
  .whatsapp-floating-button { display: none !important; }
  /* Old "Book Your Tour Now" sticky CTA on home */
  .mobile-sticky-cta,
  a.mobile-sticky-cta { display: none !important; }
  /* Any leftover floating contact widgets */
  .floating-contact,
  .floating-cta:not(.ys-fab):not(.ys-mob-bar) { display: none !important; }
}

/* On desktop keep the original whatsapp floater visible only if user wants it */
@media (min-width: 769px) {
  .whatsapp-float { z-index: 9989; }
}

/* ============================================================
   8. SUPER-COOL TOUCH RIPPLE on .ripple-able buttons
   ============================================================ */
.ripple-able { position: relative; overflow: hidden; }
.ripple-able .ys-ripple {
  position: absolute;
  border-radius: 50%;
  background: rgba(255,255,255,0.35);
  transform: scale(0);
  pointer-events: none;
  animation: ys-ripple .55s cubic-bezier(0.16,1,0.3,1);
}
@keyframes ys-ripple {
  to { transform: scale(3.5); opacity: 0; }
}

/* ===== wow.css ===== */
/* ============================================================
   YOUSEE360 — WOW LAYER
   Coolest-ever effects: mesh bg, magnetic CTAs, 3D tilt, hero
   text reveal, counters, spotlight cursor, page transitions.
   Loaded last in the cascade.
   ============================================================ */

/* ============================================================
   1. ANIMATED MESH GRADIENT BACKGROUND (body)
   ============================================================ */
body::before {
  content: "";
  position: fixed;
  inset: -10%;
  z-index: -2;
  pointer-events: none;
  background:
    radial-gradient(at 22% 18%, rgba(0,255,136,0.16) 0px, transparent 38%),
    radial-gradient(at 78% 32%, rgba(1,228,228,0.10) 0px, transparent 42%),
    radial-gradient(at 30% 78%, rgba(255,61,166,0.06) 0px, transparent 40%),
    radial-gradient(at 88% 90%, rgba(0,255,136,0.07) 0px, transparent 42%);
  filter: blur(40px);
  opacity: 0.65;
  animation: ys-mesh-drift 22s ease-in-out infinite alternate;
  will-change: transform;
}
body::after {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background:
    linear-gradient(180deg, rgba(6,7,10,0.4) 0%, rgba(6,7,10,0.92) 100%);
}
@keyframes ys-mesh-drift {
  0%   { transform: translate3d(0, 0, 0) scale(1); }
  50%  { transform: translate3d(-3%, 2%, 0) scale(1.05); }
  100% { transform: translate3d(2%, -2%, 0) scale(1.02); }
}
@media (prefers-reduced-motion: reduce) {
  body::before { animation: none; }
}
/* Only show on dark sections (which is everywhere) */
.ys-error-page,
.utility-page-wrap {
  isolation: isolate; /* keep error pages from sitting under the mesh */
}

/* ============================================================
   2. MAGNETIC CTA — buttons drift toward cursor (desktop)
   JS sets --mag-x / --mag-y, CSS animates.
   ============================================================ */
.ys-magnetic {
  transition: transform .35s cubic-bezier(0.16,1,0.3,1);
  will-change: transform;
}
.ys-magnetic.is-near {
  transform: translate(var(--mag-x, 0), var(--mag-y, 0));
}
@media (hover: none) {
  .ys-magnetic { transform: none !important; }
}

/* ============================================================
   3. 3D CARD TILT — perspective + cursor-following depth
   ============================================================ */
.ys-tilt {
  transform-style: preserve-3d;
  transform: perspective(900px) rotateX(0deg) rotateY(0deg);
  transition: transform .35s cubic-bezier(0.16,1,0.3,1);
  will-change: transform;
}
.ys-tilt > * { transform: translateZ(20px); transform-style: preserve-3d; }
.ys-tilt .icon-wrap,
.ys-tilt .service-icon-circle,
.ys-tilt .bento-icon-wrapper,
.ys-tilt .value-icon { transform: translateZ(40px); }
@media (hover: none), (max-width: 980px) {
  .ys-tilt { transform: none !important; }
  .ys-tilt > * { transform: none !important; }
}

/* ============================================================
   4. HERO TEXT REVEAL — letter-by-letter mask
   ============================================================ */
.ys-reveal-text {
  display: inline-block;
  overflow: hidden;
  vertical-align: bottom;
}
.ys-reveal-text > .ys-letter,
.ys-reveal-text > .ys-word {
  display: inline-block;
  transform: translateY(110%);
  opacity: 0;
  animation: ys-reveal-up .9s cubic-bezier(0.16,1,0.3,1) forwards;
  animation-delay: calc(var(--i, 0) * 30ms);
  white-space: pre;
}
@keyframes ys-reveal-up {
  to { transform: translateY(0); opacity: 1; }
}
@media (prefers-reduced-motion: reduce) {
  .ys-reveal-text > .ys-letter,
  .ys-reveal-text > .ys-word { transform: none; opacity: 1; animation: none; }
}

/* ============================================================
   5. SPOTLIGHT CURSOR — radial light follows pointer
   Subtle ambient illumination of the section under the cursor.
   ============================================================ */
.ys-spotlight {
  position: fixed;
  top: 0; left: 0;
  width: 600px; height: 600px;
  border-radius: 50%;
  background: radial-gradient(circle,
    rgba(0,255,136,0.10) 0%,
    rgba(0,255,136,0.04) 30%,
    transparent 65%);
  transform: translate(-50%, -50%) translate3d(0,0,0);
  pointer-events: none;
  z-index: 1;
  mix-blend-mode: screen;
  opacity: 0;
  transition: opacity .4s ease;
  will-change: transform, opacity;
}
.ys-spotlight.is-visible { opacity: 1; }
@media (hover: none), (max-width: 980px) { .ys-spotlight { display: none; } }

/* ============================================================
   6. CINEMATIC PAGE TRANSITION
   ============================================================ */
.ys-page-transition {
  position: fixed;
  inset: 0;
  z-index: 999999;
  background: linear-gradient(135deg, #00ff88 0%, #2dffa6 50%, #01e4e4 100%);
  transform: translateY(100%);
  pointer-events: none;
  will-change: transform;
}
.ys-page-transition.is-entering {
  transform: translateY(0);
  transition: transform .55s cubic-bezier(0.65, 0, 0.35, 1);
}
.ys-page-transition.is-leaving {
  transform: translateY(-100%);
  transition: transform .55s cubic-bezier(0.65, 0, 0.35, 1) .05s;
}
.ys-page-transition .ys-loader-mark {
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  width: 60px; height: 60px;
  border-radius: 50%;
  background: rgba(0,26,16,0.15);
  border: 2px solid rgba(0,26,16,0.5);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #001a10;
  font-weight: 700;
  font-size: 1.5rem;
  letter-spacing: -0.05em;
  animation: ys-spin 1s linear infinite;
}
@keyframes ys-spin { to { transform: translate(-50%,-50%) rotate(360deg); } }

/* ============================================================
   7. ANIMATED COUNTERS
   ============================================================ */
.ys-counter {
  font-variant-numeric: tabular-nums;
  display: inline-block;
  min-width: 1ch;
}

/* ============================================================
   8. SHIMMER LINK — green underline animates under links
   ============================================================ */
.ys-shimmer {
  position: relative;
  display: inline-block;
}
.ys-shimmer::after {
  content: "";
  position: absolute;
  left: 0; right: 100%; bottom: -3px;
  height: 1.5px;
  background: linear-gradient(90deg, var(--ys-green, #00ff88), transparent);
  transition: right .4s cubic-bezier(0.16,1,0.3,1);
}
.ys-shimmer:hover::after { right: 0; }

/* ============================================================
   9. NOISY GLITCH on key headings (opt-in via .glitch)
   ============================================================ */
.glitch {
  position: relative;
  display: inline-block;
}
.glitch::before, .glitch::after {
  content: attr(data-text);
  position: absolute;
  top: 0; left: 0;
  width: 100%;
  overflow: hidden;
  pointer-events: none;
  opacity: 0;
  mix-blend-mode: screen;
}
.glitch:hover::before {
  color: var(--ys-cyan, #01e4e4);
  transform: translate(-2px, 0);
  animation: ys-glitch-1 .35s ease;
  opacity: 0.85;
}
.glitch:hover::after {
  color: var(--ys-accent-pink, #ff3da6);
  transform: translate(2px, 0);
  animation: ys-glitch-2 .35s ease;
  opacity: 0.85;
}
@keyframes ys-glitch-1 {
  0%,100% { clip-path: inset(0 0 0 0); }
  20% { clip-path: inset(10% 0 70% 0); }
  40% { clip-path: inset(50% 0 25% 0); }
  60% { clip-path: inset(75% 0 5% 0); }
  80% { clip-path: inset(20% 0 60% 0); }
}
@keyframes ys-glitch-2 {
  0%,100% { clip-path: inset(0 0 0 0); }
  25% { clip-path: inset(60% 0 15% 0); }
  50% { clip-path: inset(15% 0 70% 0); }
  75% { clip-path: inset(40% 0 30% 0); }
}

/* ============================================================
   10. SECTION ENTRY — staggered fade-up by index
   ============================================================ */
[data-stagger] > * {
  opacity: 0;
  transform: translateY(28px);
}
[data-stagger].is-in > * {
  opacity: 1;
  transform: none;
  transition: opacity .8s cubic-bezier(0.16,1,0.3,1),
              transform .8s cubic-bezier(0.16,1,0.3,1);
}
[data-stagger].is-in > *:nth-child(1) { transition-delay: 0s; }
[data-stagger].is-in > *:nth-child(2) { transition-delay: .08s; }
[data-stagger].is-in > *:nth-child(3) { transition-delay: .16s; }
[data-stagger].is-in > *:nth-child(4) { transition-delay: .24s; }
[data-stagger].is-in > *:nth-child(5) { transition-delay: .32s; }
[data-stagger].is-in > *:nth-child(6) { transition-delay: .40s; }
@media (prefers-reduced-motion: reduce) {
  [data-stagger] > * { opacity: 1 !important; transform: none !important; }
}

/* ============================================================
   11. SCROLL BORDER ACCENT — green line draws on as you scroll
   ============================================================ */
.ys-side-rail {
  position: fixed;
  top: 0;
  left: 0;
  width: 2px;
  height: 100vh;
  background: linear-gradient(180deg, rgba(0,255,136,0) 0%, rgba(0,255,136,0.4) 50%, rgba(0,255,136,0) 100%);
  z-index: 9990;
  pointer-events: none;
  opacity: 0;
  transition: opacity .4s ease;
}
.ys-side-rail.is-visible { opacity: 1; }
@media (max-width: 980px) { .ys-side-rail { display: none; } }

/* ============================================================
   12. CTA AURORA — green aura around primary CTAs
   ============================================================ */
.ds-btn-primary,
.nav-cta,
.pkg-btn:not(.ghost) {
  position: relative;
  isolation: isolate;
}
.ds-btn-primary::before,
.nav-cta::before {
  content: "";
  position: absolute;
  inset: -4px;
  background: linear-gradient(135deg, rgba(0,255,136,0.6), rgba(45,255,166,0.6), rgba(1,228,228,0.4));
  border-radius: inherit;
  filter: blur(10px);
  z-index: -1;
  opacity: 0;
  transition: opacity .35s ease;
}
.ds-btn-primary:hover::before,
.nav-cta:hover::before { opacity: 0.85; }

/* ===== animations.css ===== */
/* YouSee360 Advanced Animations & Apple-Inspired Design System */

/* Global Variables */
:root {
  --primary-color: #66cc79;
  --primary-glow: rgba(102, 204, 121, 0.7);
  --apple-black: #1d1d1f;
  --apple-gray: #f5f5f7;
  --apple-text-gray: #86868b;
  --white: #ffffff;
  --animation-speed-medium: 0.5s;
  --animation-speed-fast: 0.3s;
}

/* Force Legibility on ALL backgrounds */
.bg-dark {
  background-color: #000000 !important;
  color: var(--white) !important;
}

.bg-dark h1,
.bg-dark h2,
.bg-dark h3,
.bg-dark h4,
.bg-dark p,
.bg-dark span,
.bg-dark div {
  color: var(--white) !important;
}

.bg-dark .section-subheading,
.bg-dark .bento-description {
  color: var(--apple-text-gray) !important;
}

.bg-light {
  background-color: var(--apple-gray) !important;
  color: var(--apple-black) !important;
}

.bg-light h1,
.bg-light h2,
.bg-light h3,
.bg-light h4,
.bg-light p,
.bg-light span,
.bg-light div {
  color: var(--apple-black) !important;
}

.bg-light .section-subheading,
.bg-light .bento-description {
  color: var(--apple-text-gray) !important;
}

/* Apple Typography */
.section-tag {
  color: var(--primary-color) !important;
  text-transform: uppercase;
  letter-spacing: 2px;
  font-weight: 700;
  font-size: 14px;
  margin-bottom: 16px;
  display: block;
}

.apple-heading {
  font-size: 48px;
  line-height: 1.1;
  font-weight: 700;
  letter-spacing: -0.02em;
  margin-bottom: 24px;
}

.highlight {
  color: var(--primary-color) !important;
}

@media (max-width: 768px) {
  .apple-heading {
    font-size: 32px;
  }
}

/* Standard Section Padding */
.section {
  padding: 100px 0 !important;
}

.container {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 24px;
}

.centered {
  text-align: center;
}

/* Bento Grid */
.bento-grid {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  grid-auto-rows: minmax(200px, auto);
  gap: 24px;
  margin-top: 48px;
}

.bento-card {
  background: #161617;
  /* Slightly lighter than pure black */
  border-radius: 34px;
  padding: 40px;
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
  text-decoration: none;
  border: 1px solid rgba(255, 255, 255, 0.1);
}

.bento-card:hover {
  transform: scale(1.02);
}

.bento-card.col-6 {
  grid-column: span 6;
}

.bento-card.col-4 {
  grid-column: span 4;
}

.bento-card.col-8 {
  grid-column: span 8;
}

.bento-card.row-2 {
  grid-row: span 2;
}

@media (max-width: 991px) {

  .bento-card.col-6,
  .bento-card.col-4,
  .bento-card.col-8 {
    grid-column: span 12;
  }
}

.bento-title {
  color: var(--white) !important;
  font-size: 28px;
  font-weight: 600;
  margin-bottom: 12px;
  text-transform: none;
  /* Override global uppercase */
  letter-spacing: normal;
}

.bento-description {
  color: var(--apple-text-gray) !important;
  font-size: 17px;
  line-height: 1.5;
}

.bento-icon-wrapper {
  width: 56px;
  height: 56px;
  background: rgba(255, 255, 255, 0.05);
  border-radius: 21px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 24px;
}

.bento-icon-wrapper i {
  font-size: 24px;
  color: var(--primary-color) !important;
}

/* Glass Tabs - Modern Apple Style */
.apple-tabs-menu {
  display: flex;
  justify-content: center;
  background: rgba(0, 0, 0, 0.05);
  padding: 6px;
  border-radius: 21px;
  margin-bottom: 48px;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
}

.apple-tab-link {
  padding: 10px 24px;
  border-radius: 13px;
  color: var(--apple-black) !important;
  font-weight: 500;
  transition: all 0.3s ease;
  cursor: pointer;
  background: transparent;
  border: none;
}

.apple-tab-link.w--current {
  background: var(--white) !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
  color: var(--primary-color) !important;
}

.apple-tab-pane {
  display: flex;
  align-items: center;
  gap: 60px;
  padding: 20px 0;
}

.apple-tab-visual {
  flex: 1;
  background: var(--apple-gray);
  border-radius: 34px;
  min-height: 400px;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Standard Animations */
[data-scroll-animation] {
  opacity: 0;
  transform: translateY(30px);
  transition: all 0.8s cubic-bezier(0.4, 0, 0.2, 1);
}

[data-scroll-animation].visible {
  opacity: 1;
  transform: translateY(0);
}

/* Primary Button Apple Style */
.btn-primary {
  background-color: var(--apple-black) !important;
  color: var(--white) !important;
  padding: 16px 32px;
  border-radius: 980px;
  font-weight: 600;
  transition: all 0.3s ease;
  border: none;
  display: inline-block;
  text-decoration: none;
}

/* === FUTURE UI UPGRADES === */

/* 1. Hero Particles Container */
#hero-particles {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  /* Behind content but above background */
  pointer-events: none;
  /* Let clicks pass through */
  overflow: hidden;
}

.hero-section {
  position: relative;
  /* Ensure it contains the absolute particles */
}

.hero-section .container {
  position: relative;
  z-index: 2;
  /* Content above particles */
}

/* 2. Custom Cursor (Enhancement Overlay - keeps native cursor visible) */
body {
  /* cursor: none removed - keep native cursor visible for reliability */
}

/* Force show standard cursor on touch devices */
@media (pointer: coarse) {
  body {
    cursor: auto !important;
  }

  #future-cursor,
  #future-follower {
    display: none !important;
  }
}

#future-cursor {
  position: fixed;
  top: 0;
  left: 0;
  width: 8px;
  height: 8px;
  background: #fff;
  border-radius: 50%;
  pointer-events: none;
  z-index: 2147483647;
  box-shadow: 0 0 10px #fff, 0 0 3px 2px rgba(0, 0, 0, 0.5);
  transition: transform 0.05s linear;
  opacity: 0;
  will-change: transform;
  /* Start hidden until mouse moves */
}

#future-follower {
  position: fixed;
  top: 0;
  left: 0;
  width: 30px;
  height: 30px;
  border: 1px solid rgba(1, 228, 228, 0.8);
  border-radius: 50%;
  pointer-events: none;
  z-index: 2147483646;
  transition: width 0.3s, height 0.3s, background-color 0.3s, border-color 0.3s;
  box-shadow: 0 0 15px rgba(1, 228, 228, 0.3);
  will-change: transform;
}

#future-follower.active {
  width: 50px;
  height: 50px;
  background-color: rgba(1, 228, 228, 0.1);
  border-color: #00ff66;
  box-shadow: 0 0 20px rgba(0, 255, 102, 0.3);
  backdrop-filter: blur(2px);
}

.btn-primary:hover {
  background-color: #333 !important;
  transform: scale(1.05);
}

.bg-dark .btn-primary {
  background-color: var(--primary-color) !important;
  color: var(--apple-black) !important;
}

/* Helper Classes */
.white-text {
  color: var(--white) !important;
}

.black-text {
  color: var(--apple-black) !important;
}

.off-white-text {
  color: var(--apple-text-gray) !important;
}

/* ===================================
   SERVICE PAGE SPECIFIC STYLES
   =================================== */

/* Service Page Hero - Parallax Background */
.hero-section[data-service] {
  position: relative;
  min-height: 70vh;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(180deg, #0a0a0a 0%, #050510 100%);
  padding: 120px 20px 80px;
  overflow: hidden;
}

.parallax-container {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  pointer-events: none;
}

.parallax-bg {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  max-width: 400px;
  width: 60%;
  height: auto;
  opacity: 0.15;
  filter: brightness(0) invert(1);
}

.particles-background {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
}

.hero-section[data-service] .container {
  position: relative;
  z-index: 2;
  text-align: center;
}

.hero-section[data-service] .animated-heading,
.hero-section[data-service] h1 {
  font-family: 'Montserrat', sans-serif;
  font-weight: 800;
  font-size: 3.5rem;
  color: #fff !important;
  margin-bottom: 20px;
  text-shadow: 0 0 30px rgba(0, 0, 0, 0.5);
}

.hero-section[data-service] .animated-subheading,
.hero-section[data-service] .hero-subheading {
  font-size: 1.3rem;
  color: rgba(255, 255, 255, 0.7) !important;
  max-width: 600px;
  margin: 0 auto;
}

@media (max-width: 767px) {

  .hero-section[data-service] .animated-heading,
  .hero-section[data-service] h1 {
    font-size: 2rem;
  }

  .parallax-bg {
    max-width: 250px;
    opacity: 0.1;
  }
}

/* Process Timeline - Service Pages */
.process-timeline {
  background: linear-gradient(180deg, #050510 0%, #0a0a0a 100%);
  padding: 80px 0;
  position: relative;
}

.process-timeline h2 {
  text-align: center;
  font-size: 2.5rem;
  font-weight: 700;
  color: #fff !important;
  margin-bottom: 60px;
}

.timeline {
  max-width: 800px;
  margin: 0 auto;
  position: relative;
  padding-left: 60px;
}

.timeline::before {
  content: '';
  position: absolute;
  left: 30px;
  top: 0;
  bottom: 0;
  width: 2px;
  background: linear-gradient(180deg, var(--primary-color), rgba(102, 204, 121, 0.2));
}

.timeline-item {
  position: relative;
  margin-bottom: 50px;
  padding-left: 30px;
}

.timeline-icon {
  position: absolute;
  left: -45px;
  width: 50px;
  height: 50px;
  background: #161617;
  border: 2px solid var(--primary-color);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2;
}

.timeline-icon i {
  color: var(--primary-color) !important;
  font-size: 1.2rem;
}

.timeline-content h3 {
  color: #fff !important;
  font-size: 1.5rem;
  font-weight: 600;
  margin-bottom: 10px;
}

.timeline-content p {
  color: rgba(255, 255, 255, 0.7) !important;
  font-size: 1rem;
  line-height: 1.6;
}

.timeline-details {
  margin-top: 15px;
}

.timeline-details ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.timeline-details ul li {
  color: rgba(255, 255, 255, 0.6) !important;
  font-size: 0.9rem;
  padding: 5px 0;
  padding-left: 20px;
  position: relative;
}

.timeline-details ul li::before {
  content: '→';
  position: absolute;
  left: 0;
  color: var(--primary-color);
}

/* Industry Applications Section */
.industry-applications {
  background: #0a0a0a;
  padding: 80px 0;
}

.industry-applications h2 {
  text-align: center;
  font-size: 2.5rem;
  font-weight: 700;
  color: #fff !important;
  margin-bottom: 50px;
}

.industry-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 25px;
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 20px;
}

.industry-card {
  position: relative;
  border-radius: 21px;
  overflow: hidden;
  height: 280px;
  display: block;
  text-decoration: none;
  background: #161617;
  border: 1px solid rgba(255, 255, 255, 0.1);
  transition: all 0.4s ease;
}

.industry-card:hover {
  transform: translateY(-8px) scale(1.02);
  background: rgba(255, 255, 255, 0.95) !important;
  border-color: var(--primary-color);
  box-shadow: 0 25px 50px rgba(0, 0, 0, 0.3), 0 0 40px rgba(102, 204, 121, 0.2);
}

.industry-image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transition: opacity 0.4s ease;
}

.industry-card:hover .industry-image {
  opacity: 0.15;
}

.industry-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.3;
  transition: all 0.4s ease;
}

.industry-card:hover .industry-image img {
  opacity: 0.2;
  transform: scale(1.05);
}

.industry-overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 25px;
  background: linear-gradient(0deg, rgba(0, 0, 0, 0.9) 0%, transparent 100%);
  z-index: 2;
  transition: all 0.4s ease;
}

.industry-card:hover .industry-overlay {
  background: transparent;
}

.industry-overlay h3 {
  color: #fff !important;
  font-size: 1.4rem;
  font-weight: 700;
  margin-bottom: 8px;
  transition: color 0.4s ease;
}

.industry-card:hover .industry-overlay h3 {
  color: #000 !important;
}

.industry-overlay p {
  color: rgba(255, 255, 255, 0.7) !important;
  font-size: 0.9rem;
  margin-bottom: 10px;
  transition: color 0.4s ease;
}

.industry-card:hover .industry-overlay p {
  color: #333 !important;
}

.learn-more {
  color: var(--primary-color) !important;
  font-size: 0.9rem;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  transition: all 0.3s ease;
}

.industry-card:hover .learn-more {
  gap: 12px;
  color: var(--primary-color) !important;
}

/* CTA Section - Service Pages */
.cta-section {
  background: linear-gradient(180deg, #0a0a0a 0%, #050505 100%);
  padding: 80px 0;
  text-align: center;
}

.cta-content h2 {
  font-size: 2.5rem;
  font-weight: 700;
  color: #fff !important;
  margin-bottom: 20px;
}

.cta-content p {
  color: rgba(255, 255, 255, 0.7) !important;
  font-size: 1.1rem;
  margin-bottom: 30px;
  max-width: 600px;
  margin-left: auto;
  margin-right: auto;
}

.cta-button {
  position: relative;
  overflow: hidden;
}

.btn-glow {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  background: var(--primary-color);
  opacity: 0;
  filter: blur(20px);
  transition: opacity 0.3s ease;
  pointer-events: none;
}

.cta-button:hover .btn-glow {
  opacity: 0.4;
}

/* Form Container */
.form-container {
  max-width: 500px;
  margin: 40px auto 0;
  background: #161617;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 21px;
  padding: 40px;
  display: none;
}

.form-container.active {
  display: block;
}

.form-group {
  margin-bottom: 20px;
}

.form-group label {
  display: block;
  color: rgba(255, 255, 255, 0.7) !important;
  font-size: 0.9rem;
  margin-bottom: 8px;
}

.form-group input,
.form-group select,
.form-group textarea {
  width: 100%;
  padding: 14px 16px;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 13px;
  color: #fff;
  font-size: 1rem;
  transition: all 0.3s ease;
}

.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {
  outline: none;
  border-color: var(--primary-color);
  box-shadow: 0 0 10px rgba(102, 204, 121, 0.2);
}

.form-group input::placeholder,
.form-group textarea::placeholder {
  color: rgba(255, 255, 255, 0.4);
}

.success-message {
  background: rgba(102, 204, 121, 0.1);
  border: 1px solid var(--primary-color);
  border-radius: 21px;
  padding: 40px;
  text-align: center;
  display: none;
  max-width: 500px;
  margin: 40px auto 0;
}

.success-message.active {
  display: block;
}

.success-message h3 {
  color: var(--primary-color) !important;
  font-size: 1.5rem;
  margin-bottom: 10px;
}

.success-message p {
  color: rgba(255, 255, 255, 0.7) !important;
}

/* ===================================
   INDUSTRY HERO SECTION
   =================================== */

.industry-hero {
  position: relative;
  min-height: 60vh;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(180deg, #0a0a0a 0%, #050510 100%);
  padding: 120px 20px 80px;
  overflow: hidden;
}

.industry-hero::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 80%;
  height: 60%;
  background: radial-gradient(ellipse, rgba(102, 204, 121, 0.08) 0%, transparent 70%);
  pointer-events: none;
}

.industry-particles {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
}

.industry-hero .container {
  position: relative;
  z-index: 2;
}

.industry-hero .apple-heading {
  font-size: 3rem;
  color: #fff !important;
}

.industry-hero .hero-subheading {
  color: rgba(255, 255, 255, 0.7) !important;
}

/* Text color classes */
.text-primary {
  color: var(--primary-color) !important;
}

.text-secondary {
  color: var(--primary-color) !important;
}

/* Service page section fixes */
.section.bg-dark .section-subheading,
.section.bg-dark .bento-description {
  color: rgba(255, 255, 255, 0.7) !important;
}

/* Ensure bento-card col-12 spans full width */
.bento-card.col-12 {
  grid-column: span 12;
}

/* ===================================
   INDUSTRY STATS SECTION
   =================================== */
.industry-stats {
  display: flex;
  justify-content: center;
  gap: 40px;
  margin-top: 50px;
  flex-wrap: wrap;
}

.industry-stats .stat-item {
  text-align: center;
  padding: 20px 30px;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 21px;
  backdrop-filter: blur(10px);
  min-width: 140px;
  transition: all 0.3s ease;
}

.industry-stats .stat-item:hover {
  background: rgba(102, 204, 121, 0.1);
  border-color: var(--primary-color);
  transform: translateY(-5px);
}

.industry-stats .stat-number {
  font-size: 2.5rem;
  font-weight: 800;
  color: var(--primary-color) !important;
  text-shadow: 0 0 20px rgba(102, 204, 121, 0.4);
  line-height: 1;
  margin-bottom: 8px;
}

.industry-stats .stat-number .counter {
  color: inherit !important;
}

.industry-stats .stat-label {
  font-size: 0.85rem;
  color: rgba(255, 255, 255, 0.7) !important;
  text-transform: uppercase;
  letter-spacing: 1px;
  font-weight: 500;
}

/* ===================================
   STRATEGIC BENEFITS SECTION
   =================================== */
.strategic-benefits {
  padding: 80px 0;
  background: #050505;
}

.strategic-benefits .section-title-group {
  margin-bottom: 40px;
}

.strategic-benefits .section-title-group.centered {
  text-align: center;
}

.strategic-benefits .apple-heading {
  font-size: 2.5rem;
  color: #fff !important;
  margin-bottom: 20px;
}

.strategic-benefits .bento-grid {
  margin-top: 40px;
}

.strategic-benefits .bento-card {
  background: rgba(22, 22, 23, 0.8);
  border: 1px solid rgba(255, 255, 255, 0.1);
  padding: 40px;
  border-radius: 21px;
}

.strategic-benefits .bento-card:hover {
  border-color: var(--primary-color);
  background: rgba(40, 40, 45, 0.9);
}

.strategic-benefits .bento-icon-wrapper {
  width: 60px;
  height: 60px;
  background: rgba(102, 204, 121, 0.1);
  border-radius: 21px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 20px;
}

.strategic-benefits .bento-icon-wrapper i {
  font-size: 28px;
  color: var(--primary-color) !important;
}

.strategic-benefits .bento-title {
  font-size: 1.3rem;
  font-weight: 600;
  color: #fff !important;
  margin-bottom: 12px;
}

.strategic-benefits .bento-description {
  font-size: 1rem;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.7) !important;
}

/* Success Stories Section */
.success-stories {
  padding: 80px 0;
  background: #0a0a0a;
}

.success-stories h2 {
  text-align: center;
  font-size: 2.5rem;
  font-weight: 700;
  color: #fff !important;
  margin-bottom: 20px;
}

.success-stories .section-intro {
  text-align: center;
  color: rgba(255, 255, 255, 0.7) !important;
  font-size: 1.1rem;
  max-width: 700px;
  margin: 0 auto 50px;
}

/* Service Options Section */
.service-options {
  padding: 80px 0;
  background: #050505;
}

.service-options .section-title-group.centered {
  text-align: center;
  margin-bottom: 50px;
}

.service-options .section-tag {
  color: var(--primary-color) !important;
  text-transform: uppercase;
  letter-spacing: 2px;
  font-size: 0.85rem;
  font-weight: 600;
  margin-bottom: 15px;
  display: block;
}

.service-options .apple-heading {
  font-size: 2.5rem;
  color: #fff !important;
  margin-bottom: 20px;
}

.service-options .section-intro {
  color: rgba(255, 255, 255, 0.7) !important;
  font-size: 1.1rem;
  max-width: 700px;
  margin: 0 auto;
}

@media (max-width: 767px) {
  .industry-hero .apple-heading {
    font-size: 2rem;
  }

  .industry-hero {
    min-height: 50vh;
    padding: 100px 20px 60px;
  }

  .industry-stats {
    gap: 20px;
  }

  .industry-stats .stat-item {
    min-width: 100px;
    padding: 15px 20px;
  }

  .industry-stats .stat-number {
    font-size: 2rem;
  }

  .strategic-benefits .apple-heading,
  .success-stories h2,
  .service-options .apple-heading {
    font-size: 1.8rem;
  }
}
/* ===== blog.css ===== */
/* ============================================================
   YOUSEE360 — BLOG MODULES
   Styles for the blog index and individual blog posts
   ============================================================ */

.blog-container {
  display: block !important;
  max-width: 1240px;
  width: 100% !important;
  margin: 0 auto;
  padding: 0 20px;
  clear: both;
}

/* Blog Hero Section */
.blog-hero {
  position: relative;
  padding: 180px 0 100px;
  background: linear-gradient(135deg, #0a0a15 0%, #050505 50%, #0a0a20 100%);
  overflow: hidden;
}

.blog-hero::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background:
    radial-gradient(ellipse at 30% 20%, rgba(1, 228, 228, 0.15) 0%, transparent 50%),
    radial-gradient(ellipse at 70% 80%, rgba(0, 255, 102, 0.1) 0%, transparent 40%);
  pointer-events: none;
}

.blog-hero::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 200px;
  background: linear-gradient(to top, var(--ys-bg), transparent);
  pointer-events: none;
}

.blog-hero-content {
  position: relative;
  z-index: 2;
  text-align: center;
}

.blog-hero-title {
  font-size: clamp(2.5rem, 6vw, 4.5rem);
  font-weight: 800;
  margin-bottom: 20px;
  background: linear-gradient(135deg, #fff 0%, var(--ys-cyan) 50%, #fff 100%);
  background-size: 200% auto;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  animation: shimmer 3s ease-in-out infinite;
}

@keyframes shimmer {
  0%, 100% { background-position: 0% center; }
  50% { background-position: 200% center; }
}

.blog-hero-subtitle {
  font-size: 1.25rem;
  color: var(--ys-text-muted);
  max-width: 600px;
  margin: 0 auto 40px;
  line-height: 1.7;
}

/* Category Filters */
.category-filters {
  display: flex;
  justify-content: center;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 60px;
}

.filter-pill {
  padding: 10px 24px;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 34px;
  color: var(--ys-text-muted);
  font-size: 0.9rem;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.3s var(--ease-out);
  text-decoration: none;
}

.filter-pill:hover,
.filter-pill.active {
  background: var(--ys-green);
  border-color: var(--ys-green);
  color: #001a10;
  transform: translateY(-2px);
  box-shadow: 0 10px 30px rgba(0, 255, 136, 0.3);
}

.filter-pill i {
  margin-right: 8px;
}

/* Filters and topic cards are <button>s (they act on this page, they don't
   navigate). Buttons don't inherit the page font or fill their grid cell by
   default, so restore both and give keyboard users a visible focus ring. */
.filter-pill,
.topic-card {
  font-family: inherit;
  -webkit-appearance: none;
  appearance: none;
}

.topic-card {
  display: block;
  width: 100%;
  cursor: pointer;
  color: inherit;
}

.filter-pill:focus-visible,
.topic-card:focus-visible {
  outline: 2px solid var(--ys-green);
  outline-offset: 3px;
}

/* Featured Article */
.featured-article {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  gap: 0;
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: var(--radius-xl);
  overflow: hidden;
  margin-bottom: 80px;
  transition: all 0.5s var(--ease-out);
}

.featured-article:hover {
  border-color: var(--ys-green);
  box-shadow: 0 30px 80px rgba(0, 255, 136, 0.15);
  transform: translateY(-8px);
}

.featured-image-wrapper {
  position: relative;
  height: 100%;
  min-height: 450px;
  overflow: hidden;
}

.featured-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.7s var(--ease-out);
}

.featured-article:hover .featured-image {
  transform: scale(1.08);
}

.featured-image-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(135deg, rgba(0, 0, 0, 0.2) 0%, rgba(1, 228, 228, 0.1) 100%);
}

.featured-badge {
  position: absolute;
  top: 24px;
  left: 24px;
  padding: 8px 18px;
  background: linear-gradient(135deg, var(--ys-green), var(--ys-cyan));
  border-radius: 21px;
  color: #001a10;
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  z-index: 2;
}

.featured-content {
  padding: 40px 60px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.featured-category {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--ys-green);
  font-size: 0.85rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 2px;
  margin-bottom: 16px;
}

.featured-title {
  font-size: clamp(1.8rem, 3vw, 2.5rem);
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 20px;
  color: #fff;
}

.featured-excerpt {
  color: var(--ys-text-muted);
  font-size: 1.05rem;
  line-height: 1.75;
  margin-bottom: 30px;
}

.featured-meta {
  display: flex;
  align-items: center;
  gap: 20px;
  color: rgba(255, 255, 255, 0.5);
  font-size: 0.9rem;
  margin-bottom: 30px;
}

.featured-meta span {
  display: flex;
  align-items: center;
  gap: 8px;
}

.read-more-btn {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 16px 32px;
  background: transparent;
  border: 1px solid var(--ys-cyan);
  border-radius: 50px;
  color: var(--ys-cyan);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 1px;
  font-size: 0.9rem;
  transition: all 0.3s var(--ease-out);
  text-decoration: none;
  width: fit-content;
}

.read-more-btn:hover {
  background: var(--ys-cyan);
  color: #001a10;
  transform: translateX(5px);
  box-shadow: 0 10px 30px rgba(1, 228, 228, 0.4);
}

.read-more-btn i {
  transition: transform 0.3s ease;
}

.read-more-btn:hover i {
  transform: translateX(4px);
}

/* Blog Grid */
.blog-section-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 40px;
}

.blog-section-title {
  font-size: 1.8rem;
  font-weight: 700;
  color: #fff;
}

.blog-grid-premium {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 30px;
  margin-bottom: 80px;
}

.blog-card-premium {
  position: relative;
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: var(--radius-lg);
  overflow: hidden;
  transition: all 0.4s var(--ease-out);
  text-decoration: none;
  display: flex;
  flex-direction: column;
}

.blog-card-premium:hover {
  border-color: rgba(0, 255, 136, 0.3);
  transform: translateY(-12px);
  box-shadow: 0 25px 60px rgba(0, 0, 0, 0.4), 0 0 40px rgba(0, 255, 136, 0.1);
}

.card-image-wrapper {
  position: relative;
  height: 220px;
  overflow: hidden;
  background: #000;
}

.card-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease, filter 0.5s ease;
  opacity: 0.75;
}

.blog-card-premium:hover .card-image {
  transform: scale(1.1);
  opacity: 1;
  filter: contrast(1.1) brightness(1.1);
}

/* Category Overlays */
.card-image-wrapper::after {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  pointer-events: none;
  mix-blend-mode: overlay;
  opacity: 0.4;
  transition: opacity 0.3s ease;
}

.blog-card-premium:hover .card-image-wrapper::after {
  opacity: 0.2;
}

/* Hospitality - Green/Teal */
.blog-card-premium[data-category="hospitality"] .card-image-wrapper::after {
  background: linear-gradient(135deg, var(--ys-green), transparent);
}

/* Real Estate - Gold/Cyan */
.blog-card-premium[data-category="real-estate"] .card-image-wrapper::after {
  background: linear-gradient(135deg, #ffd700, var(--ys-cyan));
}

/* Technology - Blue/Purple */
.blog-card-premium[data-category="technology"] .card-image-wrapper::after {
  background: linear-gradient(135deg, #0077ff, #8a2be2);
}

/* Marketing - Magenta/Red */
.blog-card-premium[data-category="marketing"] .card-image-wrapper::after {
  background: linear-gradient(135deg, #ff00ff, #ff4500);
}

/* Tips & Guides - Orange/Amber */
.blog-card-premium[data-category="guides"] .card-image-wrapper::after {
  background: linear-gradient(135deg, #ff8c00, #ffa500);
}

/* Drone - Emerald/Deep Blue */
.blog-card-premium[data-category="drone"] .card-image-wrapper::after {
  background: linear-gradient(135deg, #50c878, #00008b);
}

.card-category-tag {
  position: absolute;
  top: 16px;
  left: 16px;
  padding: 6px 14px;
  background: rgba(0, 0, 0, 0.6);
  backdrop-filter: blur(10px);
  border-radius: 21px;
  color: var(--ys-green);
  font-size: 0.7rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 1px;
}

.card-content {
  padding: 28px;
  flex: 1;
  display: flex;
  flex-direction: column;
}

.card-title {
  font-size: 1.25rem;
  font-weight: 600;
  color: #fff;
  margin-bottom: 12px;
  line-height: 1.4;
  transition: color 0.3s ease;
}

.blog-card-premium:hover .card-title {
  color: var(--ys-green);
}

.card-excerpt {
  color: var(--ys-text-muted);
  font-size: 0.95rem;
  line-height: 1.6;
  margin-bottom: 20px;
  flex: 1;
}

.card-meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 16px;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
  color: rgba(255, 255, 255, 0.4);
  font-size: 0.85rem;
}

.card-date {
  display: flex;
  align-items: center;
  gap: 6px;
}

.card-read-time {
  display: flex;
  align-items: center;
  gap: 6px;
}

/* Coming Soon Card */
.blog-card-coming-soon {
  position: relative;
}

.blog-card-coming-soon::after {
  content: 'Coming Soon';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  padding: 12px 30px;
  background: rgba(0, 0, 0, 0.85);
  border: 1px solid var(--ys-green);
  border-radius: 34px;
  color: var(--ys-green);
  font-weight: 600;
  font-size: 0.9rem;
  text-transform: uppercase;
  letter-spacing: 2px;
  z-index: 10;
}

.blog-card-coming-soon .card-image-wrapper,
.blog-card-coming-soon .card-content {
  opacity: 0.4;
}

/* Newsletter Section */
.newsletter-section {
  position: relative;
  padding: 100px 0;
  background: linear-gradient(135deg, rgba(1, 228, 228, 0.05) 0%, transparent 50%, rgba(0, 255, 102, 0.03) 100%);
  border-top: 1px solid rgba(255, 255, 255, 0.05);
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

.newsletter-content {
  max-width: 700px;
  margin: 0 auto;
  text-align: center;
}

.newsletter-icon {
  width: 80px; height: 80px;
  margin: 0 auto 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, rgba(1, 228, 228, 0.15), rgba(0, 255, 102, 0.1));
  border-radius: 50%;
  font-size: 2rem;
  color: var(--ys-green);
}

.newsletter-title {
  font-size: 2.5rem;
  font-weight: 700;
  margin-bottom: 16px;
  color: #fff;
}

.newsletter-subtitle {
  color: var(--ys-text-muted);
  font-size: 1.1rem;
  margin-bottom: 40px;
  line-height: 1.7;
}

.newsletter-form {
  display: flex;
  gap: 16px;
  max-width: 500px;
  margin: 0 auto;
}

.newsletter-input {
  flex: 1;
  padding: 18px 28px;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 50px;
  color: #fff;
  font-size: 1rem;
  outline: none;
  transition: all 0.3s var(--ease-out);
}

.newsletter-input:focus {
  border-color: var(--ys-green);
  box-shadow: 0 0 20px rgba(0, 255, 136, 0.2);
}

.newsletter-input::placeholder {
  color: rgba(255, 255, 255, 0.4);
}

.newsletter-btn {
  padding: 18px 36px;
  background: var(--ys-green);
  border: none;
  border-radius: 50px;
  color: #001a10;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  cursor: pointer;
  transition: all 0.3s var(--ease-out);
}

.newsletter-btn:hover {
  transform: scale(1.05);
  box-shadow: 0 15px 40px rgba(0, 255, 136, 0.4);
}

/* Topics Section */
.topics-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  margin-top: 60px;
}

.topic-card {
  padding: 30px;
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 21px;
  text-align: center;
  transition: all 0.3s var(--ease-out);
  text-decoration: none;
}

.topic-card:hover {
  border-color: var(--ys-green);
  transform: translateY(-8px);
  box-shadow: 0 20px 50px rgba(0, 255, 136, 0.15);
}

.topic-icon {
  width: 60px; height: 60px;
  margin: 0 auto 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, rgba(0, 255, 136, 0.1), transparent);
  border-radius: 21px;
  font-size: 1.5rem;
  color: var(--ys-green);
}

.topic-name {
  font-size: 1rem;
  font-weight: 600;
  color: #fff;
  margin-bottom: 8px;
}

.topic-count {
  font-size: 0.85rem;
  color: var(--ys-text-muted);
}

/* ============================================================
   BLOG POST SPECIFIC STYLES
   ============================================================ */
.blog-post-hero {
  padding: 180px 0 80px;
  text-align: center;
  background: linear-gradient(180deg, #0a0a15 0%, var(--ys-bg) 100%);
  position: relative;
  overflow: hidden;
}

.blog-post-hero::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  background: radial-gradient(circle at 50% 30%, rgba(0, 255, 136, 0.1), transparent 70%);
  pointer-events: none;
}

.post-meta-top {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px 24px;
  color: var(--ys-text-dim);
  font-size: 0.9rem;
  margin-bottom: 30px;
}

.post-meta-top span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  white-space: nowrap;
}

/* The eyebrow carries wide tracking; keep it from eating the whole row. */
.post-meta-top .eyebrow {
  letter-spacing: 0.12em;
}

@media (max-width: 700px) {
  .post-meta-top {
    gap: 10px 14px;
    font-size: 0.8rem;
    margin-bottom: 22px;
  }
  .post-meta-top .eyebrow {
    letter-spacing: 0.08em;
  }
}

.post-meta-top i {
  color: var(--ys-green);
}

.blog-post-container {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 20px 100px;
}

.blog-post-content {
  background: rgba(255, 255, 255, 0.015);
  border: 1px solid rgba(255, 255, 255, 0.05);
  border-radius: var(--radius-xl);
  padding: 60px 80px;
  color: rgba(255, 255, 255, 0.85);
  line-height: 1.8;
  backdrop-filter: blur(20px);
}

@media (max-width: 768px) {
  .blog-post-container {
    padding: 0 10px 60px;
  }
  .blog-post-content {
    padding: 30px 20px;
  }
}

.blog-post-content h2 {
  color: #fff;
  margin-top: 50px;
  margin-bottom: 24px;
  font-size: 2rem;
}

.blog-post-content h3 {
  color: #fff;
  margin-top: 40px;
  margin-bottom: 20px;
  font-size: 1.5rem;
}

.blog-post-content p {
  margin-bottom: 24px;
  font-size: 1.125rem;
}

.blog-post-content ul, 
.blog-post-content ol {
  margin-bottom: 30px;
  padding-left: 24px;
}

.blog-post-content li {
  margin-bottom: 12px;
}

.blog-post-content strong {
  color: #fff;
}

/* Post Share Buttons */
.post-share {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-top: 60px;
  padding-top: 40px;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.share-label {
  font-size: 0.9rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: var(--ys-text-dim);
}

.share-btn {
  width: 44px; height: 44px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
  color: #fff;
  transition: all 0.3s var(--ease-out);
  text-decoration: none;
}

.share-btn:hover {
  background: var(--ys-green);
  color: #001a10;
  transform: translateY(-4px);
  box-shadow: 0 10px 20px rgba(0, 255, 136, 0.2);
  border-color: var(--ys-green);
}

/* Related Posts */
.related-posts {
  margin-top: 100px;
  padding-top: 80px;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.related-title {
  font-size: 2rem;
  font-weight: 700;
  margin-bottom: 40px;
  text-align: center;
}

/* Post CTA Box */
.post-cta-box {
  background: linear-gradient(135deg, rgba(0, 255, 136, 0.1), rgba(1, 228, 228, 0.1));
  border: 1px solid rgba(0, 255, 136, 0.2);
  border-radius: var(--radius-lg);
  padding: 40px;
  margin: 60px 0;
  text-align: center;
}

.post-cta-box h3 {
  margin-top: 0 !important;
}

/* Back to Blog */
.back-to-blog {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--ys-green);
  font-weight: 600;
  text-decoration: none;
  white-space: nowrap;
  margin-bottom: 40px;
  transition: all 0.3s ease;
}

@media (max-width: 700px) {
  .back-to-blog { margin-bottom: 24px; }
}

.back-to-blog:hover {
  gap: 12px;
  color: var(--ys-cyan);
}

/* Responsive */
@media (max-width: 1024px) {
  .featured-article { grid-template-columns: 1fr; }
  .featured-image-wrapper { min-height: 300px; }
  .blog-grid-premium { grid-template-columns: repeat(2, 1fr); }
  .topics-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 768px) {
  .blog-hero { padding: 140px 0 60px; }
  .featured-content { padding: 30px; }
  .blog-grid-premium { grid-template-columns: 1fr; }
  .newsletter-form { flex-direction: column; }
  .category-filters { gap: 8px; }
  .filter-pill { padding: 8px 16px; font-size: 0.8rem; }
  .topics-grid { grid-template-columns: 1fr 1fr; }
}
