/* Ad Astra AI — body reset, blueprint field, keyframes. No component classes. */
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: 'Inter', system-ui, -apple-system, sans-serif;
  -webkit-font-smoothing: antialiased;
  text-wrap: pretty;
  background-color: #0B1D36;
  background-image:
    radial-gradient(1100px 720px at 82% 8%, rgba(201,169,104,.10), transparent 58%),
    radial-gradient(1100px 900px at -5% 62%, rgba(44,70,112,.55), transparent 62%),
    radial-gradient(140% 100% at 50% 40%, transparent 30%, rgba(8,20,38,.72) 100%),
    repeating-linear-gradient(0deg, rgba(124,141,163,.11) 0 1px, transparent 1px 76px),
    repeating-linear-gradient(90deg, rgba(124,141,163,.11) 0 1px, transparent 1px 76px),
    repeating-linear-gradient(0deg, rgba(124,141,163,.055) 0 1px, transparent 1px 19px),
    repeating-linear-gradient(90deg, rgba(124,141,163,.055) 0 1px, transparent 1px 19px);
  background-attachment: fixed;
}

/* Scope: the redesigned pages opt in via .aa-site so legacy pages are untouched. */
.aa-site { color: #8DA0B8; }
.aa-site * { box-sizing: border-box; }
.aa-site button { font: inherit; margin: 0; }
.aa-site input { font: inherit; }
.aa-site a { color: #C9A968; text-decoration: none; }
.aa-site a:hover { color: #DFC48C; }
.aa-site h1, .aa-site h2, .aa-site h3, .aa-site h4, .aa-site p, .aa-site ul, .aa-site ol {
  margin: 0;
}

/* --- link colour roles (hover states without inline styles) --- */
a.aa-navlink, .aa-navlink { color: #8DA0B8; }
a.aa-navlink:hover, .aa-navlink:hover { color: #FBF8F2; }
a.aa-navlink-active, .aa-navlink-active { color: #C9A968; }
a.aa-navlink-active:hover, .aa-navlink-active:hover { color: #FBF8F2; }

a.aa-btn, .aa-btn {
  display: inline-block;
  background: #C9A968;
  color: #0E2240;
  font-family: 'Inter', system-ui, sans-serif;
  font-weight: 600;
  font-size: 15px;
  letter-spacing: .01em;
  padding: 16px 30px;
  border: 0;
  cursor: pointer;
}
a.aa-btn:hover, .aa-btn:hover { background: #DFC48C; color: #0E2240; }
.aa-btn-sm { font-size: 14px; padding: 11px 20px; }

a.aa-btn-secondary, .aa-btn-secondary {
  display: inline-block;
  color: #FBF8F2;
  font-size: 15px;
  border-bottom: 1px solid rgba(201,169,104,.55);
  padding-bottom: 3px;
  background: none;
  border-top: 0; border-left: 0; border-right: 0;
  cursor: pointer;
}
a.aa-btn-secondary:hover, .aa-btn-secondary:hover { color: #C9A968; }

a.aa-btn-tertiary, .aa-btn-tertiary {
  display: inline-block;
  color: #8DA0B8;
  font-size: 14px;
  border-bottom: 1px solid rgba(216,207,182,.3);
  padding-bottom: 3px;
  background: none;
  border-top: 0; border-left: 0; border-right: 0;
  cursor: pointer;
}
a.aa-btn-tertiary:hover, .aa-btn-tertiary:hover { color: #FBF8F2; }

/* Option rows / chips share a hover wash */
.aa-option:hover { background: rgba(201,169,104,.07); }

/* --- entrance + ambient motion --- */
@keyframes aa-blurin{from{opacity:0;filter:blur(14px);transform:translateY(22px)}to{opacity:1;filter:blur(0);transform:none}}
@keyframes aa-rise{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
@keyframes aa-fade{from{opacity:0}to{opacity:1}}
@keyframes aa-draw{from{stroke-dashoffset:1400}to{stroke-dashoffset:0}}
@keyframes aa-pop{from{opacity:0;transform:scale(.15)}to{opacity:1;transform:scale(1)}}
@keyframes aa-star{from{opacity:0;transform:scale(.1) rotate(-30deg)}to{opacity:1;transform:scale(1) rotate(0)}}
@keyframes aa-glow{0%,100%{opacity:.14}50%{opacity:.4}}
@keyframes aa-jitter{0%,100%{transform:translate(0,0)}25%{transform:translate(1.6px,-1.2px)}50%{transform:translate(-1.2px,1.4px)}75%{transform:translate(1.1px,1.1px)}}
@keyframes aa-beam{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes aa-cue{0%,100%{opacity:.22;transform:translateY(0)}50%{opacity:.65;transform:translateY(7px)}}
@keyframes aa-twinkle{0%,100%{opacity:.12}50%{opacity:.55}}
@keyframes aa-sweep{from{stroke-dashoffset:420}to{stroke-dashoffset:0}}

/* Scroll-revealed blocks. Fail-visible: without scroll timelines the animation
   simply runs once on load and settles in the visible end state. */
.aa-reveal {
  animation: aa-rise .8s cubic-bezier(.2,.7,.2,1) both;
}
@supports (animation-timeline: view()) {
  .aa-reveal {
    animation-timeline: view();
    animation-range: entry 5% cover 28%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .aa-site *, .aa-reveal { animation: none !important; }
}

.aa-edge-embed iframe { width: 100% !important; max-width: 100% !important; min-width: 0 !important; }
