:root {
  color-scheme: dark;
  --surface: #081426;
  --panel: #101f35;
  --panel-active: #152945;
  --ink: #edf5ff;
  --muted: #b3c5de;
  --line: #304761;
  --pale: #101f35;
  --accent: #a0d8ff;
}

body { color: var(--ink); background: var(--surface); }
a:focus-visible, button:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 4px;
}
.topbar, .topbar nav.is-open {
  background: #0a1729;
  border-color: var(--line);
}
.logo small { color: var(--muted); }
.menu-toggle { background: var(--panel); border-color: var(--line); }
.menu-toggle span { background: var(--ink); }
.topbar nav a:hover, .footer-col a:hover { color: var(--accent); }
.kicker, .kicker.light {
  color: var(--accent);
  font-family: ui-monospace, monospace;
  letter-spacing: .15em;
}
.hero {
  border-bottom: 1px solid var(--line);
  background: linear-gradient(112deg,#081426 23%,#10264a 100%);
}
.hero-bg {
  background:
    radial-gradient(ellipse at 77% 49%, #2955a04d, transparent 49%),
    linear-gradient(#7abaff0b 1px,transparent 1px),
    linear-gradient(90deg,#7abaff0b 1px,transparent 1px);
  background-size: auto, 48px 48px, 48px 48px;
  mask-image: linear-gradient(90deg,transparent 25%,#000 75%);
}
.hero .lead { color: var(--muted); }
.hero .btn.primary, .detail-hero .btn.primary, .nav-cta, .chat-toggle {
  color: #fff;
  background: linear-gradient(110deg,#205ac7,#5e42b7);
}
#services .service-grid article { background: transparent; }
#services .service-grid article:hover,
#services .service-grid article:focus-within { background: var(--panel); }
#services .service-grid article:focus-within { outline-color: var(--accent); }
.service-arrow, .service-grid a, .detail-content a, .detail-footer a { color: var(--accent); }
.service-grid article, .industry-grid article, .steps article, .security-card,
.about-card, .trust-item, .detail-content aside {
  color: var(--ink);
  background: linear-gradient(145deg,var(--panel),#0c192d);
  border: 1px solid var(--line);
  box-shadow: none;
}
.service-grid article:hover, .industry-grid article:hover {
  background: var(--panel-active);
  border-color: #53739b;
  box-shadow: none;
}
.service-icon, .industry-grid span, .security-card > div > span {
  background: #1b3355;
  color: var(--accent);
}
.service-grid .num, .steps b { color: var(--accent); }
.dark-band, .security {
  border-block: 1px solid var(--line);
  background: linear-gradient(110deg,#0c1b30,#122544);
}
.security-inner > div > p:not(.kicker), .steps p,
.detail-content p, .detail-content li { color: var(--muted); }
.site-footer { border-top: 1px solid #425a7d; background: #06101e; }
.detail-hero {
  border-bottom: 1px solid var(--line);
  background: radial-gradient(ellipse at 93% 12%,#263f795e,transparent 58%),linear-gradient(105deg,#09192d,#10254a);
}
.cta {
  border: 1px solid #405879;
  background: linear-gradient(115deg,#102747,#242450);
  box-shadow: none;
}
.cta-btn { color: #101e35; background: #d6eaff; }
.legal-page, .legal-page h1, .legal-page h2 { color: var(--ink); }
.legal-page p, .legal-page li { color: var(--muted); }
.legal-page a, .legal-page .kicker { color: var(--accent); }

.chat-panel, .chat-head, .chat-intro, .chat-body, .chat-suggestions, .chat-form {
  background: var(--panel);
  border-color: var(--line);
}
.chat-intro h3, .chat-form input, .chat-msg.bot { color: var(--ink); }
.chat-form input, .chat-msg.bot { background: #142844; }
.chat-head small, .chat-intro p, .chat-suggestions > span, .chat-quick button, .chat-privacy, .chat-voice-status { color: var(--muted); }
.chat-intro-copy > span, .chat-head > button, .chat-mic-inline, .chat-email-action, .chat-cta-row a { color: var(--accent); }
.chat-cta-row a { border-color: #526a88; }
.chat-quick button:hover { color: var(--ink); }
.chat-cta-row a:hover, .chat-head > button:hover, .chat-mic-inline:hover { background: var(--panel-active); }
@media (prefers-reduced-motion: reduce) {
  .service-grid article, .service-grid article::before, .industry-grid article { transition: none; }
  .service-grid article:hover, .industry-grid article:hover { transform: none; }
}

.robot-guide { width: min(100%, 540px); text-align: center; }
.robot-art { display: block; width: 100%; }
.robot-arm { transform-origin: 335px 239px; }
.robot-eyes { transform-origin: 240px 123px; }
.robot-core { transform-origin: 240px 245px; }
.robot-link { display: block; border-radius: 14px; color: #e3f3ff; text-decoration: none; }
.robot-link-caption {
  display: inline-flex;
  align-items: center;
  gap: 13px;
  min-height: 48px;
  padding: 9px 16px;
  border: 1px solid #5b80b4;
  border-radius: 9px;
  background: #102746;
  font-size: 14px;
  font-weight: 750;
}
.robot-link:hover .robot-link-caption, .robot-link:focus-visible .robot-link-caption { background: #193960; border-color: #9be8ff; }
.robot-link-dot { width: 7px; height: 7px; border-radius: 50%; background: #9be8ff; box-shadow: 0 0 10px #6dd2ff; }
.robot-link-arrow { color: #a8ddff; }
@media (max-width: 720px) { .robot-guide { width: min(100%, 380px); } }
@media (prefers-reduced-motion: no-preference) {
  .robot-body { animation: robot-deploy 1.25s cubic-bezier(.14,.68,.23,1) both; }
  .robot-arm { animation: robot-point 1s .55s ease-out both; }
  .robot-eyes { animation: robot-activate .7s .4s ease-out both; }
  .robot-core { animation: robot-charge 2.4s .2s ease-out both; }
  .robot-trail { stroke-dasharray: 100; animation: robot-draw 1.1s .95s ease-out both; }
  .robot-link-arrow { transition: translate .22s ease; }
  .robot-link:is(:hover,:focus-visible) .robot-link-arrow { translate: 0 4px; }
}
@keyframes robot-deploy { from { opacity: .45; translate: 0 24px; } to { opacity: 1; translate: 0 0; } }
@keyframes robot-point { from { rotate: 27deg; } to { rotate: 0deg; } }
@keyframes robot-activate { from { opacity: .2; scale: 1 .3; } to { opacity: 1; scale: 1; } }
@keyframes robot-charge { from { rotate: -130deg; opacity: .4; } to { rotate: 0deg; opacity: 1; } }
@keyframes robot-draw { from { stroke-dashoffset: 100; } to { stroke-dashoffset: 0; } }

.sector-band {
  border-block: 1px solid var(--line);
  background: radial-gradient(ellipse at 14% 65%,#192b505e,transparent 45%), #0a1729;
}
.sector-layout {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: clamp(30px, 7vw, 110px);
  align-items: start;
}
.sector-intro > p:not(.kicker), .sector-content p { color: var(--muted); }
.sector-signal { display: block; width: min(100%, 280px); margin-top: 34px; }
.sector-list { border-block: 1px solid var(--line); }
.sector-list details + details { border-top: 1px solid var(--line); }
.sector-list details[open] { background: linear-gradient(100deg, #172a46, #101e34); }
.sector-list summary {
  display: grid;
  grid-template-columns: 30px minmax(0,1fr) 22px;
  gap: 12px;
  align-items: center;
  padding: 16px;
  min-height: 60px;
  list-style: none;
  cursor: pointer;
  font-size: clamp(16px, 2vw, 20px);
  font-weight: 730;
}
.sector-list summary::-webkit-details-marker { display: none; }
.sector-list summary:hover { background: #8fbcff13; }
.sector-list summary:focus-visible { outline: 2px solid var(--accent); outline-offset: -3px; }
.sector-index { color: var(--accent); font: 650 12px ui-monospace, monospace; }
.sector-toggle::before { content: "+"; color: var(--accent); }
.sector-list details[open] .sector-toggle::before { content: "−"; }
.sector-content { padding: 0 18px 20px 58px; }
.sector-content p { margin: 0 0 10px; }
.sector-content a { color: var(--accent); text-underline-offset: .22em; }
@media (max-width: 760px) {
  .sector-layout { grid-template-columns: 1fr; }
  .sector-signal { margin-top: 18px; width: min(70%,220px); }
}
@media (prefers-reduced-motion: no-preference) {
  .sector-list details[open] .sector-content { animation: clean-arrive .3s ease-out both; }
  .sector-trace { stroke-dasharray: 16 84; animation: sector-travel 2s ease-out 2; }
}
@keyframes sector-travel { from { stroke-dashoffset: 100; } to { stroke-dashoffset: 0; } }

.robot-greeting {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  max-width: 360px;
  margin: 0 auto;
  padding: 8px 10px 8px 15px;
  text-align: left;
  background: #102544;
  border: 1px solid #506e9b;
  border-radius: 12px;
  color: #e3f3ff;
}
.robot-greeting p { margin: 0; font-size: 14px; line-height: 1.45; }
.robot-greeting strong { display: block; margin-bottom: 3px; }
.assistant-voice, .assistant-voice:hover, .chat-voice-inline-listening {
  background: #172d4d !important;
  border-color: #526a88;
  color: var(--accent);
}
.topbar .legal-nav { position: static; display: flex; width: auto; flex-direction: row; gap: clamp(8px, 3vw, 24px); padding: 0; border: 0; box-shadow: none; }
.topbar .legal-nav a:not(.nav-cta) { display: inline-block; padding: 8px 0; }

.trust-item b { color: var(--ink); }
.trust-item span, .footer-brand p, .footer-connect p, .footer-bottom,
.footer-brand-link small { color: var(--muted); }
.service-icon { border-color: var(--line); }
.assistant-voice.listening, .chat-voice-inline-listening { color: var(--accent); }
.chat-send, .chat-send:hover { background: #2455a2; color: #fff; }
.chat-form input::placeholder { color: var(--muted); }
.lead-submit:focus-visible, .chat-form:focus-within { outline: 2px solid var(--accent); }
@media (max-width: 640px) {
  .chat-panel {
    inset: 0 0 0 auto;
    width: min(100%, 420px);
    padding-bottom: env(safe-area-inset-bottom);
  }
  .chat-body { min-height: 0; }
  .chat-suggestions { max-height: 25dvh; overflow: auto; }
}

.chat-intro .chat-disclosure { margin-top: 10px; }
.chat-disclosure a { color: var(--accent); }
@media (max-height: 620px) { .chat-intro { max-height: 32dvh; overflow: auto; } }
