.arnvisiox-root {
  position:fixed;
  left:0;
  right:0;
  bottom:0;
  z-index:999999;
  font-family:inherit;
  color:var(--arnvisiox-text);
  opacity:0;
  transform:translateY(14px);
  transition:opacity var(--arnvisiox-duration) ease,transform var(--arnvisiox-duration) ease;
}

.arnvisiox-root,.arnvisiox-root button,.arnvisiox-root input,.arnvisiox-root textarea,.arnvisiox-root select,.arnvisiox-root label,.arnvisiox-root legend {
  font-family:inherit;
}

.arnvisiox-root[hidden] {
  display:none!important;
}

.arnvisiox-root.is-visible {
  opacity:1;
  transform:translateY(0);
}

.arnvisiox-root.is-dismissing {
  opacity:0;
  transform:translateY(14px);
}

.arnvisiox-bar {
  width:100%;
  min-height:var(--arnvisiox-bar-height);
  border-top:2px solid var(--arnvisiox-accent);
  background:var(--arnvisiox-bg);
  color:var(--arnvisiox-text);
  display:grid;
  grid-template-columns:1fr auto;
  align-items:stretch;
  box-shadow:0 -4px 16px rgba(0,0,0,.08);
}

.arnvisiox-bar-trigger {
  min-width:0;
  min-height:var(--arnvisiox-bar-height);
  border:0;
  background:transparent;
  color:inherit;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:.45rem;
  padding:.75rem 1.25rem;
  cursor:pointer;
  font:inherit;
  letter-spacing:.03em;
  transition:background var(--arnvisiox-duration) ease;
}

.arnvisiox-bar-trigger:hover,.arnvisiox-bar-trigger:focus-visible {
  background:color-mix(in srgb,var(--arnvisiox-bg) 94%,var(--arnvisiox-accent));
  outline:2px solid transparent;
}

.arnvisiox-dismiss {
  width:52px;
  border:0;
  border-left:1px solid color-mix(in srgb,var(--arnvisiox-text) 14%,transparent);
  background:transparent;
  color:var(--arnvisiox-text);
  font:inherit;
  font-size:24px;
  line-height:1;
  cursor:pointer;
  transition:background var(--arnvisiox-duration) ease,color var(--arnvisiox-duration) ease;
}

.arnvisiox-dismiss:hover,.arnvisiox-dismiss:focus-visible {
  background:color-mix(in srgb,var(--arnvisiox-bg) 90%,var(--arnvisiox-accent));
  color:var(--arnvisiox-accent);
  outline:2px solid transparent;
}

.arnvisiox-secondary,.arnvisiox-arrow {
  color:var(--arnvisiox-accent);
}

.arnvisiox-secondary {
  font-weight:600;
}

.arnvisiox-arrow {
  transition:transform var(--arnvisiox-duration) ease;
}

.arnvisiox-root.is-open .arnvisiox-arrow {
  transform:rotate(180deg);
}

.arnvisiox-panel {
  position:absolute;
  left:0;
  right:0;
  bottom:100%;
  max-height:min(82vh,780px);
  overflow:auto;
  overscroll-behavior:contain;
  background:var(--arnvisiox-panel);
  border-top:2px solid var(--arnvisiox-accent);
  box-shadow:var(--arnvisiox-shadow);
  transform:translateY(105%);
  opacity:0;
  visibility:hidden;
  transition:transform var(--arnvisiox-duration) cubic-bezier(.22,1,.36,1),opacity var(--arnvisiox-duration) ease,visibility var(--arnvisiox-duration);
}

.arnvisiox-root.is-open .arnvisiox-panel {
  transform:translateY(0);
  opacity:1;
  visibility:visible;
}

.arnvisiox-panel-inner {
  max-width:var(--arnvisiox-panel-width);
  margin:0 auto;
  padding:34px 28px 28px;
}

