/* Owned behavior and accessibility layer. Legacy CSS is appearance data only. */
:root { color-scheme: dark; }
html { scroll-behavior: smooth; }
body { overflow-x: clip; }
[hidden] { display: none !important; }
:focus-visible { outline: 2px solid #f1d59d; outline-offset: 5px; }
.screen-reader-text:focus, .skip-link:focus { clip: auto; width: auto; height: auto; position: fixed; top: 12px; left: 12px; padding: 12px 18px; background: #fff; color: #111; z-index: 10000; }
.elementor-invisible { visibility: visible !important; }
.elementor-section .elementor-container { position: relative; }
.elementor-background-overlay { pointer-events: none; }
[data-hero-images] { position: relative; isolation: isolate; }
.native-hero-image { position: absolute; inset: 0; z-index: -2; background-size: cover; background-position: center; opacity: 0; transition: opacity .5s ease; }
.native-hero-image.is-active { opacity: 1; }
[data-hero-images] > .elementor-background-overlay { z-index: -1; }
.native-hero-pause { position: absolute; right: 18px; bottom: 18px; z-index: 3; padding: 6px 10px; border: 1px solid #ffffff70; border-radius: 3px; color: white; background: #0009; font: 12px Inter, sans-serif; min-height: 32px; }
#offcanvas { visibility: hidden; opacity: 0; pointer-events: none; }
body.menu-open { overflow: hidden; }
body.menu-open #offcanvas { visibility: visible; opacity: 1; pointer-events: auto; display: flex; position: fixed; inset: 0; z-index: 9999; background: #0009; }
body.menu-open #offcanvas .ct-panel-inner { transform: none; opacity: 1; visibility: visible; margin-left: auto; width: min(90vw, 420px); height: 100dvh; overflow-y: auto; background: #101010; padding: 24px; }
body.menu-open #offcanvas .ct-panel-content[data-device="mobile"] { display: block; }
body.menu-open #offcanvas .ct-panel-content[data-device="desktop"] { display: none; }
.mobile-menu .sub-menu { display: none; }
#offcanvas .mobile-menu li.is-expanded > ul.sub-menu { display: block; }
.native-menu-parent { display: flex; align-items: center; position: relative; }
.native-menu-parent > .ct-menu-link { padding-inline-end: 4px; }
.native-submenu-toggle { pointer-events: auto; display: inline-flex; align-items: center; justify-content: center; align-self: center; flex: 0 0 24px; width: 24px; height: 32px; min-height: 0; padding: 0; border: 0; border-radius: 0; background: transparent; color: inherit; cursor: pointer; }
.native-submenu-toggle:hover, .native-submenu-toggle:focus { background: transparent; color: #f1d59d; }
.native-submenu-toggle svg { width: 8px; height: 8px; fill: currentColor; }
.native-menu-parent.is-expanded > .sub-menu { display: block; opacity: 1; visibility: visible; pointer-events: auto; transform: none; }
.native-form-feedback { margin-block: 14px; width: 100%; color: #f6e2ba; font: 15px/1.5 Inter, sans-serif; }
.native-form-feedback:empty { display: none; }
.native-form-feedback[data-state="error"] { color: #ffd2ce; }
.native-form-feedback ul { margin: 8px 0; padding-left: 20px; }
.native-turnstile { min-height: 1px; width: 100%; overflow-x: auto; }
.native-verification-retry { margin: 10px 0; padding: 8px 12px; font: 14px/1.4 Inter, sans-serif; border: 1px solid #f1d59d; color: #f1d59d; background: transparent; border-radius: 3px; }
.native-field-error { color: #ffd2ce; width: 100%; font-size: 14px; margin: 4px 0; }
[aria-invalid="true"] { outline: 1px solid #ffb8b0; outline-offset: 2px; }
.elementor-button[disabled] { cursor: not-allowed; opacity: .65; }
.elementor-form[aria-busy="true"] .elementor-button[disabled] { cursor: wait; }
.elementor-wrapper .elementor-video-iframe { width: 100%; aspect-ratio: 16 / 9; border: 0; }
.native-svg-icon { display: inline-block; object-fit: contain; }
.elementor-icon .native-svg-icon { width: 1em; height: 1em; }
.native-integration-status { font: 14px/1.5 Inter, sans-serif; padding-block: 10px; color: #f6e2ba; }
.native-integration-status:empty { display: none; }
.native-integration-status button { margin-left: 8px; padding: 4px 8px; background: transparent; border: 1px solid currentColor; color: inherit; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; } }
