/* Home-only art direction. Shared legal pages keep their own theme. */
.hero__visual { display: contents; }

html[data-theme="dark"] {
  --canvas: #131517;
  --ink: #f3efe6;
  --muted: #a7aaa7;
  --accent: #e1bb72;
  --accent-ink: #261c0d;
  --panel: #1c2023;
  --control-bg: #ffffff06;
  --line: #e7d4af26;
}

html[data-theme="dark"] .page-shell--home {
  background:
    radial-gradient(ellipse at 76% 46%, #93703d18, transparent 52%),
    radial-gradient(ellipse at 0% 0%, #36504f24, transparent 52%),
    linear-gradient(135deg, #1b1e20, #131517 55%, #101315);
}

html[data-theme="dark"] .page-shell--home::before {
  mix-blend-mode: soft-light;
  opacity: .18;
}

html[data-theme="dark"] .page-shell--home .orb--bottom {
  display: none;
}

html[data-theme="dark"] .hero__visual {
  display: block;
  position: relative;
  grid-area: image;
  justify-self: center;
  width: 100%;
  max-width: 628px;
  isolation: isolate;
}

html[data-theme="dark"] .hero__visual::before,
html[data-theme="dark"] .hero__visual::after {
  content: "";
  position: absolute;
  inset: -25%;
  z-index: -1;
  pointer-events: none;
  border-radius: 50%;
}

html[data-theme="dark"] .hero__visual::before {
  background: radial-gradient(ellipse, #dda85822, #9c784419 30%, #ad824409 49%, transparent 68%);
  animation: home-ambient 12s ease-in-out infinite alternate;
}

html[data-theme="dark"] .hero__visual::after {
  inset: 68% 12% 0;
  background: radial-gradient(ellipse, #e8bf7440, #ad7c3514 38%, transparent 70%);
}

html[data-theme="dark"] .hero--static-egg h1 {
  color: #f3efe6;
}

html[data-theme="dark"] .hero--static-egg h1 em {
  color: #e1bb72;
  background: linear-gradient(115deg, #f1dcac 4%, #e1bb72 55%, #ba8d43);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  padding-right: .06em;
}

html[data-theme="dark"] .hero--static-egg .description {
  color: #b9bcb7;
}

html[data-theme="dark"] .hero__egg {
  /* Fade the baked-in light floor reflection into the dark stage. */
  mask-image: linear-gradient(to bottom, #000 82%, #000b 91%, transparent 100%);
  -webkit-mask-image: linear-gradient(to bottom, #000 82%, #000b 91%, transparent 100%);
  translate: var(--egg-x, 0px) var(--egg-y, 0px);
  transition: translate 700ms cubic-bezier(.2,.7,.2,1);
}

html[data-theme="dark"] .hero__cta,
html[data-theme="dark"] .ai-widget__launcher,
html[data-theme="dark"] .ai-chat__form button,
html[data-theme="dark"] .language-switcher a[aria-current="page"] {
  background: linear-gradient(135deg, #edce8f, #d8ab59 75%, #c39648);
  color: #261c0d;
  box-shadow: inset 0 1px 0 #fff4cf9c, 0 4px 16px #0003;
}

html[data-theme="dark"] .hero__cta {
  border-color: #f8d79355;
  box-shadow: inset 0 1px 0 #fff4cf9c, 0 6px 24px #0004, 0 0 28px #d6a43a0d;
  transition: box-shadow 220ms ease, translate 220ms ease;
}

html[data-theme="dark"] .language-switcher,
html[data-theme="dark"] .theme-toggle {
  background: linear-gradient(145deg, #ffffff09, #ffffff02);
  box-shadow: inset 0 1px 0 #ffffff08;
}

html[data-theme="dark"] .ai-widget:not(.ai-widget--icon-only) .ai-widget__entry,
html[data-theme="dark"] .ai-widget .ai-chat {
  background: linear-gradient(145deg, #25292bf7, #191d20fa);
  box-shadow: inset 0 1px 0 #ffffff0d, 0 12px 40px #0005;
  backdrop-filter: blur(18px);
}

html[data-theme="dark"] .ai-widget input:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
}

html[data-theme="dark"] .page-shell--home .footer {
  border-image: linear-gradient(90deg, #dec48e30, #dec48e0c) 1;
}

@media (hover: hover) {
  html[data-theme="dark"] .hero__cta:hover {
    translate: 0 -2px;
    box-shadow: inset 0 1px 0 #fff4cfc0, 0 10px 30px #0004, 0 0 32px #d6a43a20;
  }
}

@keyframes home-ambient {
  from { opacity: .7; transform: scale(.96); }
  to { opacity: 1; transform: scale(1.04); }
}

@media (max-width: 900px) {
  html[data-theme="dark"] .hero__visual { max-width: 420px; }
  html[data-theme="dark"] .hero__visual::before { animation: none; }
  html[data-theme="dark"] .hero__egg { translate: none; }
}

@media (prefers-reduced-motion: reduce) {
  html[data-theme="dark"] .hero__visual::before { animation: none; }
  html[data-theme="dark"] .hero__egg,
  html[data-theme="dark"] .hero__cta,
  html[data-theme="dark"] .hero__cta span[aria-hidden] {
    transition: none;
    translate: none;
    transform: none;
  }
}

@media (forced-colors: active) {
  html[data-theme="dark"] .hero--static-egg h1 em {
    background: none;
    -webkit-text-fill-color: currentColor;
  }
}