.arnvisiox-close {
  position:absolute;
  right:18px;
  top:12px;
  width:38px;
  height:38px;
  border:0;
  border-radius:50%;
  background:transparent;
  color:inherit;
  font-size:28px;
  line-height:1;
  cursor:pointer;
  transition:background var(--arnvisiox-duration) ease,transform var(--arnvisiox-duration) ease;
}

.arnvisiox-close:hover,.arnvisiox-close:focus-visible {
  background:color-mix(in srgb,var(--arnvisiox-text) 8%,transparent);
  transform:rotate(3deg);
  outline:2px solid transparent;
}

.arnvisiox-content h2 {
  margin:0 46px 12px 0;
  font-size:clamp(24px,3vw,38px);
  line-height:1.2;
}

.arnvisiox-intro {
  max-width:900px;
  line-height:1.65;
}

.arnvisiox-intro p {
  margin:0 0 14px;
}

.arnvisiox-note {
  font-weight:600;
  color:var(--arnvisiox-accent);
}

.arnvisiox-form fieldset {
  border:0;
  padding:0;
  margin:24px 0;
}

.arnvisiox-form legend {
  font-size:18px;
  font-weight:700;
  margin-bottom:12px;
}

.arnvisiox-options {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}

.arnvisiox-option input {
  position:absolute;
  opacity:0;
  pointer-events:none;
}

.arnvisiox-option span {
  display:block;
  border:1px solid color-mix(in srgb,var(--arnvisiox-text) 20%,transparent);
  border-radius:var(--arnvisiox-radius);
  padding:13px 14px;
  cursor:pointer;
  transition:border-color var(--arnvisiox-duration) ease,box-shadow var(--arnvisiox-duration) ease,transform var(--arnvisiox-duration) ease,background var(--arnvisiox-duration) ease;
}

.arnvisiox-option input:focus-visible+span {
  outline:2px solid var(--arnvisiox-accent);
  outline-offset:2px;
}

.arnvisiox-option input:checked+span,.arnvisiox-option span:hover {
  border-color:var(--arnvisiox-accent);
  box-shadow:0 0 0 1px var(--arnvisiox-accent) inset;
  background:color-mix(in srgb,var(--arnvisiox-panel) 95%,var(--arnvisiox-accent));
  transform:translateY(-1px);
}

.arnvisiox-choice-row {
  display:flex;
  flex-wrap:wrap;
  gap:20px;
}

.arnvisiox-choice-row label {
  cursor:pointer;
}

.arnvisiox-contact-fields {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  opacity:0;
  transform:translateY(-8px);
  transition:opacity var(--arnvisiox-duration) ease,transform var(--arnvisiox-duration) ease;
}

.arnvisiox-contact-fields[hidden] {
  display:none!important;
}

.arnvisiox-contact-fields.is-visible {
  opacity:1;
  transform:translateY(0);
}

.arnvisiox-field {
  display:flex;
  flex-direction:column;
  gap:6px;
  font-weight:600;
}

.arnvisiox-field input,.arnvisiox-field textarea {
  width:100%;
  box-sizing:border-box;
  border:1px solid color-mix(in srgb,var(--arnvisiox-text) 25%,transparent);
  border-radius:var(--arnvisiox-radius);
  padding:12px 13px;
  background:var(--arnvisiox-panel);
  color:var(--arnvisiox-text);
  font:inherit;
  transition:border-color var(--arnvisiox-duration) ease,box-shadow var(--arnvisiox-duration) ease;
}

.arnvisiox-field input:focus,.arnvisiox-field textarea:focus {
  border-color:var(--arnvisiox-accent);
  box-shadow:0 0 0 2px color-mix(in srgb,var(--arnvisiox-accent) 25%,transparent);
  outline:none;
}

.arnvisiox-field textarea {
  min-height:110px;
  resize:vertical;
}

.arnvisiox-field-message {
  grid-column:1/-1;
}

