/* Global readability and accessibility fixes layered on top of exported Webflow CSS. */
:root {
  --site-text: #121212;
  --site-muted: #2f2f2f;
  --site-bg: #ffffff;
  --site-border: #d9d9d9;
  --site-focus: #0a66c2;
  --site-overlay: rgba(255, 255, 255, 0.92);
}

html {
  font-size: 16px;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

body {
  color: var(--site-text);
  background-color: var(--site-bg);
  line-height: 1.65;
  letter-spacing: 0.01em;
  text-rendering: optimizeLegibility;
}

p,
li,
label,
input,
textarea,
select,
.w-richtext p,
.w-richtext li {
  color: var(--site-muted);
  line-height: 1.7;
  font-size: clamp(1rem, 0.97rem + 0.2vw, 1.08rem);
}

h1,
h2,
h3,
h4,
h5,
h6 {
  color: var(--site-text);
  line-height: 1.22;
  letter-spacing: 0.01em;
  text-wrap: balance;
}

a {
  text-underline-offset: 0.16em;
}

a:hover {
  text-decoration-thickness: 0.12em;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible,
.w-button:focus-visible,
.w-nav-link:focus-visible {
  outline: 3px solid var(--site-focus);
  outline-offset: 2px;
}

#nav-bar,
.nava-bar {
  backdrop-filter: blur(6px);
  background: var(--site-overlay);
}

.nav-link-4,
.uui-footer07_link,
.email-link,
.instagram,
.linkedin {
  font-weight: 600;
}

.w-input,
.text-area,
.input,
textarea,
input[type="text"],
input[type="email"],
input[type="tel"] {
  color: var(--site-text);
  background: #fff;
  border: 1px solid var(--site-border);
  min-height: 46px;
}

textarea,
.text-area {
  min-height: 120px;
}

.w-input::placeholder,
.text-area::placeholder,
input::placeholder,
textarea::placeholder {
  color: #6c6c6c;
  opacity: 1;
}

.btn-primary,
.w-button {
  min-height: 46px;
  font-weight: 700;
}

.success-message,
.error-message,
.w-form-done,
.w-form-fail {
  color: var(--site-text);
}

@media screen and (max-width: 767px) {
  body {
    line-height: 1.7;
  }

  .nav-menu-6,
  .w-nav-menu {
    background: rgba(255, 255, 255, 0.98);
  }
}
