:root{--jarvis-safe-top:env(safe-area-inset-top,0px);--jarvis-safe-left:env(safe-area-inset-left,0px);--jarvis-safe-right:env(safe-area-inset-right,0px)}
.ChatDOM .wrapper{box-sizing:border-box!important;max-width:100vw!important;padding-left:calc(clamp(16px,3vw,48px) + env(safe-area-inset-left))!important;padding-right:calc(clamp(16px,3vw,48px) + env(safe-area-inset-right))!important;max-height:calc(100dvh - 100px - env(safe-area-inset-top))}
.ChatDOM .wrapper .messages{overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
.ChatDOM .jarvis-detail-description .messages{flex-direction:column;justify-content:flex-start;pointer-events:auto;-webkit-mask-image:none;mask-image:none;overflow-wrap:anywhere;min-height:0;padding-right:8px}
.jarvis-detail-description>.jarvis-detail-close{position:fixed;left:calc(2rem + env(safe-area-inset-left));bottom:calc(3rem + 4px + env(safe-area-inset-bottom));margin:0;font:400 14px/1.5 nbarchitekt,monospace}
@media(max-width:768px){.jarvis-detail-description{height:55dvh!important;padding:16px!important;padding-bottom:calc(5rem + env(safe-area-inset-bottom))!important}.ChatDOM .jarvis-detail-description .messages{margin-bottom:0}}
@media(max-height:500px){.ChatDOM .wrapper{padding-top:8px!important;padding-bottom:16px!important}.jarvis-detail-description{height:calc(100dvh - 112px)!important;padding-bottom:44px!important}.jarvis-detail-description>.jarvis-detail-close{bottom:calc(16px + env(safe-area-inset-bottom))!important}}
.jarvis-contact-hidden{display:none!important}
@media(min-width:769px){.jarvis-detail-description{left:auto!important;right:0!important;width:50vw!important;box-sizing:border-box;padding:3rem 2rem!important}.jarvis-detail-description>.jarvis-detail-close{position:fixed;left:calc(3rem + 10px);bottom:calc(4rem + 6px);margin:0;font:400 14px/1.5 nbarchitekt,monospace}}
.jarvis-music{position:fixed;z-index:100;top:var(--jarvis-music-top,112px);right:var(--jarvis-music-right,24px);margin:0;display:flex;align-items:center;gap:6px;width:170px;height:42px;padding:4px;border:1px solid #aec9d344;border-radius:6px;background:#091014a8;color:#dceef0;opacity:0;animation:jarvis-music-in .5s ease forwards;box-sizing:border-box;font:10px NBArchitektStd,monospace}
.jarvis-music button{flex:0 0 32px;height:32px;border:1px solid #aec9d355;border-radius:4px;background:transparent;color:inherit;font:inherit;cursor:pointer}
.jarvis-music span{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.jarvis-music button:focus-visible{outline:2px solid #dceef0}
@keyframes jarvis-music-in{to{opacity:.8}}
.VideoModal .closeButton{position:absolute!important;top:16px!important;right:16px!important;width:44px!important;height:44px!important;border:0;background:transparent;z-index:3}
.VideoModal .closeButton::before{content:"×";display:block;color:#fff;font:32px/44px Arial,sans-serif;text-align:center}
a[data-category="bottom"]{display:inline-flex!important;align-items:center;gap:9px;width:fit-content;font-size:10px!important;font-weight:400!important;font-style:normal;text-transform:none!important;letter-spacing:.02em;color:#e1e8ed!important;margin-top:44px;border:0!important;text-decoration:none!important}
a[data-category="bottom"]::before{content:"→";font:13px/1 Arial,sans-serif}
a[data-category="bottom"]:hover,a[data-category="bottom"]:focus-visible{color:#fff!important;text-decoration:none!important}
html,body{background:#000;color:#dceef0}
#jarvis-loader{position:fixed;inset:0;z-index:2147483000;display:none;flex-direction:column;align-items:center;justify-content:center;gap:20px;padding:24px;box-sizing:border-box;background:#000;color:#e0fff6;text-align:center;font:16px/1 nbarchitekt,monospace;letter-spacing:.1em}
.jarvis-loading #jarvis-loader{display:flex}
.jarvis-loader-error{display:none}
#jarvis-loader button{padding:10px 20px;border:1px solid #81ecfe88;border-radius:24px;background:transparent;color:#dceef0;font:inherit;cursor:pointer}
.jarvis-loader-ready #jarvis-loader,.jarvis-enhanced #jarvis-loader{display:none}
.jarvis-fallback #jarvis-loader{display:none}
.jarvis-fallback #Stage,.jarvis-fallback .Container{display:none!important}
html.jarvis-fallback,html.jarvis-fallback body,html:not(.jarvis-loading):not(.jarvis-enhanced),html:not(.jarvis-loading):not(.jarvis-enhanced) body{height:auto;min-height:100%;overflow-x:hidden;overflow-y:auto;touch-action:auto}
html.jarvis-loading:not(.jarvis-enhanced) #jarvis-content{position:absolute;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}
html.jarvis-enhanced #jarvis-content{display:none!important}
#jarvis-opening-title { display: none; }
.jarvis-enhanced:not(.jarvis-demo-open) #jarvis-opening-title {
  display: block;
  opacity: 0;
  visibility: hidden;
  transition: opacity 560ms cubic-bezier(.37, 0, .63, 1), visibility 0s 560ms;
  position: fixed;
  z-index: 2;
  top: max(16dvh, calc(108px + var(--jarvis-safe-top)));
  left: 50%;
  width: calc(100% - 40px);
  transform: translateX(-50%);
  margin: 0;
  color: #edf7ff;
  text-align: center;
  font: 400 clamp(32px, 5vw, 68px)/1 nbarchitekt, monospace;
  letter-spacing: .14em;
  text-shadow: 0 0 24px #7dc2f065, 0 2px 6px #000;
  pointer-events: none;
}
.jarvis-enhanced.jarvis-opening-scene #jarvis-opening-title {
  opacity: 1;
  visibility: visible;
  transition-delay: 0s;
}
@media (prefers-reduced-motion: reduce) {
  .jarvis-enhanced #jarvis-opening-title { transition: none; }
}
#jarvis-opening-title > span:not(.jarvis-title-particles) {
  display: block;
  margin-top: 10px;
  color: #b8def4;
  font-size: clamp(12px, 1.6vw, 19px);
  letter-spacing: .08em;
}
.jarvis-title-particles {
  position: absolute;
  inset: 0;
  width: min(100%, clamp(205px, 19vw, 320px));
  margin-inline: auto;
}
.jarvis-title-particles i {
  position: absolute;
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background: #b8def4;
  box-shadow: 0 0 6px #7dc2f0;
  opacity: 0;
}
@media (prefers-reduced-motion: no-preference) {
  .jarvis-enhanced:not(.jarvis-opening-scene):not(.jarvis-demo-open) .jarvis-title-particles i {
    animation: jarvis-title-drift 450ms ease-out var(--particle-delay) both;
  }
}
@keyframes jarvis-title-drift {
  0% { opacity: 0; transform: scale(.5); }
  18% { opacity: 1; }
  45% { opacity: .55; }
  65% { opacity: .8; }
  100% { opacity: 0; transform: translate(var(--drift-x), var(--drift-y)) scale(.2); }
}
#jarvis-content{box-sizing:border-box;max-width:960px;margin:0 auto;padding:calc(24px + env(safe-area-inset-top)) 24px calc(40px + env(safe-area-inset-bottom));font:16px/1.7 nbarchitekt,monospace}
#jarvis-content a{color:#81ecfe;text-underline-offset:4px}
#jarvis-content a:focus-visible{outline:2px solid #81ecfe;outline-offset:4px}
#jarvis-content .jarvis-fallback-cta{display:inline-flex;align-items:center;min-height:48px;margin-top:18px;padding:8px 20px;border:1px solid #81ecfe;border-radius:24px;background:#81ecfe;color:#0c171c;font-weight:700;text-decoration:none}
#jarvis-content nav{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
#jarvis-content nav a{display:inline-flex;align-items:center;min-height:44px;box-sizing:border-box;padding:8px 14px;border:1px solid #48696e;border-radius:24px;text-decoration:none;font-size:14px}
#jarvis-content nav a[aria-current="page"]{background:#193b44;border-color:#81ecfe;color:#fff}
#jarvis-content .jarvis-actions{display:flex;gap:12px;flex-wrap:wrap;margin:24px 0}
#jarvis-content .jarvis-actions a{display:inline-flex;align-items:center;min-height:44px;padding:8px 20px;border:1px solid #81ecfe;border-radius:24px;text-decoration:none}
#jarvis-content .jarvis-actions a:first-child{background:#81ecfe;color:#0c171c}
#jarvis-content h1{font-size:clamp(1.7rem,5vw,2.6rem);line-height:1.25;margin:40px 0 24px;overflow-wrap:anywhere}
#jarvis-content h2{font-size:1.3rem;line-height:1.4;margin:0 0 16px}
#jarvis-content article,#jarvis-content section{margin:24px 0;padding:24px;border:1px solid #36545c;border-radius:20px;background:#10232bc9}
#jarvis-content p{overflow-wrap:anywhere}
#jarvis-content li{margin:12px 0}
@media(max-width:480px){#jarvis-content{padding-left:16px;padding-right:16px}#jarvis-content article,#jarvis-content section{padding:20px}#jarvis-content nav a{padding:8px 12px}}

#jarvis-demo {
  --demo-ink: #e1e8ed;
  --demo-muted: #c0cbd4;
  --demo-line: #b8c7d682;
  --demo-accent: #d9e9f4;
  color-scheme: dark;
  box-sizing: border-box;
  display: grid;
  gap: 38px;
  width: min(1280px, calc(100% - 48px));
  margin: 0 auto 40px;
  padding: 24px 4px;
  color: var(--demo-ink);
  font: 12px/1.35 nbarchitekt, monospace;
  text-shadow: 0 1px 5px #000, 0 0 10px #03050a;
}
.jarvis-loading:not(.jarvis-fallback) #jarvis-demo,
.jarvis-enhanced:not(.jarvis-demo-open) #jarvis-demo { display: none; }
.jarvis-enhanced.jarvis-demo-open #jarvis-demo {
  position: fixed;
  z-index: 101;
  inset: calc(152px + var(--jarvis-safe-top)) calc(20px + var(--jarvis-safe-right))
    calc(var(--demo-viewport-bottom, 0px) + 12px + env(safe-area-inset-bottom, 0px))
    calc(20px + var(--jarvis-safe-left));
  width: auto;
  max-width: 1280px;
  margin: 0 auto;
  padding-inline: clamp(4px, 2.5vw, 38px);
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-width: thin;
  scrollbar-color: #8c9aab transparent;
  pointer-events: auto;
  touch-action: pan-y;
}
.jarvis-enhanced.jarvis-demo-open body::after {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 99;
  background: linear-gradient(105deg, #070d14d1, #070d14ad 50%, #070d14d1);
  pointer-events: none;
}
#jarvis-demo-close { display: none; }
.jarvis-enhanced.jarvis-demo-open #jarvis-demo-close {
  position: fixed;
  z-index: 102;
  top: var(--jarvis-demo-close-center, 60px);
  right: var(--jarvis-music-right, 24px);
  transform: translateY(-50%);
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  padding: 0 14px;
  border: 1px solid #d9e9f4;
  border-radius: 999px;
  background: #d9e9f4;
  color: #101922;
  font: 14px/1 nbarchitekt, monospace;
  cursor: pointer;
}
#jarvis-demo-close:hover { background: #fff; }
#jarvis-demo-close:focus-visible {
  outline: 2px solid #d9e9f4;
  outline-offset: 4px;
}
#jarvis-demo-headline {
  max-width: 17ch;
  margin: 0 0 20px;
  color: #f1f2fa;
  font-size: clamp(34px, 4.35vw, 66px);
  font-weight: 400;
  line-height: 1.04;
  letter-spacing: -.035em;
}
#jarvis-demo-headline:focus { outline: none; }
.jarvis-demo-intro p {
  max-width: 44ch;
  margin: 0 0 24px;
  color: var(--demo-muted);
  font-size: clamp(14px, 1.18vw, 17px);
  line-height: 1.6;
}
.jarvis-demo-mail, .jarvis-demo-links {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 16px;
}
.jarvis-demo-mail { color: var(--demo-muted); }
.jarvis-demo-mail a, .jarvis-demo-links a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  gap: 8px;
  color: var(--demo-ink);
  text-underline-offset: 5px;
}
.jarvis-demo-mail a { font-size: 15px; }
.jarvis-demo-mail a span { text-decoration: none; }
.jarvis-demo-links { margin-top: 6px; }
.jarvis-demo-links a { color: var(--demo-muted); }
.jarvis-demo-mail a:hover, .jarvis-demo-links a:hover { color: #fff; }
#jarvis-demo-title {
  display: flex;
  align-items: center;
  gap: 9px;
  margin: 0 0 16px;
  font-size: clamp(19px, 2.15vw, 30px);
  font-weight: 400;
  letter-spacing: .04em;
}
#jarvis-demo-title::before {
  content: "";
  flex: 0 0 11px;
  height: 11px;
  background: var(--demo-accent);
  clip-path: polygon(50% 0, 65% 35%, 100% 50%, 65% 65%, 50% 100%, 35% 65%, 0 50%, 35% 35%);
}
#jarvis-demo fieldset {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 32px 36px;
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}
#jarvis-demo .jarvis-demo-wide { grid-column: 1 / -1; }
#jarvis-demo label { display: block; min-width: 0; }
.jarvis-demo-label { display: block; }
#jarvis-demo label span span, #jarvis-demo label:not(:has(.jarvis-demo-label)) span, .jarvis-demo-privacy { color: var(--demo-muted); font-size: 11px; }
#jarvis-demo input, #jarvis-demo textarea, #jarvis-demo button {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  min-height: 36px;
  margin-top: 4px;
  padding: 5px 1px;
  border: 0;
  border-bottom: 1px solid var(--demo-line);
  border-radius: 0;
  background: transparent;
  color: inherit;
  text-shadow: inherit;
  font: 16px/1.25 system-ui, sans-serif;
  touch-action: manipulation;
}
#jarvis-demo textarea { display: block; min-height: 54px; resize: vertical; touch-action: pan-y; }
#jarvis-demo input {
  display: block;
  min-height: 32px;
  margin-top: 0;
}
#jarvis-demo textarea::placeholder { color: var(--demo-accent); opacity: 1; }
#jarvis-demo [aria-invalid="true"] { border-color: #ffb9b5; }
#jarvis-demo :is(input, textarea):focus {
  outline: none;
  border-color: var(--demo-accent);
  box-shadow: 0 1px var(--demo-accent);
}
#jarvis-demo :is(button, a):focus-visible { outline: 2px solid var(--demo-accent); outline-offset: 2px; }
#jarvis-demo button {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  width: fit-content;
  min-height: 44px;
  padding: 6px 0;
  border: 0;
  color: var(--demo-ink);
  font: 14px/1.3 nbarchitekt, monospace;
  letter-spacing: .04em;
  text-decoration: underline;
  text-underline-offset: 5px;
  cursor: pointer;
}
#jarvis-demo button::after {
  content: "";
  flex: 0 0 16px;
  width: 16px;
  height: 10px;
  background: currentColor;
  clip-path: polygon(0 45%, 78% 45%, 55% 8%, 65% 0, 100% 50%, 65% 100%, 55% 92%, 78% 55%, 0 55%);
}
#jarvis-demo button:hover:not(:disabled) {
  color: #fff;
}
#jarvis-demo button:disabled { opacity: .65; cursor: default; }
#jarvis-demo-contact-rule { margin: 0; font-size: 11px; }
#jarvis-demo-contact-rule:empty { display: none; }
.jarvis-demo-privacy { margin: 8px 0 0; }
.jarvis-demo-status, .jarvis-demo-error { margin: 8px 0 0; }
.jarvis-demo-status:empty, .jarvis-demo-error:empty { margin: 0; }
#jarvis-demo [hidden] { display: none; }
.jarvis-demo-status, .jarvis-demo-email { color: var(--demo-accent); }
.jarvis-demo-error { color: #ffb9b5; }
.jarvis-demo-email { display: inline-block; margin-top: 6px; }
.jarvis-demo-visually-hidden, .jarvis-demo-trap {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}
@media (min-width: 900px) {
  #jarvis-demo {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: start;
    align-content: safe center;
    column-gap: clamp(36px, 6vw, 92px);
  }
  #jarvis-demo fieldset {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  #jarvis-demo .jarvis-demo-phone { grid-column: auto; }
  #jarvis-demo fieldset > label:not(.jarvis-demo-wide),
  #jarvis-demo .jarvis-demo-phone { align-self: end; }
}
@media (max-width: 899px) {
  #jarvis-demo input { min-height: 44px; }
  .jarvis-enhanced.jarvis-demo-open #jarvis-demo {
    top: calc(118px + var(--jarvis-safe-top));
    right: calc(16px + var(--jarvis-safe-right));
    left: calc(16px + var(--jarvis-safe-left));
    max-width: 600px;
    align-content: start;
  }
  .jarvis-enhanced.jarvis-demo-open body::after {
    background: linear-gradient(#070d14b8, #070d14d6 30%, #070d14e6);
  }
}