.arnvisiox-submit {
  position:relative;
  margin-top:20px;
  border:1px solid var(--arnvisiox-accent);
  background:var(--arnvisiox-accent);
  color:#fff;
  border-radius:var(--arnvisiox-radius);
  padding:12px 22px;
  cursor:pointer;
  font:inherit;
  font-weight:700;
  transition:transform var(--arnvisiox-duration) ease,box-shadow var(--arnvisiox-duration) ease,opacity var(--arnvisiox-duration) ease;
}

.arnvisiox-submit:hover,.arnvisiox-submit:focus-visible {
  transform:translateY(-1px);
  box-shadow:0 8px 20px color-mix(in srgb,var(--arnvisiox-accent) 28%,transparent);
  outline:2px solid transparent;
}

.arnvisiox-submit[disabled] {
  opacity:.65;
  cursor:wait;
  transform:none;
}

.arnvisiox-error {
  margin-top:14px;
  padding:10px 12px;
  border-left:3px solid #b32d2e;
  background:#fcf0f1;
  color:#8a2424;
  font-weight:600;
}

.arnvisiox-success {
  padding:45px 0;
  text-align:center;
  opacity:0;
  transform:scale(.97);
  transition:opacity var(--arnvisiox-duration) ease,transform var(--arnvisiox-duration) ease;
}

.arnvisiox-success.is-visible {
  opacity:1;
  transform:scale(1);
}

.arnvisiox-success-icon {
  width:54px;
  height:54px;
  border-radius:50%;
  display:grid;
  place-items:center;
  margin:0 auto 14px;
  background:color-mix(in srgb,var(--arnvisiox-accent) 16%,transparent);
  color:var(--arnvisiox-accent);
  font-size:28px;
  font-weight:700;
}

.arnvisiox-success h3 {
  font-size:32px;
  margin:0 0 10px;
}

.arnvisiox-honeypot {
  position:absolute!important;
  left:-9999px!important;
}

@media(max-width:782px) {
  .arnvisiox-bar {
    grid-template-columns:1fr 46px;
    font-size:14px;
  }
  .arnvisiox-bar-trigger {
    flex-wrap:wrap;
    gap:.2rem .4rem;
    padding:.65rem .75rem;
  }
  .arnvisiox-primary {
    width:100%;
  }
  .arnvisiox-dismiss {
    width:46px;
  }
  .arnvisiox-panel {
    max-height:84vh;
  }
  .arnvisiox-panel-inner {
    padding:28px 18px 22px;
  }
  .arnvisiox-options {
    grid-template-columns:1fr;
  }
  .arnvisiox-contact-fields {
    grid-template-columns:1fr;
  }
  .arnvisiox-field-message {
    grid-column:auto;
  }
}

@media(prefers-reduced-motion:reduce) {
  .arnvisiox-root,.arnvisiox-panel,.arnvisiox-arrow,.arnvisiox-option span,.arnvisiox-contact-fields,.arnvisiox-submit,.arnvisiox-success,.arnvisiox-close {
    transition:none!important;
    animation:none!important;
  }
}

.arnvisiox-consent {
  margin-top:20px;
  padding:12px 16px;
  border:1px solid color-mix(in srgb,var(--arnvisiox-text) 18%,transparent);
  border-radius:var(--arnvisiox-radius);
  background:color-mix(in srgb,var(--arnvisiox-panel) 96%,var(--arnvisiox-accent));
}

.arnvisiox-consent {
  display:flex;
  align-items:center;
  gap:7px;
  flex-wrap:wrap;
}

.arnvisiox-consent label {
  display:inline-flex;
  align-items:center;
  gap:10px;
  line-height:1.4;
  cursor:pointer;
  margin:0;
}

.arnvisiox-consent input {
  margin:0;
  flex:0 0 auto;
}

.arnvisiox-policy-link {
  display:inline-block;
  margin:0;
  padding:0;
  border:0;
  background:transparent;
  color:var(--arnvisiox-accent);
  font:inherit;
  font-weight:700;
  text-decoration:underline;
  cursor:pointer;
}

