:root {
  --ao-shell-bg: #07101e;
  --ao-shell-text: #edf6ff;
  --ao-shell-muted: #9db4c7;
  --ao-shell-line: #284358;
  --ao-shell-accent: #bfe9ff;
}

html { scroll-padding-top: 90px; }
body.ao-menu-open,
body.ao-native-menu-open { overflow: hidden; }

.ao-header {
  position: sticky;
  top: 0;
  z-index: 9990;
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 76px;
  padding: 0 5%;
  color: var(--ao-shell-text);
  background: var(--ao-shell-bg);
  border-bottom: 1px solid var(--ao-shell-line);
  font-family: Arial, sans-serif;
}
.ao-brand {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  color: var(--ao-shell-text) !important;
  font-family: Georgia, serif;
  font-size: 27px;
  letter-spacing: 3px;
  text-decoration: none;
}
.ao-brand small { margin-left: 8px; font: 10px Arial, sans-serif; letter-spacing: 2px; }
.ao-links { display: flex; align-items: center; gap: 18px; }
.ao-links a { color: #d9e7ef; font-size: 12px; text-decoration: none; }
.ao-links a[aria-current="page"] { color: #91dfff; }
.ao-contact { padding: 12px 18px; border: 1px solid #709fb8; }
.ao-toggle { display: none; }

.ao-drawer {
  position: fixed;
  inset: 0 0 0 auto;
  width: min(88vw, 360px);
  max-width: 100%;
  height: 100dvh;
  max-height: 100dvh;
  margin: 0;
  padding: 0 22px calc(22px + env(safe-area-inset-bottom));
  overflow-y: auto;
  overscroll-behavior: contain;
  color: var(--ao-shell-text);
  background: var(--ao-shell-bg);
  border: 0;
  border-left: 1px solid #345169;
  font-family: Arial, sans-serif;
}
.ao-drawer::backdrop { background: rgba(0, 7, 18, 0.72); backdrop-filter: blur(3px); }
.ao-drawer-head { position: sticky; top: 0; z-index: 1; display: flex; align-items: center; justify-content: space-between; min-height: 76px; background: var(--ao-shell-bg); border-bottom: 1px solid var(--ao-shell-line); }
.ao-drawer-head button { min-width: 44px; min-height: 44px; padding: 0 12px; color: var(--ao-shell-text); background: transparent; border: 1px solid #557184; border-radius: 6px; }
.ao-drawer .ao-links { position: static; display: flex; flex-direction: column; align-items: stretch; gap: 0; padding: 8px 0 20px; }
.ao-drawer .ao-links a { display: flex; align-items: center; justify-content: space-between; min-height: 64px; padding: 14px 0; color: #e8f3ff; border-bottom: 1px solid var(--ao-shell-line); font-size: 16px; letter-spacing: .04em; }
.ao-drawer .ao-links a::after { content: "›"; color: #92d8fb; font-size: 24px; }
.ao-drawer .ao-links .ao-contact { margin-top: 24px; padding: 16px; color: var(--ao-shell-bg); background: var(--ao-shell-accent); border: 1px solid #709fb8; }

.ao-crumb { padding: 16px 5%; color: var(--ao-shell-muted); background: var(--ao-shell-bg); font: 12px Arial, sans-serif; }
.ao-crumb ol { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; margin: 0; padding: 0; list-style: none; }
.ao-crumb a { display: inline-flex; align-items: center; min-width: 44px; min-height: 44px; color: #bddcea; }
.ao-crumb li + li::before { margin-right: 12px; content: "›"; }

.ao-dock { display: none; }
.ao-header a:focus-visible,
.ao-toggle:focus-visible,
.ao-drawer a:focus-visible,
.ao-drawer button:focus-visible { outline: 2px solid #93deff; outline-offset: 3px; }

@media (max-width: 959px) {
  .ao-header { min-height: 68px; padding: 0 20px; }
  .ao-toggle { z-index: 2; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; width: 48px; height: 52px; color: white; background: transparent; border: 1px solid #557184; border-radius: 12px; }
  .ao-toggle span { display: block; width: 19px; height: 1px; background: currentColor; }
  .ao-toggle small { font: 8px Arial, sans-serif; letter-spacing: .08em; }
  .ao-header > .ao-links { display: none; }
  .ao-crumb { padding: 16px 20px; }
  .ao-dock { position: fixed; right: 0; bottom: 0; left: 0; z-index: 9000; display: flex; gap: 12px; padding: 12px 18px calc(12px + env(safe-area-inset-bottom)); background: rgba(7, 16, 30, .96); border-top: 1px solid var(--ao-shell-line); }
  .ao-dock a { display: flex; flex: 1; align-items: center; justify-content: center; min-width: 44px; min-height: 46px; color: #d9efff; border: 1px solid #709fb8; font: 12px Arial, sans-serif; text-decoration: none; }
  .ao-dock a:last-child { flex: 1.35; color: var(--ao-shell-bg); background: #c3eaff; }
  body.ao-shell-page { padding-bottom: 95px; }
  body.ao-contact-page { padding-bottom: 0; }
  body.ao-contact-page .ao-dock { display: none; }
  .htm-footer a,
  .top-preview-min-footer a,
  .htm-profile-ledger a,
  .htm-inline-link,
  .htm-path-card a,
  .company-profile a,
  .contact-form__consent a,
  .contact-form__privacy a,
  .contact-form__fallback a,
  .top-preview-founder a,
  .hai-logo { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; }
  .top-preview-hero .hai-header { z-index: 10001; }
  .top-preview-hero .hai-preview-nav { display: none !important; }
  .top-preview-hero .hai-preview-menu { z-index: 10002 !important; display: flex !important; min-width: 48px; min-height: 48px; color: #fff !important; border: 1px solid #6f8ca1 !important; border-radius: 12px; }
  .top-preview-hero .hai-preview-menu span { background: currentColor !important; }
  .top-preview-hero { min-height: 100svh !important; }
  .hai-copy__title-line,
  .hai-copy__title-secondary-line { overflow-wrap: anywhere; }
}

@media (min-width: 960px) {
  .top-preview-hero .hai-preview-nav { position: static !important; width: auto !important; opacity: 1 !important; visibility: visible !important; transform: none !important; }
  .top-preview-hero .hai-preview-menu { display: none !important; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation: none !important; transition: none !important; }
}
