/* VRXXX interface foundation. No fonts, libraries, or paid services are loaded. */
/* Revision 4: page backgrounds must not reveal the old pink gradient in gaps. */
body.vrxxx-foundation.elementor-page {
  background-color: var(--vr-bg) !important;
  background-image: none !important;
}
.vrxxx-foundation .elementor-location-footer {
  background-color: var(--vr-surface) !important;
  background-image: none !important;
}
.vrxxx-foundation.elementor-page-263 > .elementor-motion-effects-container > .elementor-motion-effects-layer,
.vrxxx-foundation .elementor-500 > .elementor-motion-effects-container > .elementor-motion-effects-layer {
  background-color: var(--vr-bg) !important;
  background-image: none !important;
}

body.vrxxx-foundation {
  --vr-bg: #101418;
  --vr-surface: #1b2229;
  --vr-raised: #242e37;
  --vr-text: #f4f7fa;
  --vr-muted: #b8c4ce;
  --vr-accent: #71e0c1;
  --vr-border: #526474;
  --vr-focus: #ffd166;
  --vr-font: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  background: var(--vr-bg);
  color: var(--vr-text);
  font-family: var(--vr-font);
  font-size: 17px;
  line-height: 1.65;
  text-rendering: optimizeLegibility;
}
.vrxxx-foundation .elementor {
  --e-global-color-primary: var(--vr-text);
  --e-global-color-secondary: var(--vr-muted);
  --e-global-color-text: var(--vr-text);
  --e-global-color-accent: var(--vr-accent);
  --e-global-typography-primary-font-family: var(--vr-font);
  --e-global-typography-secondary-font-family: var(--vr-font);
  --e-global-typography-text-font-family: var(--vr-font);
  --e-global-typography-accent-font-family: var(--vr-font);
}
.vrxxx-foundation :where(.elementor-widget-text-editor, .elementor-heading-title, .elementor-item,
 .elementor-button, .elementor-field, .elementor-field-label, .hfe-site-tagline) {
  font-family: var(--vr-font) !important;
}
.vrxxx-foundation [data-elementor-type="wp-page"] {
  background: var(--vr-bg);
  padding-block: clamp(24px, 4vw, 64px);
}
.vrxxx-foundation [data-elementor-type="wp-page"] > :is(.elementor-section, .e-con) {
  background-color: var(--vr-bg) !important;
}
.vrxxx-foundation [data-elementor-type="wp-page"] > .e-con {
  --container-max-width: 1200px;
  --padding-inline-start: clamp(16px, 3vw, 40px);
  --padding-inline-end: clamp(16px, 3vw, 40px);
}
.vrxxx-foundation [data-elementor-type="wp-page"] > .elementor-section > .elementor-container,
.vrxxx-foundation [data-elementor-type="wp-page"] > .e-con > .e-con-inner {
  max-width: 1200px;
}
.vrxxx-foundation [data-elementor-type="wp-page"] > .elementor-section > .elementor-container {
  padding-inline: clamp(16px, 3vw, 40px);
}
.vrxxx-foundation :where([data-elementor-type="wp-page"], .site-main) :where(p, li, .elementor-widget-text-editor) {
  color: var(--vr-text) !important;
  font-size: 1rem;
  line-height: 1.7;
}
.vrxxx-foundation :where([data-elementor-type="wp-page"], .site-main) :where(h1,h2,h3,h4,h5,h6) {
  color: var(--vr-text) !important;
  font-family: var(--vr-font) !important;
  font-weight: 650;
  line-height: 1.18;
  letter-spacing: -.025em;
  text-wrap: balance;
  overflow-wrap: break-word;
}
.vrxxx-foundation :where([data-elementor-type="wp-page"], .site-main) h1 {
  font-size: clamp(2.1rem, 4.4vw, 4.3rem) !important;
  margin-block: .25em .65em;
}
.vrxxx-foundation :where([data-elementor-type="wp-page"], .site-main) h2 {
  font-size: clamp(1.65rem, 3vw, 2.6rem) !important;
  margin-block: 1.15em .55em;
}
.vrxxx-foundation :where([data-elementor-type="wp-page"], .site-main) h3 {
  font-size: clamp(1.3rem, 2vw, 1.8rem) !important;
}
/* Plain text links only: custom HTML controls keep their authored contrast. */
.vrxxx-foundation :where([data-elementor-type="wp-page"], .site-main)
  :where(.elementor-widget-text-editor, .entry-content) a:not(.elementor-button):not([role="button"]):not([style]):not(.elementor-widget-html a) {
  color: var(--vr-accent) !important;
  text-decoration-thickness: .08em;
  text-underline-offset: .2em;
}
.vrxxx-foundation .elementor-location-header {
  background: var(--vr-surface);
  border-block-end: 1px solid var(--vr-border);
}
.vrxxx-foundation .elementor-location-header > :is(.elementor-section, .e-con),
.vrxxx-foundation .elementor-location-footer > :is(.elementor-section, .e-con) {
  background-color: var(--vr-surface) !important;
}
/* Legacy header sizing must not override native template 1259's 1200px layout. */
.vrxxx-foundation .elementor-437 > .e-con {
  --container-max-width: 1440px;
}
.vrxxx-foundation .elementor-437 .elementor-container,
.vrxxx-foundation .elementor-437 > .e-con > .e-con-inner {
  max-width: 1440px;
}
.vrxxx-foundation .elementor-widget-theme-site-title .elementor-heading-title {
  color: var(--vr-text) !important;
  font-size: clamp(1.25rem, 2vw, 1.85rem) !important;
  font-weight: 750 !important;
  letter-spacing: -.035em;
  line-height: 1.2;
}
.vrxxx-foundation .elementor-widget-theme-site-title a {
  color: var(--vr-text) !important;
  text-decoration: none;
}
.vrxxx-foundation .elementor-nav-menu a.elementor-item,
.vrxxx-foundation .elementor-nav-menu a.elementor-sub-item {
  min-height: 44px;
  color: var(--vr-text) !important;
  font-size: .92rem !important;
  font-weight: 600;
  line-height: 1.35;
}
.vrxxx-foundation .elementor-nav-menu--dropdown {
  background: var(--vr-surface) !important;
  border: 1px solid var(--vr-border);
  border-radius: 12px;
}
.vrxxx-foundation .elementor-nav-menu a:is(:hover,.elementor-item-active,.highlighted) {
  background: var(--vr-raised) !important;
  color: var(--vr-accent) !important;
}
.vrxxx-foundation .elementor-menu-toggle {
  min-width: 44px;
  min-height: 44px;
  background: var(--vr-raised) !important;
  color: var(--vr-text) !important;
  border: 1px solid var(--vr-border);
  border-radius: 10px;
}
.vrxxx-foundation .elementor-button,
.vrxxx-foundation .elementor-form button[type="submit"] {
  min-height: 44px;
  padding: 14px 22px;
  border: 1px solid var(--vr-accent) !important;
  border-radius: 10px !important;
  background: var(--vr-accent) !important;
  color: var(--vr-bg) !important;
  font-family: var(--vr-font) !important;
  font-weight: 700 !important;
  line-height: 1.35;
  box-shadow: none !important;
  text-decoration: none;
  transition: background-color 150ms, border-color 150ms;
}
.vrxxx-foundation .elementor-button:hover,
.vrxxx-foundation .elementor-form button[type="submit"]:hover {
  background: #a1eed8 !important;
  border-color: #a1eed8 !important;
}
.vrxxx-foundation :where(a,button,input,select,textarea,[tabindex]):focus-visible {
  outline: 3px solid var(--vr-focus) !important;
  outline-offset: 4px;
}
.vrxxx-foundation .skip-link:focus {
  position: fixed !important;
  inset: 12px auto auto 12px;
  width: auto;
  height: auto;
  clip: auto !important;
  clip-path: none;
  background: var(--vr-focus);
  color: #101418;
  padding: 14px 20px;
  border-radius: 8px;
  z-index: 100000;
}
.vrxxx-foundation :where(main,[role="main"]) { scroll-margin-top: 24px; }
.vrxxx-foundation .elementor-location-footer {
  background: var(--vr-surface);
  border-block-start: 1px solid var(--vr-border);
  margin-block-start: 48px;
}
.vrxxx-foundation .elementor-location-footer :where(p,li,.elementor-heading-title,.hfe-site-tagline) {
  color: var(--vr-muted) !important;
  font-family: var(--vr-font) !important;
}
.vrxxx-foundation .elementor-location-footer a:not(.elementor-button):not([role="button"]):not([style]) {
  color: var(--vr-accent) !important;
}
.vrxxx-foundation .elementor-form .elementor-field {
  min-height: 48px;
  border: 1px solid var(--vr-border) !important;
  border-radius: 8px !important;
  background: var(--vr-bg) !important;
  color: var(--vr-text) !important;
  padding: 12px 14px;
  font-size: 1rem !important;
}
.vrxxx-foundation .elementor-field::placeholder { color: var(--vr-muted); opacity: 1; }
.vrxxx-foundation .elementor-field-label { color: var(--vr-text) !important; }
.vrxxx-foundation .elementor-form .elementor-field-label.elementor-screen-only {
  position: static !important;
  display: block;
  width: 100%;
  height: auto;
  margin-bottom: 6px;
  clip: auto;
  clip-path: none;
  overflow: visible;
}
.vrxxx-foundation .elementor-message-danger,
.vrxxx-foundation .elementor-error { color: #ffb4ab !important; }
.vrxxx-foundation .elementor-message-success { color: var(--vr-accent) !important; }
.vrxxx-foundation :where(img,video,iframe) { max-width: 100%; }
.vrxxx-foundation :where(p,li,a) { overflow-wrap: anywhere; }
/* Revision 8: small-screen layout, navigation and form-state safeguards. */
.vrxxx-foundation .elementor-location-header :where(.e-con,.e-con-inner,.elementor-widget),
.vrxxx-foundation .elementor-location-footer :where(.e-con,.e-con-inner,.elementor-widget) {
  min-inline-size: 0;
}
.vrxxx-foundation .elementor-location-header .elementor-nav-menu--main > .elementor-nav-menu {
  flex-wrap: wrap;
}
.vrxxx-foundation .elementor-nav-menu .elementor-item[aria-current="page"] {
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: .35em;
}
.vrxxx-foundation .elementor-widget-text-editor :where(p,ul,ol) {
  max-inline-size: 72ch;
  margin-inline: auto;
}
.vrxxx-foundation .elementor-widget-text-editor pre {
  max-inline-size: 100%;
  overflow-x: auto;
  padding: 16px;
  border: 1px solid var(--vr-border);
  border-radius: 10px;
  background: var(--vr-bg);
  color: var(--vr-text);
}
.vrxxx-foundation .elementor-form :is(input,select,textarea) {
  color-scheme: dark;
  max-inline-size: 100%;
  min-inline-size: 0;
}
.vrxxx-foundation .elementor-form select.elementor-field {
  padding-inline-end: 36px;
}
.vrxxx-foundation .elementor-form textarea.elementor-field {
  min-block-size: 144px;
  resize: vertical;
}
.vrxxx-foundation .elementor-form :is([type="checkbox"],[type="radio"]) {
  accent-color: var(--vr-accent);
}
.vrxxx-foundation .elementor-form .elementor-field[aria-invalid="true"] {
  border-color: #ffb4ab !important;
  border-width: 2px !important;
}
.vrxxx-foundation .elementor-form .elementor-message {
  padding: 14px 16px;
  border: 1px solid currentColor;
  border-radius: 10px;
  line-height: 1.6;
  overflow-wrap: anywhere;
}
.vrxxx-foundation .elementor-form button[type="submit"]:disabled {
  background: var(--vr-raised) !important;
  border-color: var(--vr-border) !important;
  color: var(--vr-muted) !important;
  cursor: not-allowed;
}
.vrxxx-foundation .elementor-form[aria-busy="true"] button[type="submit"],
.vrxxx-foundation .elementor-form button[type="submit"][aria-busy="true"] {
  cursor: progress;
}
@media (max-width: 1024px) {
  .vrxxx-foundation .elementor-location-header nav.elementor-nav-menu--dropdown {
    max-block-size: 65vh;
    max-block-size: min(65svh, 32rem);
    overflow-y: auto;
    overscroll-behavior-y: contain;
    scrollbar-width: thin;
    scrollbar-color: var(--vr-border) var(--vr-surface);
  }
  .vrxxx-foundation .elementor-location-header .elementor-nav-menu--dropdown a {
    white-space: normal;
    overflow-wrap: anywhere;
  }
}
@media (forced-colors: active) {
  .vrxxx-foundation :where(a,button,input,select,textarea,[tabindex]):focus-visible {
    outline-color: Highlight !important;
  }
}
@media (max-width: 767px) {
  .vrxxx-foundation [data-elementor-type="wp-page"] { padding-block: 24px; }
  .vrxxx-foundation .elementor-location-footer { margin-block-start: 24px; }
}
@media (prefers-reduced-motion: reduce) {
  .vrxxx-foundation *, .vrxxx-foundation *::before, .vrxxx-foundation *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }
}