.arnvisiox-policy-modal[hidden] {
  display:none!important;
}

.arnvisiox-policy-modal {
  position:fixed;
  inset:0;
  z-index:1000001;
  display:grid;
  place-items:center;
  padding:20px;
}

.arnvisiox-policy-backdrop {
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.58);
}

.arnvisiox-policy-dialog {
  position:relative;
  z-index:1;
  width:min(820px,100%);
  max-height:min(82vh,760px);
  overflow:auto;
  background:var(--arnvisiox-panel);
  color:var(--arnvisiox-text);
  border-radius:var(--arnvisiox-radius);
  padding:28px;
  box-shadow:0 24px 80px rgba(0,0,0,.3);
}

.arnvisiox-policy-dialog h3 {
  margin:0 45px 18px 0;
  font-size:26px;
}

.arnvisiox-policy-content {
  line-height:1.65;
}

.arnvisiox-policy-close {
  position:absolute;
  top:12px;
  right:14px;
  width:38px;
  height:38px;
  border:0;
  border-radius:50%;
  background:transparent;
  color:inherit;
  font-size:28px;
  cursor:pointer;
}

.arnvisiox-policy-close:hover,.arnvisiox-policy-close:focus-visible {
  background:color-mix(in srgb,var(--arnvisiox-text) 8%,transparent);
  outline:2px solid transparent;
}

.arnvisiox-policy-modal {
  box-sizing:border-box;
  width:100vw;
  height:100dvh;
  align-items:center;
  justify-items:center;
}

.arnvisiox-policy-modal,.arnvisiox-policy-modal * {
  box-sizing:border-box;
}

@media(max-width:782px) {
  .arnvisiox-policy-modal {
    padding:14px;
  }
  .arnvisiox-policy-dialog {
    max-height:calc(100dvh - 28px);
    padding:22px 18px;
  }
}

.arnvisiox-contact-widget {
  position:fixed;
  bottom:calc(var(--arnvisiox-bar-height) + 18px);
  z-index:999998;
  font-family:inherit;
  color:var(--arnvisiox-text);
}

.arnvisiox-contact-widget,.arnvisiox-contact-widget * {
  box-sizing:border-box;
  font-family:inherit;
}

.arnvisiox-contact-right {
  right:22px;
}

.arnvisiox-contact-left {
  left:22px;
}

.arnvisiox-contact-toggle {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  min-height:48px;
  padding:11px 17px;
  border:0;
  border-radius:999px;
  background:var(--arnvisiox-accent);
  color:#fff;
  box-shadow:0 10px 28px rgba(0,0,0,.22);
  font:inherit;
  font-weight:700;
  cursor:pointer;
  transition:transform var(--arnvisiox-duration) ease,box-shadow var(--arnvisiox-duration) ease;
}

.arnvisiox-contact-toggle:hover,.arnvisiox-contact-toggle:focus-visible {
  transform:translateY(-2px);
  box-shadow:0 14px 34px rgba(0,0,0,.28);
  outline:2px solid transparent;
}

.arnvisiox-contact-toggle-icon {
  display:grid;
  place-items:center;
  width:24px;
  height:24px;
  border-radius:50%;
  background:rgba(255,255,255,.18);
  font-size:15px;
}

.arnvisiox-contact-popover {
  position:absolute;
  bottom:calc(100% + 12px);
  width:min(340px,calc(100vw - 28px));
  padding:0 0 12px;
  border:1px solid color-mix(in srgb,var(--arnvisiox-text) 14%,transparent);
  border-radius:max(12px,var(--arnvisiox-radius));
  background:var(--arnvisiox-panel);
  color:var(--arnvisiox-text);
  box-shadow:0 20px 58px rgba(0,0,0,.24);
  overflow:hidden;
  transform-origin:bottom;
  animation:arnvisiox-contact-in var(--arnvisiox-duration) ease;
}

.arnvisiox-contact-right .arnvisiox-contact-popover {
  right:0;
}

.arnvisiox-contact-left .arnvisiox-contact-popover {
  left:0;
}

.arnvisiox-contact-popover[hidden] {
  display:none!important;
}

.arnvisiox-contact-heading {
  display:flex;
  flex-direction:column;
  gap:4px;
  padding:18px 46px 15px 18px;
  background:color-mix(in srgb,var(--arnvisiox-accent) 13%,var(--arnvisiox-panel));
}

.arnvisiox-contact-heading strong {
  font-size:20px;
  line-height:1.2;
}

.arnvisiox-contact-heading span {
  font-size:14px;
  line-height:1.45;
  opacity:.8;
}

.arnvisiox-contact-close {
  position:absolute;
  top:10px;
  right:10px;
  width:32px;
  height:32px;
  border:0;
  border-radius:50%;
  background:transparent;
  color:inherit;
  font-size:24px;
  line-height:1;
  cursor:pointer;
}

.arnvisiox-contact-close:hover,.arnvisiox-contact-close:focus-visible {
  background:color-mix(in srgb,var(--arnvisiox-text) 8%,transparent);
  outline:2px solid transparent;
}

.arnvisiox-contact-actions {
  display:grid;
  gap:9px;
  padding:12px 12px 0;
}

.arnvisiox-contact-actions a {
  display:flex;
  align-items:center;
  gap:12px;
  min-height:52px;
  padding:10px 13px;
  border:1px solid color-mix(in srgb,var(--arnvisiox-text) 11%,transparent);
  border-radius:max(9px,var(--arnvisiox-radius));
  background:color-mix(in srgb,var(--arnvisiox-panel) 96%,var(--arnvisiox-accent));
  color:inherit;
  text-decoration:none;
  font-weight:700;
  transition:transform var(--arnvisiox-duration) ease,border-color var(--arnvisiox-duration) ease,background var(--arnvisiox-duration) ease;
}

.arnvisiox-contact-actions a:hover,.arnvisiox-contact-actions a:focus-visible {
  transform:translateY(-1px);
  border-color:var(--arnvisiox-accent);
  background:color-mix(in srgb,var(--arnvisiox-panel) 91%,var(--arnvisiox-accent));
  outline:2px solid transparent;
}

.arnvisiox-contact-icon {
  display:grid;
  place-items:center;
  flex:0 0 34px;
  width:34px;
  height:34px;
  border-radius:50%;
  background:var(--arnvisiox-accent);
  color:#fff;
  font-size:17px;
}

@keyframes arnvisiox-contact-in {
  from {
    opacity:0;
    transform:translateY(8px) scale(.98);
  }
  to {
    opacity:1;
    transform:translateY(0) scale(1);
  }
}

@media(min-width:783px) {
  .arnvisiox-contact-hide-desktop {
    display:none!important;
  }
}

@media(max-width:782px) {
  .arnvisiox-contact-hide-mobile {
    display:none!important;
  }
  .arnvisiox-contact-widget {
    bottom:calc(var(--arnvisiox-bar-height) + 24px);
  }
  .arnvisiox-contact-right {
    right:12px;
  }
  .arnvisiox-contact-left {
    left:12px;
  }
  .arnvisiox-contact-toggle {
    min-width:48px;
    padding:11px 14px;
  }
  .arnvisiox-contact-popover {
    width:min(330px,calc(100vw - 24px));
  }
}

@media(prefers-reduced-motion:reduce) {
  .arnvisiox-contact-toggle,.arnvisiox-contact-popover,.arnvisiox-contact-actions a {
    transition:none!important;
    animation:none!important;
  }
}

.arnvisiox-ai-notice {
  margin: 10px 0;
  font-size: 12px;
  line-height: 1.5;
  opacity: .72;
}
