/* Wave 23D.2 - faithful 5A radar + contextual 5D companion */

body.home-page .wave23d-radar-zone {
  width: min(100%, 560px);
}

body.home-page .wave23d-radar-zone [data-radar-option],
body.home-page .wave23d-radar-zone [data-radar-layer] {
  display: none !important;
}

body.home-page .wave23d-radar__instrument {
  width: min(100%, 440px);
  margin-top: 0.85rem;
  overflow: visible;
  background:
    radial-gradient(circle at 50% 50%, rgba(230, 184, 79, 0.09), transparent 61%),
    rgba(7, 17, 31, 0.34);
}

body.home-page .wave23d-radar__instrument::before {
  inset: 4%;
  border-style: solid;
  border-color: rgba(230, 184, 79, 0.11);
}

body.home-page .wave23d-radar__ring {
  border-color: rgba(230, 184, 79, 0.22);
}

body.home-page .wave23d-radar__ring--middle,
body.home-page .wave23d-radar__ring--inner {
  border-color: rgba(230, 184, 79, 0.14);
}

body.home-page .wave23d-radar__crosshair--x,
body.home-page .wave23d-radar__crosshair--y {
  background: rgba(230, 184, 79, 0.1);
}

body.home-page .wave23d-radar__sweep {
  z-index: 2;
  background: conic-gradient(from 0deg, rgba(230, 184, 79, 0.42), rgba(230, 184, 79, 0.08) 36deg, transparent 70deg);
  animation-duration: 5s;
}

body.home-page .wave23d-radar__core {
  z-index: 5;
  width: 7px;
  height: 7px;
  border: 0;
  background: #e6b84f;
  box-shadow: 0 0 0 8px rgba(230, 184, 79, 0.07), 0 0 22px rgba(230, 184, 79, 0.72);
}

body.home-page .wave23d-radar__contacts {
  position: absolute;
  inset: 0;
  z-index: 7;
  border-radius: 50%;
}

body.home-page .wave23d-radar__contact {
  position: absolute;
  left: var(--contact-x);
  top: var(--contact-y);
  display: grid;
  grid-template-columns: auto auto;
  grid-template-areas: "dot number" "label label";
  align-items: center;
  justify-items: center;
  gap: 0.12rem 0.24rem;
  width: max-content;
  max-width: 142px;
  min-width: 46px;
  min-height: 42px;
  padding: 0.35rem;
  border: 0;
  border-radius: 7px;
  background: transparent;
  color: #e6b84f;
  font-family: "JetBrains Mono", ui-monospace, monospace;
  cursor: pointer;
  transform: translate(-50%, -50%);
  animation: wave23dContactIn 420ms ease var(--contact-delay) both;
  transition: color 160ms ease, background 160ms ease, box-shadow 160ms ease;
}

body.home-page .wave23d-radar__contact.is-east {
  justify-items: end;
  text-align: right;
  transform: translate(-100%, -50%);
}

body.home-page .wave23d-radar__contact.is-west {
  justify-items: start;
  text-align: left;
  transform: translate(0, -50%);
}

body.home-page .wave23d-radar__contact i {
  grid-area: dot;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #e6b84f;
  box-shadow: 0 0 13px rgba(230, 184, 79, 0.94);
  animation: wave23dContactPulse 2.2s ease-in-out infinite;
}

body.home-page .wave23d-radar__contact span {
  grid-area: number;
  color: rgba(230, 184, 79, 0.58);
  font-size: 0.48rem;
  letter-spacing: 0.08em;
}

body.home-page .wave23d-radar__contact b {
  grid-area: label;
  color: #e6b84f;
  font-size: clamp(0.48rem, 0.68vw, 0.61rem);
  font-weight: 650;
  line-height: 1.25;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

body.home-page .wave23d-radar__contact:hover,
body.home-page .wave23d-radar__contact:focus-visible {
  background: rgba(7, 17, 31, 0.82);
  color: #f6f1e7;
  box-shadow: 0 0 24px rgba(230, 184, 79, 0.14);
  outline: 1px solid rgba(230, 184, 79, 0.48);
  outline-offset: 2px;
}

body.home-page .wave23d-radar__contact:hover b,
body.home-page .wave23d-radar__contact:focus-visible b {
  color: #f6f1e7;
}

body.home-page .wave23d-radar__log {
  position: absolute;
  top: 4%;
  left: 4%;
  z-index: 8;
  display: flex;
  gap: 5px;
}

body.home-page .wave23d-radar__log i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #e6b84f;
  box-shadow: 0 0 7px rgba(230, 184, 79, 0.75);
}

body.home-page .wave23d-radar__readout {
  min-height: 1.6em;
  margin: 0.35rem 0 0.45rem;
  color: rgba(246, 241, 231, 0.6);
  font-family: "JetBrains Mono", ui-monospace, monospace;
  font-size: 0.62rem;
  letter-spacing: 0.03em;
}

body.home-page .wave23d-radar__free {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 0.65rem;
  width: min(100%, 440px);
  margin: 0 auto;
  padding: 0.3rem 0 0.42rem;
  border-bottom: 1px solid rgba(230, 184, 79, 0.32);
}

body.home-page .wave23d-radar__free[hidden] {
  display: none;
}

body.home-page .wave23d-radar__free label {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 0.55rem;
}

body.home-page .wave23d-radar__free label > span,
body.home-page .wave23d-radar__free button,
body.home-page .wave23d-radar__controls button {
  border: 0;
  background: transparent;
  color: rgba(246, 241, 231, 0.48);
  font: 700 0.52rem/1.2 "JetBrains Mono", ui-monospace, monospace;
  letter-spacing: 0.13em;
  white-space: nowrap;
}

body.home-page .wave23d-radar__free input {
  min-width: 0;
  border: 0;
  outline: 0;
  background: transparent;
  color: #f6f1e7;
  font: 500 0.72rem/1.3 "Space Grotesk", sans-serif;
}

body.home-page .wave23d-radar__free input::placeholder {
  color: rgba(246, 241, 231, 0.34);
}

body.home-page .wave23d-radar__free button,
body.home-page .wave23d-radar__controls button {
  color: #e6b84f;
  cursor: pointer;
}

body.home-page .wave23d-radar__free button:hover,
body.home-page .wave23d-radar__free button:focus-visible,
body.home-page .wave23d-radar__controls button:hover,
body.home-page .wave23d-radar__controls button:focus-visible {
  color: #f6f1e7;
  outline: 1px solid rgba(230, 184, 79, 0.55);
  outline-offset: 4px;
}

body.home-page .wave23d-radar__controls {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
  width: min(100%, 440px);
  margin: 0.65rem auto 0;
}

body.home-page .wave23d-radar__controls button:disabled {
  opacity: 0.24;
  cursor: default;
}

body.home-page .wave23d-radar__result {
  max-width: 430px;
  margin: 0.5rem auto 0;
  text-align: center;
}

body.home-page .wave23d-radar__result[hidden] {
  display: none;
}

body.home-page .wave23d-radar__result > span {
  display: block;
  color: #e8483f;
  font: 750 0.52rem/1.3 "JetBrains Mono", ui-monospace, monospace;
  letter-spacing: 0.2em;
}

body.home-page .wave23d-radar__result > strong {
  display: block;
  margin-top: 0.22rem;
  color: #f6f1e7;
  font-size: 1.25rem;
}

body.home-page .wave23d-radar__result > p {
  margin: 0.28rem 0 0;
  color: rgba(246, 241, 231, 0.56);
  font-size: 0.7rem;
  line-height: 1.4;
}

body.home-page .wave23d-radar__lock {
  position: absolute;
  inset: 0;
  z-index: 6;
  border-radius: 50%;
  pointer-events: none;
}

body.home-page .wave23d-radar__lock[hidden] {
  display: none;
}

body.home-page .wave23d-radar__lock::before,
body.home-page .wave23d-radar__lock::after {
  content: "";
  position: absolute;
  background: rgba(232, 72, 63, 0.68);
  box-shadow: 0 0 13px rgba(232, 72, 63, 0.18);
}

body.home-page .wave23d-radar__lock::before {
  top: 50%;
  left: 0;
  width: 100%;
  height: 1px;
}

body.home-page .wave23d-radar__lock::after {
  top: 0;
  left: 50%;
  width: 1px;
  height: 100%;
}

body.home-page .wave23d-radar__lock span {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 54px;
  height: 54px;
  border: 1px solid #e8483f;
  border-radius: 50%;
  box-shadow: 0 0 28px rgba(232, 72, 63, 0.48);
  transform: translate(-50%, -50%);
  animation: wave23dTargetBreathe 2s ease-in-out infinite;
}

body.home-page .wave23d-radar__lock i {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #e8483f;
  transform: translate(-50%, -50%);
}

body.home-page .wave23d-radar__lock b {
  position: absolute;
  top: 40%;
  left: 57%;
  color: #e8483f;
  font: 750 0.48rem/1 "JetBrains Mono", ui-monospace, monospace;
  letter-spacing: 0.17em;
  white-space: nowrap;
}

body.home-page .wave23d-radar__instrument .wave23d-route-tray {
  position: absolute;
  inset: 18%;
  z-index: 9;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-content: center;
  gap: 0.38rem;
  padding: 0.5rem;
  border: 1px solid rgba(230, 184, 79, 0.2);
  border-radius: 10px;
  background: rgba(7, 17, 31, 0.9);
  box-shadow: 0 24px 50px rgba(0, 0, 0, 0.38);
}

body.home-page .wave23d-radar__instrument .wave23d-route-tray[hidden] {
  display: none;
}

body.home-page .wave23d-radar__instrument .wave23d-route {
  min-height: 66px;
  padding: 0.45rem;
  border-radius: 5px;
  background: rgba(13, 24, 38, 0.93);
}

body.home-page .wave23d-radar__instrument .wave23d-route strong {
  font-size: 0.67rem;
}

body.home-page .wave23d-radar__instrument .wave23d-route small {
  font-size: 0.56rem;
}

body.home-page .wave23d-radar__instrument .wave23d-route.is-recommended {
  border-color: #e8483f;
  background: rgba(232, 72, 63, 0.12);
  box-shadow: 0 0 18px rgba(232, 72, 63, 0.2);
}

body.home-page .wave23d-radar-zone.is-complete .wave23d-radar__instrument {
  opacity: 1;
  filter: none;
  transform: none;
}

body.home-page .wave23d-radar-zone[data-radar-route="value-snapshot"] {
  --route-active: #e6b84f;
  --route-active-rgb: 230, 184, 79;
}

body.home-page .wave23d-radar-zone[data-radar-route="signal-scan"] {
  --route-active: #5dc9d6;
  --route-active-rgb: 93, 201, 214;
}

body.home-page .wave23d-radar-zone[data-radar-route="executive-diagnosis"] {
  --route-active: #ff6b5a;
  --route-active-rgb: 255, 107, 90;
}

body.home-page .wave23d-radar-zone[data-radar-route="system-review"] {
  --route-active: #9184d9;
  --route-active-rgb: 145, 132, 217;
}

body.home-page .wave23d-radar-zone.is-complete .wave23d-radar__sweep {
  opacity: 0.28;
}

/* 5D companion: return-state orb, speech bubble and centered field */
.wave23d-companion {
  position: fixed;
  right: clamp(14px, 2vw, 28px);
  bottom: calc(clamp(14px, 2vw, 28px) + var(--signal-guide-cookie-offset, 0px));
  z-index: 1450;
  display: flex;
  align-items: flex-end;
  gap: 0.75rem;
  font-family: "Space Grotesk", sans-serif;
}

.wave23d-companion[hidden],
.wave23d-companion__overlay[hidden] {
  display: none !important;
}

.wave23d-companion__dock {
  position: relative;
  z-index: 2;
  display: grid;
  place-items: center;
  width: 58px;
  height: 58px;
  flex: 0 0 auto;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  cursor: pointer;
}

.wave23d-companion__orb {
  display: block;
  width: 54px;
  height: 54px;
  border-radius: 45% 55% 58% 42% / 52% 42% 58% 48%;
  background: radial-gradient(circle at 38% 33%, #ffe69a, #e6b84f 42%, #8f3d20 69%, #461318 88%);
  box-shadow: 0 0 34px rgba(230, 184, 79, 0.48), inset 0 0 20px rgba(255, 255, 255, 0.16);
  animation: wave23dOrbMorph 9s ease-in-out infinite;
}

.wave23d-companion__dock:hover .wave23d-companion__orb,
.wave23d-companion__dock:focus-visible .wave23d-companion__orb {
  box-shadow: 0 0 48px rgba(230, 184, 79, 0.72), inset 0 0 24px rgba(255, 255, 255, 0.2);
}

.wave23d-companion__dock:focus-visible {
  outline: 2px solid #f6f1e7;
  outline-offset: 4px;
}

.wave23d-companion__bubble {
  position: relative;
  width: min(310px, calc(100vw - 100px));
  padding: 0.8rem 0.9rem;
  border: 1px solid rgba(230, 184, 79, 0.42);
  border-radius: 10px;
  background: rgba(12, 27, 46, 0.96);
  color: #f6f1e7;
  box-shadow: 0 22px 54px rgba(0, 0, 0, 0.42);
  text-align: left;
  cursor: pointer;
}

.wave23d-companion__bubble::after {
  content: "";
  position: absolute;
  right: -7px;
  bottom: 18px;
  width: 12px;
  height: 12px;
  border-top: 1px solid rgba(230, 184, 79, 0.42);
  border-right: 1px solid rgba(230, 184, 79, 0.42);
  background: #0c1b2e;
  transform: rotate(45deg);
}

.wave23d-companion__bubble strong,
.wave23d-companion__bubble span {
  display: block;
}

.wave23d-companion__bubble strong {
  color: #e6b84f;
  font: 750 0.52rem/1.3 "JetBrains Mono", ui-monospace, monospace;
  letter-spacing: 0.13em;
}

.wave23d-companion__bubble span {
  margin-top: 0.35rem;
  color: rgba(246, 241, 231, 0.78);
  font-size: 0.72rem;
  line-height: 1.42;
}

.wave23d-companion__bubble:hover,
.wave23d-companion__bubble:focus-visible {
  border-color: #e6b84f;
  outline: 2px solid rgba(246, 241, 231, 0.82);
  outline-offset: 3px;
}

.wave23d-companion__overlay {
  position: fixed;
  inset: 0;
  z-index: 1500;
  display: grid;
  place-items: center;
  padding: 3vh 3vw;
}

.wave23d-companion__backdrop {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
  background: rgba(4, 8, 15, 0.86);
  backdrop-filter: blur(9px);
  cursor: default;
}

.wave23d-companion__field {
  position: relative;
  z-index: 1;
  width: min(1100px, 96vw);
  height: min(720px, 92dvh);
  overflow: hidden;
  border: 1px solid rgba(230, 184, 79, 0.22);
  border-radius: 10px;
  background: radial-gradient(circle at 50% 38%, rgba(230, 184, 79, 0.06), transparent 38%), #07111f;
  box-shadow: 0 34px 100px rgba(0, 0, 0, 0.62);
}

.wave23d-companion__topline {
  position: relative;
  z-index: 4;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  padding: 1.15rem 1.35rem;
  color: rgba(246, 241, 231, 0.46);
  font: 700 0.56rem/1.2 "JetBrains Mono", ui-monospace, monospace;
  letter-spacing: 0.22em;
  text-align: center;
}

.wave23d-companion__topline button {
  width: max-content;
  border: 0;
  background: transparent;
  color: rgba(246, 241, 231, 0.48);
  font: inherit;
  letter-spacing: 0.12em;
  cursor: pointer;
}

.wave23d-companion__topline button:last-child {
  justify-self: end;
}

.wave23d-companion__topline button:hover,
.wave23d-companion__topline button:focus-visible {
  color: #f6f1e7;
  outline: 1px solid rgba(230, 184, 79, 0.5);
  outline-offset: 4px;
}

.wave23d-companion__stage {
  position: relative;
  width: min(760px, 94%);
  height: 430px;
  margin: -0.5rem auto 0;
}

.wave23d-companion__glow {
  position: absolute;
  top: 48%;
  left: 50%;
  width: 320px;
  height: 320px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(230, 184, 79, 0.2), transparent 66%);
  filter: blur(12px);
  transform: translate(-50%, -50%);
}

.wave23d-companion__orb--center {
  position: absolute;
  top: 48%;
  left: 50%;
  width: 150px;
  height: 150px;
  transform: translate(-50%, -50%);
  box-shadow: 0 0 64px rgba(230, 184, 79, 0.5), inset 0 0 38px rgba(255, 255, 255, 0.18);
}

.wave23d-companion__choices {
  position: absolute;
  inset: 0;
}

.wave23d-companion__choices button {
  position: absolute;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 0.45rem;
  width: min(190px, 27%);
  min-height: 44px;
  padding: 0.6rem 0.7rem;
  border: 1px solid rgba(230, 184, 79, 0.38);
  border-radius: 999px;
  background: rgba(13, 24, 38, 0.82);
  color: #f6f1e7;
  backdrop-filter: blur(6px);
  text-align: left;
  cursor: pointer;
  animation: wave23dChoiceIn 430ms ease calc(var(--choice-index) * 70ms) both;
}

.wave23d-companion__choices button span {
  color: rgba(230, 184, 79, 0.62);
  font: 700 0.5rem/1 "JetBrains Mono", ui-monospace, monospace;
}

.wave23d-companion__choices button strong {
  font-size: 0.68rem;
  line-height: 1.25;
}

.wave23d-companion__choices button:hover,
.wave23d-companion__choices button:focus-visible {
  border-color: #e6b84f;
  box-shadow: 0 0 24px rgba(230, 184, 79, 0.22);
  outline: 2px solid #f6f1e7;
  outline-offset: 3px;
}

.wave23d-companion__choices[data-count="4"] button:nth-child(1) { left: 50%; top: 2%; transform: translateX(-50%); }
.wave23d-companion__choices[data-count="4"] button:nth-child(2) { right: 1%; top: 45%; }
.wave23d-companion__choices[data-count="4"] button:nth-child(3) { left: 50%; bottom: 0; transform: translateX(-50%); }
.wave23d-companion__choices[data-count="4"] button:nth-child(4) { left: 1%; top: 45%; }
.wave23d-companion__choices[data-count="5"] button:nth-child(1) { left: 50%; top: 1%; transform: translateX(-50%); }
.wave23d-companion__choices[data-count="5"] button:nth-child(2) { right: 0; top: 25%; }
.wave23d-companion__choices[data-count="5"] button:nth-child(3) { right: 9%; bottom: 5%; }
.wave23d-companion__choices[data-count="5"] button:nth-child(4) { left: 9%; bottom: 5%; }
.wave23d-companion__choices[data-count="5"] button:nth-child(5) { left: 0; top: 25%; }

.wave23e-companion[data-companion-context="faq"] .wave23d-companion__stage {
  min-height: 330px;
}

.wave23e-companion[data-companion-context="faq"] .wave23d-companion__glow,
.wave23e-companion[data-companion-context="faq"] .wave23d-companion__orb--center {
  opacity: 0.24;
}

.wave23e-companion[data-companion-context="faq"] .wave23d-companion__choices {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-content: center;
  gap: 0.55rem;
  padding: 0 5%;
}

.wave23e-companion[data-companion-context="faq"] .wave23d-companion__choices[data-count="8"] button:nth-child(n) {
  position: static;
  width: 100%;
  min-height: 54px;
  border-radius: 8px;
  transform: none;
}

.wave23d-companion__read {
  position: absolute;
  right: 12%;
  bottom: 1.7rem;
  left: 12%;
  z-index: 3;
  text-align: center;
}

.wave23d-companion__read > span {
  color: #e6b84f;
  font: 750 0.58rem/1.3 "JetBrains Mono", ui-monospace, monospace;
  letter-spacing: 0.18em;
}

.wave23d-companion__read h2 {
  margin: 0.45rem 0 0;
  color: #f6f1e7;
  font-size: clamp(1.1rem, 2vw, 1.45rem);
  line-height: 1.25;
}

.wave23d-companion__read p {
  max-width: 680px;
  margin: 0.5rem auto 0;
  color: rgba(246, 241, 231, 0.62);
  font-size: 0.78rem;
  line-height: 1.5;
}

.wave23d-companion__read > div {
  display: flex;
  justify-content: center;
  gap: 0.65rem;
  margin-top: 0.9rem;
}

.wave23d-companion__action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 0.65rem 0.9rem;
  border: 1px solid rgba(230, 184, 79, 0.45);
  border-radius: 999px;
  background: transparent;
  color: #e6b84f;
  font: 750 0.58rem/1.2 "JetBrains Mono", ui-monospace, monospace;
  letter-spacing: 0.09em;
  text-decoration: none;
  cursor: pointer;
}

.wave23d-companion__action--primary {
  border-color: #e6b84f;
  background: #e6b84f;
  color: #07111f;
}

.wave23d-companion__action:hover,
.wave23d-companion__action:focus-visible {
  border-color: #f6f1e7;
  outline: 2px solid #f6f1e7;
  outline-offset: 3px;
}

body.wave23d-companion-open {
  overflow: hidden;
}

.wave23d-companion-match {
  box-shadow: 0 0 0 1px rgba(230, 184, 79, 0.55), 0 0 26px rgba(230, 184, 79, 0.12) !important;
}

.wave23d-companion-focus {
  outline: 3px solid #e6b84f !important;
  outline-offset: 8px !important;
  animation: wave23dFocusPulse 900ms ease-in-out 2;
}

@keyframes wave23dRadarSweep { to { transform: rotate(360deg); } }
@keyframes wave23dContactIn { from { opacity: 0; filter: blur(5px); } to { opacity: 1; filter: none; } }
@keyframes wave23dContactPulse { 0%, 100% { transform: scale(0.9); opacity: 0.72; } 50% { transform: scale(1.18); opacity: 1; } }
@keyframes wave23dTargetBreathe { 0%, 100% { transform: translate(-50%, -50%) scale(0.92); } 50% { transform: translate(-50%, -50%) scale(1.08); } }
@keyframes wave23dOrbMorph { 0%, 100% { border-radius: 45% 55% 58% 42% / 52% 42% 58% 48%; transform: rotate(0deg); } 33% { border-radius: 57% 43% 45% 55% / 41% 57% 43% 59%; } 66% { border-radius: 42% 58% 52% 48% / 58% 44% 56% 42%; transform: rotate(7deg); } }
@keyframes wave23dChoiceIn { from { opacity: 0; filter: blur(5px); } to { opacity: 1; filter: none; } }
@keyframes wave23dFocusPulse { 50% { outline-color: #e8483f; } }

@media (max-width: 1024px) {
  body.home-page .wave23d-radar__instrument { width: min(100%, 400px); }
}

@media (max-width: 680px) {
  body.home-page .wave23d-radar__instrument { width: min(100%, 330px); }
  body.home-page .wave23d-radar__contact { max-width: 105px; min-height: 38px; padding: 0.2rem; }
  body.home-page .wave23d-radar__contact b { font-size: 0.44rem; line-height: 1.18; }
  body.home-page .wave23d-radar__instrument .wave23d-route-tray { inset: 14%; gap: 0.28rem; padding: 0.35rem; }
  body.home-page .wave23d-radar__instrument .wave23d-route { grid-template-columns: 1fr; grid-template-areas: "index" "title" "note"; min-height: 76px; padding: 0.34rem; }
  body.home-page .wave23d-radar__instrument .wave23d-route strong { font-size: 0.58rem; }
  body.home-page .wave23d-radar__instrument .wave23d-route small { font-size: 0.49rem; }
  body.home-page .wave23d-radar__free label { grid-template-columns: 1fr; gap: 0.18rem; }
  body.home-page .wave23d-radar__free label > span { font-size: 0.45rem; }
  body.home-page .wave23d-radar__controls { flex-wrap: wrap; }
  .wave23d-companion { right: 12px; bottom: calc(12px + var(--signal-guide-cookie-offset, 0px)); gap: 0.45rem; }
  .wave23d-companion__dock { width: 50px; height: 50px; }
  .wave23d-companion__orb { width: 46px; height: 46px; }
  .wave23d-companion__bubble { width: min(260px, calc(100vw - 82px)); padding: 0.65rem 0.7rem; }
  .wave23d-companion__bubble strong { font-size: 0.45rem; }
  .wave23d-companion__bubble span { font-size: 0.64rem; }
  .wave23d-companion__overlay { padding: 0; }
  .wave23d-companion__field { width: 100vw; height: 100dvh; border: 0; border-radius: 0; }
  .wave23d-companion__topline { padding: 1rem; font-size: 0.48rem; }
  .wave23d-companion__stage { width: 100%; height: 56dvh; margin-top: 0; }
  .wave23d-companion__orb--center { top: 28%; width: 106px; height: 106px; }
  .wave23d-companion__glow { top: 28%; width: 230px; height: 230px; }
  .wave23d-companion__choices { top: 48%; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-content: start; gap: 0.45rem; padding: 0 1rem; }
  .wave23d-companion__choices button,
  .wave23d-companion__choices[data-count] button:nth-child(n) { position: static; width: 100%; min-height: 48px; transform: none; }
  .wave23d-companion__choices[data-count="5"] button:first-child { grid-column: 1 / -1; }
  .wave23e-companion[data-companion-context="faq"] .wave23d-companion__stage { min-height: 390px; }
  .wave23e-companion[data-companion-context="faq"] .wave23d-companion__choices { top: 0; grid-template-columns: 1fr; align-content: start; max-height: 380px; padding: 0 1rem; overflow-y: auto; }
  .wave23e-companion[data-companion-context="faq"] .wave23d-companion__choices[data-count="8"] button:nth-child(n) { min-height: 44px; }
  .wave23d-companion__read { right: 1rem; bottom: 1.25rem; left: 1rem; }
  .wave23d-companion__read h2 { font-size: 1.05rem; }
  .wave23d-companion__read p { font-size: 0.7rem; }
  .wave23d-companion__read > div { flex-wrap: wrap; }
}

@media (max-width: 390px) {
  body.home-page .wave23d-radar__instrument { width: min(100%, 292px); }
  body.home-page .wave23d-radar__contact { max-width: 90px; }
  body.home-page .wave23d-radar__contact b { font-size: 0.4rem; }
  body.home-page .wave23d-radar__lock b { left: 55%; font-size: 0.42rem; }
  .wave23d-companion__bubble { width: min(230px, calc(100vw - 78px)); }
  .wave23d-companion__choices { gap: 0.34rem; }
  .wave23d-companion__choices button { padding: 0.48rem; }
  .wave23d-companion__choices button strong { font-size: 0.61rem; }
}

@media (prefers-reduced-motion: reduce) {
  body.home-page .wave23d-radar__sweep,
  body.home-page .wave23d-radar__contact,
  body.home-page .wave23d-radar__contact i,
  body.home-page .wave23d-radar__lock span,
  .wave23d-companion__orb,
  .wave23d-companion__choices button,
  .wave23d-companion-focus {
    animation: none !important;
    transition: none !important;
  }
}

/* Wave 25AB review - route read moves into the open field and stays connected
   to the instrument. The language follows the film's system-map frames. */
body.home-page .hero4a-primary[data-radar-route="value-snapshot"] {
  --route-active: #e6b84f;
  --route-active-rgb: 230, 184, 79;
}

body.home-page .hero4a-primary[data-radar-route="signal-scan"] {
  --route-active: #5dc9d6;
  --route-active-rgb: 93, 201, 214;
}

body.home-page .hero4a-primary[data-radar-route="executive-diagnosis"] {
  --route-active: #ff6b5a;
  --route-active-rgb: 255, 107, 90;
}

body.home-page .hero4a-primary[data-radar-route="system-review"] {
  --route-active: #9184d9;
  --route-active-rgb: 145, 132, 217;
}

body.home-page .hero4a-primary > .wave23d-radar__result {
  position: relative;
  z-index: 12;
  grid-column: 1 / -1;
  width: min(100%, 700px);
  max-width: none;
  margin: 1.5rem 0 0;
  text-align: left;
}

body.home-page .hero4a-primary > .wave23d-radar__result[hidden] {
  display: none;
}

body.home-page .wave23d-radar__result-copy {
  max-width: 620px;
}

body.home-page .wave23d-radar__result-copy > span {
  display: block;
  color: var(--route-active, #5dc9d6);
  font: 800 0.6rem/1.35 "JetBrains Mono", ui-monospace, monospace;
  letter-spacing: 0.19em;
  text-transform: uppercase;
}

body.home-page .wave23d-radar__result-copy > strong {
  display: block;
  margin-top: 0.38rem;
  color: #f6f1e7;
  font: 720 clamp(2rem, 3.2vw, 3.2rem)/0.98 "Space Grotesk", sans-serif;
  letter-spacing: -0.045em;
}

body.home-page .wave23d-radar__result-copy > p {
  max-width: 58ch;
  margin: 0.55rem 0 0;
  color: rgba(246, 241, 231, 0.66);
  font: 500 0.83rem/1.48 "Space Grotesk", sans-serif;
}

body.home-page .wave23d-radar__result-rows {
  display: grid;
  gap: 0.48rem;
  margin-top: 1.05rem;
}

body.home-page .wave23d-radar__result-rows > div {
  position: relative;
  display: grid;
  grid-template-columns: minmax(115px, 0.32fr) minmax(0, 1fr);
  align-items: center;
  gap: 0.75rem;
  min-height: 52px;
  padding: 0.62rem 0.85rem 0.62rem 1rem;
  overflow: hidden;
  border: 1px solid rgba(var(--route-active-rgb, 93, 201, 214), 0.23);
  border-radius: 7px;
  background: linear-gradient(90deg, rgba(var(--route-active-rgb, 93, 201, 214), 0.09), rgba(5, 13, 25, 0.66) 42%, rgba(5, 13, 25, 0.32));
}

body.home-page .wave23d-radar__result-rows > div::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 3px;
  background: var(--route-active, #5dc9d6);
  box-shadow: 0 0 16px rgba(var(--route-active-rgb, 93, 201, 214), 0.5);
}

body.home-page .wave23d-radar__result-rows b {
  color: var(--route-active, #5dc9d6);
  font: 800 0.53rem/1.3 "JetBrains Mono", ui-monospace, monospace;
  letter-spacing: 0.12em;
}

body.home-page .wave23d-radar__result-rows span {
  color: rgba(246, 241, 231, 0.74);
  font: 550 0.72rem/1.4 "Space Grotesk", sans-serif;
}

body.home-page .wave23d-radar__result-cta {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  min-height: 46px;
  margin-top: 0.82rem;
  padding: 0.72rem 0.95rem;
  border: 1px solid rgba(var(--route-active-rgb, 93, 201, 214), 0.94);
  border-radius: 5px;
  background: var(--route-active, #5dc9d6);
  box-shadow: 0 0 28px rgba(var(--route-active-rgb, 93, 201, 214), 0.28);
  color: #061622;
  font: 850 0.58rem/1 "JetBrains Mono", ui-monospace, monospace;
  letter-spacing: 0.09em;
  text-decoration: none;
}

body.home-page .wave23d-radar__result-cta:hover,
body.home-page .wave23d-radar__result-cta:focus-visible {
  color: #061622;
  filter: brightness(1.1);
  outline: 2px solid #f6f1e7;
  outline-offset: 3px;
}

body.home-page .hero4a-primary > .wave23d-radar__result .wave23d-radar__controls {
  justify-content: flex-start;
  width: 100%;
  max-width: none;
  margin: 0.72rem 0 0;
}

body.home-page .hero4a-primary > .wave23d-radar__result .wave23d-radar__controls button {
  color: rgba(246, 241, 231, 0.48);
}

body.home-page .hero4a-primary > .wave23d-radar__result .wave23d-radar__controls button + button {
  margin-left: 0.35rem;
}

body.home-page .wave23d-radar__result-boundary {
  margin: 0.75rem 0 0;
  color: rgba(246, 241, 231, 0.38);
  font: 600 0.55rem/1.45 "JetBrains Mono", ui-monospace, monospace;
  letter-spacing: 0.06em;
}

body.home-page .wave23d-radar-zone.is-complete > .wave23d-radar__readout,
body.home-page .wave23d-radar-zone.is-complete > .wave23d-radar__fineprint {
  visibility: hidden;
}

@media (min-width: 1280px) {
  body.home-page .hero4a-primary.has-radar-result {
    grid-template-rows: auto auto;
    row-gap: clamp(1.5rem, 2vw, 2.5rem);
    min-height: 0;
    align-items: start;
  }

  body.home-page .hero4a-primary.has-radar-result > .hero4a-copy,
  body.home-page .hero4a-primary.has-radar-result > .wave23d-radar-zone {
    align-self: start;
  }

  body.home-page .hero4a-primary > .wave23d-radar-zone {
    margin-left: 0;
    margin-right: clamp(2rem, 3vw, 4rem);
    transform: translateX(clamp(-80px, -4vw, -50px));
  }

  body.home-page .hero4a-primary.has-radar-result > .wave23d-radar__result {
    position: relative;
    left: auto;
    bottom: auto;
    grid-column: 1;
    grid-row: 2;
    align-self: start;
    width: min(100%, 700px);
    margin: 0;
  }

  body.home-page .hero4a-primary.has-radar-result > .wave23d-radar__result::before {
    content: "";
    position: absolute;
    top: 2.25rem;
    right: clamp(-260px, -13vw, -150px);
    width: clamp(150px, 13vw, 260px);
    height: 1px;
    background: linear-gradient(90deg, rgba(var(--route-active-rgb, 93, 201, 214), 0.92), rgba(var(--route-active-rgb, 93, 201, 214), 0.08));
    box-shadow: 0 0 12px rgba(var(--route-active-rgb, 93, 201, 214), 0.28);
    transform: rotate(-10deg);
    transform-origin: 0 50%;
  }

  body.home-page .hero4a-primary.has-radar-result > .wave23d-radar__result::after {
    content: "";
    position: absolute;
    top: 1.95rem;
    right: clamp(-267px, -13.35vw, -157px);
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--route-active, #5dc9d6);
    box-shadow: 0 0 17px rgba(var(--route-active-rgb, 93, 201, 214), 0.88);
  }
}

@media (max-width: 760px) {
  body.home-page .hero4a-primary > .wave23d-radar__result {
    width: 100%;
    margin-top: 1.2rem;
  }

  body.home-page .wave23d-radar__result-rows > div {
    grid-template-columns: 1fr;
    gap: 0.24rem;
  }

  body.home-page .wave23d-radar__result-copy > strong {
    font-size: clamp(1.75rem, 9vw, 2.35rem);
  }

  body.home-page .wave23d-radar__result-cta {
    width: 100%;
  }

  body.home-page .hero4a-primary > .wave23d-radar__result .wave23d-radar__controls {
    flex-wrap: wrap;
  }
}


/* Wave 23E - progressive radar, richer morph and visible-result companion. */
.wave22a-signal-bar .signal-ticker__inner,
body.home-page [data-wave22a-signal-mount] .wave22a-signal-bar .signal-ticker__inner{grid-template-columns:auto minmax(0,1fr) auto auto!important}
body.home-page [data-wave23d-radar][data-sweep-intensity="0"] .wave23d-radar__sweep{opacity:.2;animation-duration:12s}
body.home-page [data-wave23d-radar][data-sweep-intensity="1"] .wave23d-radar__sweep{opacity:.3;animation-duration:9.5s;filter:saturate(1.08)}
body.home-page [data-wave23d-radar][data-sweep-intensity="2"] .wave23d-radar__sweep{opacity:.42;animation-duration:7.8s;filter:saturate(1.2)}
body.home-page [data-wave23d-radar][data-sweep-intensity="3"] .wave23d-radar__sweep{opacity:.54;animation-duration:6.4s;filter:saturate(1.35) brightness(1.08)}
body.home-page [data-wave23d-radar][data-sweep-intensity="4"] .wave23d-radar__sweep{opacity:.62;animation-duration:5.4s;filter:saturate(1.48) brightness(1.12)}
body.home-page [data-wave23d-radar][data-sweep-intensity="1"] .wave23d-radar__core{box-shadow:0 0 0 9px rgba(230,184,79,.08),0 0 25px rgba(230,184,79,.76)}
body.home-page [data-wave23d-radar][data-sweep-intensity="2"] .wave23d-radar__core{box-shadow:0 0 0 10px rgba(230,184,79,.1),0 0 30px rgba(230,184,79,.82)}
body.home-page [data-wave23d-radar][data-sweep-intensity="3"] .wave23d-radar__core{box-shadow:0 0 0 11px rgba(230,184,79,.12),0 0 36px rgba(232,125,63,.86)}
body.home-page [data-wave23d-radar][data-sweep-intensity="4"] .wave23d-radar__core{background:#ffd46b;box-shadow:0 0 0 12px rgba(230,184,79,.14),0 0 42px rgba(232,72,63,.72)}
.wave23e-companion .wave23d-companion__orb{position:relative;overflow:hidden;isolation:isolate;background:radial-gradient(circle at 34% 28%,#fff0b3 0 9%,transparent 27%),radial-gradient(circle at 42% 38%,#ffd873 0 26%,#e5a63e 48%,#a4482b 73%,#4b1822 100%);background-size:145% 145%,126% 126%;animation:wave23eOrbMorphDock 10.8s cubic-bezier(.45,.05,.42,.95) infinite;will-change:border-radius,transform,background-position}
.wave23e-companion .wave23d-companion__orb:before{content:"";position:absolute;z-index:2;width:42%;height:42%;border-radius:50%;background:radial-gradient(circle,rgba(255,249,218,.94),rgba(255,215,113,.34) 58%,transparent 74%);filter:blur(1px);animation:wave23eOrbLight 8.2s ease-in-out infinite}
.wave23e-companion .wave23d-companion__orb:after{content:"";position:absolute;inset:5%;z-index:1;border-radius:inherit;border:1px solid rgba(255,238,184,.13);box-shadow:inset -7px -10px 18px rgba(70,19,28,.3)}
.wave23e-companion .wave23d-companion__orb--center{animation-name:wave23eOrbMorphCenter;animation-duration:7.6s;box-shadow:0 0 78px rgba(230,184,79,.56),0 0 130px rgba(153,62,36,.2),inset 0 0 40px rgba(255,255,255,.19)}
.wave23e-companion .wave23d-companion__field{display:grid;grid-template-rows:auto minmax(188px,1fr) auto}
.wave23e-companion .wave23d-companion__stage{width:min(760px,94%);height:auto;min-height:238px;margin:-.35rem auto 0}
.wave23e-companion .wave23d-companion__read{position:relative;right:auto;bottom:auto;left:auto;max-height:48dvh;padding:0 7% 1.15rem;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(230,184,79,.44) transparent}
.wave23e-companion .wave23d-companion__read>[data-w23e-actions]{display:flex;flex-wrap:wrap;justify-content:center;gap:.6rem;margin-top:.75rem}
.wave23e-result-list{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem!important;max-height:220px;margin-top:.75rem!important;padding:.2rem;overflow-y:auto;scrollbar-width:thin}
.wave23e-result-list[hidden]{display:none!important}
.wave23e-result-item{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.6rem;align-items:start;min-height:64px;padding:.65rem;border:1px solid rgba(230,184,79,.3);border-radius:7px;background:rgba(13,24,38,.86);color:#f6f1e7;text-align:left;text-decoration:none;cursor:pointer}
.wave23e-result-item>span:first-child{color:#e6b84f;font:700 .5rem/1.4 "JetBrains Mono",ui-monospace,monospace}
.wave23e-result-item>span:last-child,.wave23e-result-item strong,.wave23e-result-item small{display:block}
.wave23e-result-item strong{font-size:.72rem;line-height:1.25}.wave23e-result-item small{margin-top:.25rem;color:rgba(246,241,231,.58);font-size:.6rem;line-height:1.35}
.wave23e-result-item:hover,.wave23e-result-item:focus-visible{border-color:#e6b84f;outline:2px solid #f6f1e7;outline-offset:2px}
.wave23e-search{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.55rem;max-width:720px;margin:.75rem auto 0}
.wave23e-search label{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.65rem;padding:.35rem .45rem .35rem .75rem;border:1px solid rgba(93,201,214,.34);border-radius:999px;background:rgba(8,21,36,.82)}
.wave23e-search label span{color:#5dc9d6;font:700 .5rem/1 "JetBrains Mono",ui-monospace,monospace;letter-spacing:.08em;text-transform:uppercase}
.wave23e-search input{min-width:0;border:0;outline:0;background:transparent;color:#f6f1e7;font:600 .72rem/1.2 "Space Grotesk",sans-serif}.wave23e-search input::placeholder{color:rgba(246,241,231,.4)}
.wave23e-search:focus-within label{border-color:#5dc9d6;box-shadow:0 0 0 2px rgba(93,201,214,.15)}
.wave23e-search-status{min-height:1em;margin:.35rem 0 0!important;color:rgba(246,241,231,.62)!important;font-size:.62rem!important}
.wave23e-utility-actions{display:flex!important;flex-wrap:wrap;justify-content:center;gap:.4rem!important;margin-top:.55rem!important}
.wave23e-utility-button{min-height:34px;padding:.42rem .58rem;border:0;border-bottom:1px solid rgba(230,184,79,.32);background:transparent;color:rgba(246,241,231,.64);font:700 .48rem/1.2 "JetBrains Mono",ui-monospace,monospace;letter-spacing:.05em;cursor:pointer}
.wave23e-utility-button:hover,.wave23e-utility-button:focus-visible{color:#e6b84f;border-color:#e6b84f;outline:1px solid rgba(230,184,79,.5);outline-offset:2px}
.wave23e-utility-panel{display:block!important;max-width:760px;margin:.55rem auto 0!important}
.wave23e-email-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.55rem;align-items:end}.wave23e-email-form label{display:grid;gap:.25rem;color:#e6b84f;font:700 .5rem/1.2 "JetBrains Mono",ui-monospace,monospace;text-align:left}.wave23e-email-form input{min-height:42px;padding:.55rem .7rem;border:1px solid rgba(230,184,79,.38);border-radius:6px;background:#081524;color:#f6f1e7}.wave23e-email-form p{grid-column:1/-1;margin:0!important;color:#ff9c87!important;font-size:.62rem!important}
.wave23e-email-review,.wave23e-sample-card{display:grid!important;gap:.45rem!important;padding:.7rem;border:1px solid rgba(230,184,79,.28);border-radius:7px;background:rgba(13,24,38,.8);text-align:left}.wave23e-email-review p{margin:0!important}.wave23e-email-review code{overflow-wrap:anywhere;color:#5dc9d6;font-size:.65rem}.wave23e-email-review>div{display:flex;flex-wrap:wrap;gap:.5rem}
.wave23e-assessment-choice{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem!important}.wave23e-assessment-choice a{display:grid;gap:.25rem;padding:.7rem;border:1px solid rgba(230,184,79,.28);border-radius:7px;background:rgba(13,24,38,.8);color:#f6f1e7;text-align:left;text-decoration:none}.wave23e-assessment-choice a:hover,.wave23e-assessment-choice a:focus-visible{border-color:#e6b84f;outline:2px solid #f6f1e7;outline-offset:2px}.wave23e-assessment-choice strong{color:#e6b84f;font-size:.72rem}.wave23e-assessment-choice span{color:rgba(246,241,231,.62);font-size:.63rem;line-height:1.4}
.wave23e-sample-card{grid-template-columns:minmax(0,1fr) auto}.wave23e-sample-card>span{color:#e6b84f;font:700 .48rem/1.2 "JetBrains Mono",ui-monospace,monospace}.wave23e-sample-card small{color:rgba(246,241,231,.58);font-size:.62rem}.wave23e-sample-card a{grid-column:2;grid-row:1/4}
.wave23e-utility-status{margin:.5rem 0 0!important;color:#5dc9d6!important;font:700 .58rem/1.3 "JetBrains Mono",ui-monospace,monospace!important}
@keyframes wave23eOrbMorphDock{0%,100%{border-radius:52% 48% 63% 37%/43% 58% 42% 57%;transform:rotate(-2deg) scale(.98);background-position:18% 22%,48% 42%}20%{border-radius:68% 32% 44% 56%/56% 38% 62% 44%;transform:rotate(4deg) scale(1.05,.95);background-position:72% 18%,55% 48%}40%{border-radius:38% 62% 58% 42%/68% 35% 65% 32%;transform:rotate(9deg) scale(.94,1.06);background-position:82% 66%,44% 58%}61%{border-radius:61% 39% 31% 69%/36% 66% 34% 64%;transform:rotate(0) scale(1.06,.94);background-position:26% 82%,54% 44%}81%{border-radius:41% 59% 70% 30%/61% 44% 56% 39%;transform:rotate(-8deg) scale(.95,1.045);background-position:10% 45%,46% 52%}}
@keyframes wave23eOrbMorphCenter{0%,100%{border-radius:52% 48% 63% 37%/43% 58% 42% 57%;transform:translate(-50%,-50%) rotate(-3deg) scale(.96);background-position:18% 22%,48% 42%}20%{border-radius:68% 32% 44% 56%/56% 38% 62% 44%;transform:translate(-50%,-50%) rotate(4deg) scale(1.055,.95);background-position:72% 18%,55% 48%}40%{border-radius:38% 62% 58% 42%/68% 35% 65% 32%;transform:translate(-50%,-50%) rotate(9deg) scale(.94,1.06);background-position:82% 66%,44% 58%}61%{border-radius:61% 39% 31% 69%/36% 66% 34% 64%;transform:translate(-50%,-50%) rotate(0) scale(1.06,.94);background-position:26% 82%,54% 44%}81%{border-radius:41% 59% 70% 30%/61% 44% 56% 39%;transform:translate(-50%,-50%) rotate(-8deg) scale(.95,1.045);background-position:10% 45%,46% 52%}}
@keyframes wave23eOrbLight{0%,100%{left:14%;top:12%;transform:scale(.82);opacity:.72}24%{left:53%;top:14%;transform:scale(1.1);opacity:.94}49%{left:47%;top:51%;transform:scale(.9);opacity:.68}72%{left:12%;top:48%;transform:scale(1.04);opacity:.88}}
@media(max-width:680px){.wave22a-signal-bar .signal-ticker__inner,body.home-page [data-wave22a-signal-mount] .wave22a-signal-bar .signal-ticker__inner{grid-template-columns:minmax(0,1fr) auto!important}.wave22a-signal-bar [data-recurring-signal-line]{grid-column:1/-1}.wave23e-companion .wave23d-companion__field{grid-template-rows:auto minmax(215px,40dvh) auto;overflow-y:auto}.wave23e-companion .wave23d-companion__stage{width:100%;min-height:215px;margin:0}.wave23e-companion .wave23d-companion__orb--center{top:25%;width:104px;height:104px}.wave23e-companion .wave23d-companion__glow{top:25%;width:220px;height:220px}.wave23e-companion .wave23d-companion__choices{top:45%}.wave23e-companion .wave23d-companion__read{max-height:none;padding:0 .75rem 1rem}.wave23e-result-list{grid-template-columns:1fr;max-height:30dvh}.wave23e-search,.wave23e-email-form,.wave23e-assessment-choice{grid-template-columns:1fr}.wave23e-search label{grid-template-columns:1fr;border-radius:8px;text-align:left}.wave23e-sample-card{grid-template-columns:1fr}.wave23e-sample-card a{grid-column:1;grid-row:auto}}
@media(prefers-reduced-motion:reduce){body.home-page [data-wave23d-radar] .wave23d-radar__sweep,.wave23e-companion .wave23d-companion__orb,.wave23e-companion .wave23d-companion__orb:before{animation:none!important;transition:none!important}.wave23e-companion .wave23d-companion__orb--center{transform:translate(-50%,-50%)!important}}

/* Wave 25AB - one calm recurring-signal surface on the homepage. */
body.home-page .wave22a-signal-slot,
body.home-page .wave22a-signal-bar {
  display: none !important;
}

body.home-page .wave23e-companion {
  gap: 0.6rem;
}

body.home-page .wave23e-companion .wave23d-companion__dock {
  width: 50px;
  height: 50px;
}

body.home-page .wave23e-companion .wave23d-companion__dock .wave23d-companion__orb {
  width: 46px;
  height: 46px;
  border: 1px solid rgba(230, 184, 79, 0.62);
  border-radius: 50%;
  background: radial-gradient(circle at 36% 30%, #fff1bd 0 8%, #e6b84f 22%, #8f6430 55%, #18334a 82%, #07111f 100%);
  box-shadow: 0 0 18px rgba(230, 184, 79, 0.25), 0 0 0 5px rgba(93, 201, 214, 0.05), inset 0 0 15px rgba(255, 255, 255, 0.13);
  animation: none;
}

body.home-page .wave23e-companion .wave23d-companion__dock:hover .wave23d-companion__orb,
body.home-page .wave23e-companion .wave23d-companion__dock:focus-visible .wave23d-companion__orb {
  box-shadow: 0 0 24px rgba(230, 184, 79, 0.38), 0 0 0 5px rgba(93, 201, 214, 0.08), inset 0 0 15px rgba(255, 255, 255, 0.16);
}

body.home-page .wave23e-companion .wave23d-companion__bubble {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: stretch;
  width: min(390px, calc(100vw - 92px));
  padding: 0;
  overflow: hidden;
  border-color: rgba(93, 201, 214, 0.26);
  border-radius: 8px;
  background: rgba(7, 17, 31, 0.96);
  box-shadow: 0 14px 38px rgba(0, 0, 0, 0.34);
  backdrop-filter: blur(12px);
}

body.home-page .wave23e-companion .wave23d-companion__bubble::after {
  border-color: rgba(93, 201, 214, 0.26);
  background: #07111f;
}

.wave23e-companion__summary {
  min-width: 0;
  padding: 0.72rem 0.8rem;
  border: 0;
  background: transparent;
  color: inherit;
  text-align: left;
  cursor: pointer;
}

.wave23e-companion__summary strong,
.wave23e-companion__summary span {
  display: block;
}

body.home-page .wave23e-companion__summary strong {
  color: #e6b84f;
}

body.home-page .wave23e-companion__summary span {
  margin-top: 0.24rem;
  color: rgba(246, 241, 231, 0.82);
  font-size: 0.72rem;
  line-height: 1.34;
}

.wave23e-companion__summary:hover,
.wave23e-companion__summary:focus-visible {
  background: rgba(93, 201, 214, 0.06);
  outline: 2px solid #f6f1e7;
  outline-offset: -3px;
}

.wave23e-companion__signal-controls {
  display: grid;
  align-content: stretch;
  border-left: 1px solid rgba(93, 201, 214, 0.18);
}

.wave23e-companion__signal-controls[hidden] {
  display: none !important;
}

.wave23e-companion__signal-controls button {
  width: 38px;
  min-height: 36px;
  border: 0;
  background: transparent;
  color: rgba(246, 241, 231, 0.62);
  font: 700 1rem/1 "JetBrains Mono", ui-monospace, monospace;
  cursor: pointer;
}

.wave23e-companion__signal-controls button + button {
  border-top: 1px solid rgba(93, 201, 214, 0.18);
}

.wave23e-companion__signal-controls button:hover,
.wave23e-companion__signal-controls button:focus-visible {
  background: rgba(230, 184, 79, 0.1);
  color: #f0c85f;
  outline: 2px solid #f6f1e7;
  outline-offset: -3px;
}

@media (max-width: 680px) {
  body.home-page .wave23e-companion .wave23d-companion__bubble {
    width: min(300px, calc(100vw - 78px));
  }

  body.home-page .wave23e-companion__summary {
    padding: 0.62rem 0.68rem;
  }

  body.home-page .wave23e-companion__summary span {
    font-size: 0.66rem;
  }

  .wave23e-companion__signal-controls button {
    width: 36px;
  }
}

/* Wave 25AB review - quieter hero, larger instrument, one continuous route map. */
body.home-page .hero4a-copy .hero-e2e-punch {
  margin: 0;
  color: rgba(246, 241, 231, 0.68);
  font: 700 0.78rem/1.45 "JetBrains Mono", ui-monospace, monospace;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

@media (min-width: 1280px) {
  body.home-page .hero4a-primary {
    grid-template-columns: minmax(520px, 0.88fr) minmax(650px, 1.12fr);
    gap: clamp(2.5rem, 4vw, 5.5rem);
    min-height: clamp(740px, 82vh, 900px);
    padding-right: 0;
  }

  body.home-page .hero4a-copy {
    max-width: 700px;
  }

  body.home-page .wave23d-radar-zone {
    justify-self: end;
    width: min(100%, 720px);
  }

  body.home-page .wave23d-radar__title {
    max-width: 14ch;
    font-size: clamp(1.8rem, 2.35vw, 2.55rem);
  }

  body.home-page .wave23d-radar__prompt {
    font-size: 0.94rem;
  }

  body.home-page .wave23d-radar__instrument {
    width: min(100%, 620px);
    margin-inline: auto;
  }

  body.home-page .wave23d-radar__contact {
    max-width: 176px;
    min-height: 52px;
  }

  body.home-page .wave23d-radar__contact b {
    font-size: 0.6rem;
  }
}

@media (min-width: 881px) and (max-width: 1279px) {
  body.home-page .hero4a-primary {
    grid-template-columns: minmax(430px, 0.92fr) minmax(500px, 1.08fr);
  }

  body.home-page .wave23d-radar-zone {
    width: min(100%, 610px);
  }

  body.home-page .wave23d-radar__instrument {
    width: min(100%, 510px);
  }
}

body.home-page .wave23d-radar-zone.is-complete .wave23d-radar__instrument {
  background:
    radial-gradient(circle at 64% 64%, rgba(81, 213, 164, 0.12), transparent 24%),
    radial-gradient(circle at 42% 38%, rgba(93, 201, 214, 0.07), transparent 34%),
    rgba(5, 13, 25, 0.48);
}

body.home-page .wave23d-radar-zone.is-complete .wave23d-radar__sweep {
  opacity: 0.14;
}

body.home-page .wave23d-radar-zone.is-complete .wave23d-radar__lock {
  z-index: 8;
}

body.home-page .wave23d-radar-zone.is-complete .wave23d-radar__lock::before,
body.home-page .wave23d-radar-zone.is-complete .wave23d-radar__lock::after {
  display: none;
}

body.home-page .wave23d-radar-zone.is-complete .wave23d-radar__lock span {
  top: 66%;
  left: 60%;
  width: 132px;
  height: 132px;
  border-color: rgba(var(--route-active-rgb, 93, 201, 214), 0.34);
  box-shadow: 0 0 0 34px rgba(var(--route-active-rgb, 93, 201, 214), 0.04), 0 0 46px rgba(var(--route-active-rgb, 93, 201, 214), 0.28);
}

body.home-page .wave23d-radar-zone.is-complete .wave23d-radar__lock i {
  top: 66%;
  left: 60%;
  width: 9px;
  height: 9px;
  background: var(--route-active, #5dc9d6);
  box-shadow: 0 0 18px rgba(var(--route-active-rgb, 93, 201, 214), 0.86);
}

body.home-page .wave23d-radar-zone.is-complete .wave23d-radar__lock b {
  display: none;
}

body.home-page .wave23d-radar__instrument .wave23d-route-tray {
  inset: 0;
  z-index: 10;
  display: block;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  box-shadow: none;
  pointer-events: none;
}

body.home-page .wave23d-radar__instrument .wave23d-route {
  --route-color: #5dc9d6;
  --route-rgb: 93, 201, 214;
  --route-line-angle: 0deg;
  --route-line-width: 42%;
  position: absolute;
  z-index: 2;
  width: 158px;
  min-height: 64px;
  padding: 0.62rem 0.7rem;
  overflow: visible;
  border: 1px solid rgba(var(--route-rgb), 0.3);
  border-radius: 10px;
  background: linear-gradient(145deg, rgba(11, 27, 49, 0.92), rgba(6, 15, 29, 0.94));
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.28);
  opacity: 0.62;
  pointer-events: auto;
  transform: translate(-50%, -50%);
  transition: opacity 180ms ease, border-color 180ms ease, background 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

body.home-page .wave23d-radar__instrument .wave23d-route::after {
  content: "";
  position: absolute;
  z-index: -1;
  top: 50%;
  left: 50%;
  width: var(--route-line-width);
  height: 1px;
  background: linear-gradient(90deg, rgba(var(--route-rgb), 0.46), rgba(var(--route-rgb), 0.04));
  transform: rotate(var(--route-line-angle));
  transform-origin: 0 50%;
}

body.home-page .wave23d-radar__instrument .wave23d-route::before {
  content: "";
  position: absolute;
  top: 0.7rem;
  right: 0.72rem;
  width: 6px;
  height: 6px;
  background: rgba(var(--route-rgb), 0.76);
  transform: rotate(45deg);
}

body.home-page .wave23d-radar__instrument .wave23d-route:nth-child(1) {
  --route-line-angle: 44deg;
  --route-line-width: 210px;
  top: 17%;
  left: 20%;
}

body.home-page .wave23d-radar__instrument .wave23d-route--gold {
  --route-color: #e6b84f;
  --route-rgb: 230, 184, 79;
}

body.home-page .wave23d-radar__instrument .wave23d-route--cyan {
  --route-color: #5dc9d6;
  --route-rgb: 93, 201, 214;
}

body.home-page .wave23d-radar__instrument .wave23d-route--amber {
  --route-color: #ff6b5a;
  --route-rgb: 255, 107, 90;
}

body.home-page .wave23d-radar__instrument .wave23d-route--violet {
  --route-color: #9184d9;
  --route-rgb: 145, 132, 217;
}

body.home-page .wave23d-radar__instrument .wave23d-route:nth-child(2) {
  --route-line-angle: 121deg;
  --route-line-width: 170px;
  top: 22%;
  left: 78%;
}

body.home-page .wave23d-radar__instrument .wave23d-route:nth-child(3) {
  --route-line-angle: -24deg;
  --route-line-width: 198px;
  top: 72%;
  left: 18%;
}

body.home-page .wave23d-radar__instrument .wave23d-route:nth-child(4) {
  --route-line-angle: -126deg;
  --route-line-width: 160px;
  top: 80%;
  left: 75%;
}

body.home-page .wave23d-radar__instrument .wave23d-route > span {
  align-self: start;
  color: rgba(246, 241, 231, 0.38);
  font-size: 0.5rem;
  letter-spacing: 0.14em;
}

body.home-page .wave23d-radar__instrument .wave23d-route strong {
  font-size: 0.72rem;
  letter-spacing: 0.01em;
}

body.home-page .wave23d-radar__instrument .wave23d-route small {
  color: rgba(246, 241, 231, 0.46);
  font-size: 0.54rem;
}

body.home-page .wave23d-radar__instrument .wave23d-route:hover,
body.home-page .wave23d-radar__instrument .wave23d-route:focus-visible {
  border-color: rgba(var(--route-rgb), 0.84);
  background: linear-gradient(145deg, rgba(15, 39, 65, 0.98), rgba(7, 18, 34, 0.98));
  box-shadow: 0 0 26px rgba(var(--route-rgb), 0.22), 0 14px 30px rgba(0, 0, 0, 0.34);
  opacity: 1;
  transform: translate(-50%, calc(-50% - 2px));
}

body.home-page .wave23d-radar__instrument .wave23d-route.is-recommended {
  --route-line-angle: -137deg;
  --route-line-width: 250px;
  top: 65%;
  left: 60%;
  z-index: 5;
  grid-template-columns: auto minmax(0, 1fr) auto;
  grid-template-areas: "flag title arrow" "flag note arrow";
  width: min(230px, 42%);
  min-height: 68px;
  border-color: rgba(var(--route-rgb), 0.94);
  background: linear-gradient(110deg, rgba(var(--route-rgb), 0.98), rgba(var(--route-rgb), 0.84));
  color: #061622;
  box-shadow: 0 0 0 1px rgba(var(--route-rgb), 0.2), 0 0 34px rgba(var(--route-rgb), 0.42), 0 18px 36px rgba(0, 0, 0, 0.34);
  opacity: 1;
}

body.home-page .wave23d-radar__instrument .wave23d-route.is-recommended::before {
  content: "NEXT ACTION";
  position: static;
  grid-area: flag;
  align-self: center;
  width: auto;
  height: auto;
  padding: 0.28rem 0.34rem;
  border: 1px solid rgba(6, 22, 34, 0.28);
  background: transparent;
  color: rgba(6, 22, 34, 0.72);
  font: 800 0.42rem/1 "JetBrains Mono", ui-monospace, monospace;
  letter-spacing: 0.08em;
  transform: none;
}

html[lang="de"] body.home-page .wave23d-radar__instrument .wave23d-route.is-recommended::before {
  content: "NÄCHSTER SCHRITT";
}

body.home-page .wave23d-radar__instrument .wave23d-route.is-recommended::after {
  background: linear-gradient(90deg, rgba(var(--route-rgb), 0.86), rgba(var(--route-rgb), 0.02));
  box-shadow: 0 0 11px rgba(var(--route-rgb), 0.44);
}

body.home-page .wave23d-radar__instrument .wave23d-route.is-recommended > span {
  grid-area: arrow;
  align-self: center;
  color: transparent;
  font-size: 0;
}

body.home-page .wave23d-radar__instrument .wave23d-route.is-recommended > span::after {
  content: "→";
  color: #061622;
  font: 900 1.1rem/1 "Space Grotesk", sans-serif;
}

body.home-page .wave23d-radar__instrument .wave23d-route.is-recommended strong {
  color: #061622;
  font-size: 0.78rem;
}

body.home-page .wave23d-radar__instrument .wave23d-route.is-recommended small {
  color: rgba(6, 22, 34, 0.72);
  font-size: 0.52rem;
}

body.home-page .wave23d-radar-zone.is-complete .wave23d-radar__result > span {
  color: var(--route-active, #5dc9d6);
}

@media (max-width: 680px) {
  body.home-page .wave23d-radar__instrument .wave23d-route {
    width: 112px;
    min-height: 54px;
    padding: 0.42rem;
  }

  body.home-page .wave23d-radar__instrument .wave23d-route:nth-child(1) { top: 18%; left: 22%; }
  body.home-page .wave23d-radar__instrument .wave23d-route:nth-child(2) { top: 20%; left: 76%; }
  body.home-page .wave23d-radar__instrument .wave23d-route:nth-child(3) { top: 76%; left: 22%; }
  body.home-page .wave23d-radar__instrument .wave23d-route:nth-child(4) { top: 80%; left: 74%; }

  body.home-page .wave23d-radar__instrument .wave23d-route strong {
    font-size: 0.56rem;
  }

  body.home-page .wave23d-radar__instrument .wave23d-route small {
    display: none;
  }

  body.home-page .wave23d-radar__instrument .wave23d-route.is-recommended {
    top: 64%;
    left: 62%;
    width: 154px;
    min-height: 58px;
  }

  body.home-page .wave23d-radar__instrument .wave23d-route.is-recommended::before {
    display: none;
  }

  body.home-page .wave23d-radar-zone.is-complete .wave23d-radar__lock span {
    top: 64%;
    left: 62%;
    width: 96px;
    height: 96px;
  }

  body.home-page .wave23d-radar-zone.is-complete .wave23d-radar__lock i {
    top: 64%;
    left: 62%;
  }
}

/* Wave 25AB - the Companion is the DK Signature Signal Ring itself. */
.wave23e-companion .wave23d-companion__orb--artifact,
body.home-page .wave23e-companion .wave23d-companion__dock .wave23d-companion__orb--artifact {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  border: 0;
  border-radius: 50%;
  background: #02060d;
  box-shadow: 0 0 22px rgba(142, 42, 32, 0.2), inset 0 0 14px rgba(1, 5, 12, 0.72);
  animation: wave25abArtifactDock 5.8s ease-in-out infinite;
}

.wave23e-companion .wave23d-companion__dock,
body.home-page .wave23e-companion .wave23d-companion__dock {
  width: 70px;
  height: 70px;
}

.wave23e-companion .wave23d-companion__dock .wave23d-companion__orb--artifact,
body.home-page .wave23e-companion .wave23d-companion__dock .wave23d-companion__orb--artifact {
  width: 64px;
  height: 64px;
}

.wave23e-companion .wave23d-companion__orb--artifact img {
  position: absolute;
  inset: -17%;
  z-index: 0;
  width: 134%;
  height: 134%;
  object-fit: cover;
  object-position: 50% 50%;
  opacity: 1;
  filter: saturate(1.08) contrast(1.08) brightness(1.02);
  pointer-events: none;
  transform: perspective(520px) rotateX(1deg) rotateY(-3deg) scale(1.04);
  transform-origin: 50% 50%;
  animation: wave25abTerrainCore3D 8.4s ease-in-out infinite alternate;
}

.wave23e-companion .wave23d-companion__dock .wave23d-companion__orb--artifact img {
  transform: perspective(520px) rotateX(1deg) rotateY(-3deg) scale(1.04);
}

.wave23e-companion .wave25ab-hal-hit {
  position: absolute;
  inset: 0;
  z-index: 4;
  width: 100%;
  height: 100%;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  cursor: pointer;
}

.wave23e-companion .wave25ab-hal-hit:focus-visible {
  outline: 2px solid #f6f1e7;
  outline-offset: 4px;
}

.wave23e-companion .wave23d-companion__dock:has(.wave25ab-hal-hit:focus-visible) .wave23d-companion__orb--artifact {
  box-shadow: 0 0 28px rgba(230, 184, 79, 0.28), inset 0 0 16px rgba(1, 5, 12, 0.7);
}

.wave23e-companion .wave25ab-hal-surface {
  position: absolute;
  inset: 0;
  z-index: 0;
  display: block;
  overflow: hidden;
  border-radius: inherit;
  background: #070a12;
  pointer-events: none;
}

.wave23e-companion .wave25ab-hal-surface > img {
  transition: opacity 320ms ease;
}

.wave23e-companion .wave25ab-hal-surface > iframe {
  position: absolute;
  inset: -22%;
  z-index: 1;
  width: 144%;
  height: 144%;
  border: 0;
  border-radius: 50%;
  background: #070a12;
  opacity: 0;
  pointer-events: none;
  transition: opacity 320ms ease;
}

.wave23e-companion .wave25ab-hal-surface.is-ready > img {
  opacity: 0;
}

.wave23e-companion .wave25ab-hal-surface.is-ready > iframe {
  opacity: 1;
}

.wave23e-companion .wave25ab-hal-surface.is-failed > img {
  opacity: 1;
}

.wave23e-companion .wave25ab-hal-surface.is-failed > iframe {
  opacity: 0;
}

.wave23e-companion .wave23d-companion__orb--center .wave25ab-hal-surface > iframe {
  inset: -14%;
  width: 128%;
  height: 128%;
}

.wave23e-companion .wave23d-companion__orb--artifact::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  width: auto;
  height: auto;
  border-radius: 50%;
  background: radial-gradient(circle, transparent 38%, rgba(2, 6, 13, 0.18) 66%, rgba(2, 6, 13, 0.72) 100%);
  filter: none;
  animation: none;
  pointer-events: none;
}

.wave23e-companion .wave23d-companion__orb--artifact::after {
  content: none;
}

.wave23e-companion .wave23d-companion__dock:hover .wave23d-companion__orb--artifact,
.wave23e-companion .wave23d-companion__dock:focus-visible .wave23d-companion__orb--artifact,
body.home-page .wave23e-companion .wave23d-companion__dock:hover .wave23d-companion__orb--artifact,
body.home-page .wave23e-companion .wave23d-companion__dock:focus-visible .wave23d-companion__orb--artifact {
  box-shadow: 0 0 28px rgba(230, 184, 79, 0.26), inset 0 0 16px rgba(1, 5, 12, 0.7);
}

.wave23e-companion .wave23d-companion__orb--center.wave23d-companion__orb--artifact {
  box-shadow: 0 0 74px rgba(142, 42, 32, 0.22), 0 0 110px rgba(230, 184, 79, 0.08), inset 0 0 24px rgba(1, 5, 12, 0.76);
  animation: wave25abArtifactCenter 6.4s ease-in-out infinite;
}

.wave23e-companion .wave23d-companion__orb--center.wave23d-companion__orb--artifact img {
  object-position: 50% 50%;
  transform: perspective(760px) rotateX(1deg) rotateY(-3deg) scale(1.02);
}

@keyframes wave25abArtifactDock {
  0%, 100% { transform: translateY(0) rotate(-1deg); }
  50% { transform: translateY(-2px) rotate(1deg); }
}

@keyframes wave25abArtifactCenter {
  0%, 100% { transform: translate(-50%, -50%) scale(0.98) rotate(-1deg); }
  50% { transform: translate(-50%, -50%) scale(1.035) rotate(1deg); }
}

@keyframes wave25abTerrainCore3D {
  0% { transform: perspective(520px) rotateX(1.5deg) rotateY(-4deg) rotateZ(-0.35deg) scale(1.035); }
  50% { transform: perspective(520px) rotateX(-1deg) rotateY(1.5deg) rotateZ(0.15deg) scale(1.07); }
  100% { transform: perspective(520px) rotateX(1deg) rotateY(4deg) rotateZ(0.35deg) scale(1.045); }
}

@media (prefers-reduced-motion: reduce) {
  .wave23e-companion .wave23d-companion__orb--artifact,
  .wave23e-companion .wave23d-companion__orb--artifact img {
    animation: none !important;
  }

  .wave23e-companion .wave23d-companion__orb--center.wave23d-companion__orb--artifact {
    transform: translate(-50%, -50%) !important;
  }
}

@media (max-width: 680px) {
  .wave23e-companion .wave23d-companion__dock,
  body.home-page .wave23e-companion .wave23d-companion__dock {
    width: 58px;
    height: 58px;
  }

  .wave23e-companion .wave23d-companion__dock .wave23d-companion__orb--artifact,
  body.home-page .wave23e-companion .wave23d-companion__dock .wave23d-companion__orb--artifact {
    width: 54px;
    height: 54px;
  }
}

/* ===== Wave 41 - companion: calm signal lamp at rest; bubble reveals on hover/tap ===== */
.wave23d-companion{flex-direction:row-reverse;}
@keyframes kulicLampBreathe{
  0%,100%{box-shadow:0 0 24px rgba(230,184,79,.42),inset 0 0 20px rgba(255,255,255,.16);}
  50%{box-shadow:0 0 44px rgba(230,184,79,.75),0 0 66px rgba(230,184,79,.22),inset 0 0 24px rgba(255,255,255,.2);}
}
.wave23d-companion__orb{animation:wave23dOrbMorph 9s ease-in-out infinite, kulicLampBreathe 4.6s ease-in-out infinite;}
.wave23d-companion__bubble{opacity:0;transform:translateX(12px) scale(.97);pointer-events:none;transition:opacity .3s ease, transform .3s ease;}
.wave23d-companion.is-near .wave23d-companion__bubble{opacity:1;transform:none;pointer-events:auto;}
.wave23d-companion__dock{transition:transform .12s ease;transform:scale(calc(1 + var(--kulic-proximity,0)*.06));}
.wave23d-companion__orb{filter:drop-shadow(0 0 calc(var(--kulic-proximity,0)*26px) rgba(230,184,79,calc(var(--kulic-proximity,0)*.7)));}
@media (hover:none){.wave23d-companion:not(:focus-within) .wave23d-companion__bubble{display:none;}}
.wave23e-companion__summary:hover{background:rgba(230,184,79,.05);outline:none;}
.wave23e-companion__summary:focus-visible{background:rgba(230,184,79,.06);outline:2px solid rgba(230,184,79,.85);outline-offset:-3px;}
.wave23d-companion__bubble:hover,.wave23d-companion__bubble:focus-within{border-color:#e6b84f;outline:none;}
.wave23e-companion__signal-controls button:hover{outline:none;color:#f0c85f;background:rgba(230,184,79,.1);}
.wave23e-companion__signal-controls button:focus-visible{outline:2px solid rgba(230,184,79,.85);outline-offset:-3px;color:#f0c85f;background:rgba(230,184,79,.1);}
@keyframes kulicFrameBreathe{
  0%,100%{box-shadow:0 22px 54px rgba(0,0,0,.42),0 0 0 1px rgba(230,184,79,.14),0 0 15px rgba(230,184,79,.05);border-color:rgba(230,184,79,.36);}
  50%{box-shadow:0 22px 54px rgba(0,0,0,.42),0 0 0 1px rgba(230,184,79,.4),0 0 22px rgba(230,184,79,.2),0 0 34px rgba(93,201,214,.08);border-color:rgba(230,184,79,.72);}
}
.wave23d-companion.is-near .wave23d-companion__bubble{animation:kulicFrameBreathe 4.6s ease-in-out infinite;}
@media (prefers-reduced-motion:reduce){.wave23d-companion__orb{animation:none;}.wave23d-companion__bubble{animation:none!important;transition:none;}}

/* ===== Wave 25G - hardfix: orb and ticker stay inside Navy/Cyan/Gold/White ===== */
.wave22a-signal-bar,
.wave22a-signal-bar.is-stuck{
  border-top:0!important;
  border-bottom:0!important;
  background:linear-gradient(180deg,rgba(7,15,26,.99),rgba(3,7,13,.996))!important;
  box-shadow:0 10px 30px rgba(0,0,0,.34),inset 0 1px 0 rgba(246,241,231,.025)!important;
}
.wave22a-signal-bar::before,
.wave22a-signal-bar::after{
  content:""!important;
  position:absolute!important;
  left:-38%!important;
  right:auto!important;
  width:38%!important;
  height:1px!important;
  pointer-events:none!important;
  opacity:0;
  transform:translateX(0);
}
.wave22a-signal-bar::before{
  top:0!important;
  bottom:auto!important;
  background:linear-gradient(90deg,transparent,rgba(245,217,130,.12),rgba(245,217,130,.9),rgba(245,217,130,.12),transparent)!important;
  box-shadow:0 0 10px rgba(230,184,79,.34)!important;
  animation:w25gTickerGoldLaser 7.2s ease-in-out infinite!important;
}
.wave22a-signal-bar::after{
  top:auto!important;
  bottom:0!important;
  background:linear-gradient(90deg,transparent,rgba(93,201,214,.12),rgba(126,224,232,.95),rgba(93,201,214,.12),transparent)!important;
  box-shadow:0 0 12px rgba(93,201,214,.38)!important;
  animation:w25gTickerCyanLaser 7.8s ease-in-out .55s infinite!important;
}
.wave22a-signal-bar [data-recurring-signal-line]{
  color:#f6f1e7!important;
  text-shadow:none!important;
  animation:w25gTickerTextGlow 8.8s ease-in-out infinite!important;
}
.wave22a-signal-bar .signal-ticker__label{
  color:#06101b!important;
  border-color:rgba(230,184,79,.32)!important;
  background:linear-gradient(135deg,#f1d27b,#c9942f)!important;
  box-shadow:inset 0 1px 0 rgba(246,241,231,.24)!important;
}
.wave22a-signal-bar .signal-ticker__label::before{
  background:#e6b84f!important;
  box-shadow:0 0 8px rgba(230,184,79,.55)!important;
}
@keyframes w25gTickerTextGlow{
  0%,100%{color:#f6f1e7;text-shadow:0 0 0 rgba(93,201,214,0);}
  48%,58%{color:#fff;text-shadow:0 0 10px rgba(93,201,214,.68),0 0 26px rgba(93,201,214,.36);}
}
@keyframes w25gTickerGoldLaser{
  0%,18%{opacity:0;transform:translateX(0);}
  26%,50%{opacity:.78;}
  64%,100%{opacity:0;transform:translateX(385%);}
}
@keyframes w25gTickerCyanLaser{
  0%,16%{opacity:0;transform:translateX(0);}
  25%,52%{opacity:.8;}
  66%,100%{opacity:0;transform:translateX(385%);}
}
/* ===== Wave 25H - logo tagline emphasis: System over Ego glows warm white ===== */
.official-wordmark em .official-tagline-glow{
  display:inline!important;
  color:#fffaf0!important;
  text-shadow:0 0 5px rgba(255,250,240,.78),0 0 14px rgba(246,241,231,.42),0 0 28px rgba(230,184,79,.16)!important;
  -webkit-font-smoothing:antialiased;
  text-rendering:geometricPrecision;
}

/* ===== Wave 25K - primary/secondary brandline order ===== */
.official-wordmark em{
  display:flex!important;
  align-items:baseline!important;
  gap:clamp(.55rem,.72vw,.82rem)!important;
}
.official-wordmark em .official-tagline-primary{
  display:inline!important;
  color:#fffaf0!important;
  font-size:1.16em!important;
  font-weight:800!important;
  letter-spacing:.2em!important;
  text-shadow:0 0 5px rgba(255,250,240,.78),0 0 14px rgba(246,241,231,.42),0 0 28px rgba(93,201,214,.18)!important;
  -webkit-font-smoothing:antialiased;
  text-rendering:geometricPrecision;
}
.official-wordmark em .official-tagline-secondary{
  display:inline!important;
  color:#e6b84f!important;
  font-size:.78em!important;
  font-weight:750!important;
  letter-spacing:.18em!important;
  text-shadow:0 0 8px rgba(230,184,79,.18)!important;
  -webkit-font-smoothing:antialiased;
  text-rendering:geometricPrecision;
}

/* ===== Wave 25I - visible ticker lasers + original orb mechanics with corrected palette ===== */
.wave22a-signal-bar::before,
.wave22a-signal-bar::after{
  left:0!important;
  width:100%!important;
  opacity:1!important;
  transform:none!important;
  z-index:3!important;
  background-repeat:no-repeat!important;
}
.wave22a-signal-bar::before{
  top:0!important;
  height:1px!important;
  background-image:
    linear-gradient(90deg,transparent,rgba(245,217,130,.14),rgba(255,250,224,.92),rgba(230,184,79,.18),transparent),
    linear-gradient(90deg,rgba(230,184,79,.14),rgba(230,184,79,.22),rgba(230,184,79,.14))!important;
  background-size:24% 100%,100% 100%!important;
  animation:w25iGoldLaserRail 4.8s linear infinite!important;
  box-shadow:0 0 8px rgba(230,184,79,.3)!important;
}
.wave22a-signal-bar::after{
  bottom:0!important;
  height:1px!important;
  background-image:
    linear-gradient(90deg,transparent,rgba(93,201,214,.16),rgba(240,254,255,.95),rgba(93,201,214,.2),transparent),
    linear-gradient(90deg,rgba(93,201,214,.2),rgba(93,201,214,.34),rgba(93,201,214,.2))!important;
  background-size:26% 100%,100% 100%!important;
  animation:w25iCyanLaserRail 5.2s linear infinite!important;
  box-shadow:0 0 10px rgba(93,201,214,.42)!important;
}
.wave22a-signal-bar [data-recurring-signal-line]{
  color:#fffaf0!important;
  text-shadow:0 0 5px rgba(255,250,240,.4),0 0 12px rgba(93,201,214,.22)!important;
  animation:w25iTickerTextGlow 5.6s ease-in-out infinite!important;
}
.wave22a-signal-bar .signal-ticker__label::after{
  content:none!important;
  display:none!important;
}
.wave22a-signal-bar .signal-ticker__label{
  background:linear-gradient(135deg,#e6b84f,#c9942f)!important;
}
@keyframes w25iGoldLaserRail{
  from{background-position:-30% 0,0 0;}
  to{background-position:130% 0,0 0;}
}
@keyframes w25iCyanLaserRail{
  from{background-position:-32% 0,0 0;}
  to{background-position:132% 0,0 0;}
}
@keyframes w25iTickerTextGlow{
  0%,100%{color:#fffaf0;text-shadow:0 0 5px rgba(255,250,240,.42),0 0 12px rgba(93,201,214,.2);}
  50%{color:#fff;text-shadow:0 0 8px rgba(255,255,255,.6),0 0 18px rgba(93,201,214,.52),0 0 34px rgba(93,201,214,.28);}
}

/* ===== Wave 25J - original Orb form and proximity mechanics; brand-only palette ===== */
.wave23e-companion .wave25j-orb-palette > .wave25j-orb-tone{
  opacity:0;
  animation-duration:26s!important;
  animation-timing-function:linear!important;
  animation-iteration-count:infinite!important;
  will-change:opacity;
}
.wave23e-companion .wave25j-orb-palette > .wave25j-orb-tone--navy{
  filter:grayscale(1) sepia(1) saturate(2.4) hue-rotate(158deg) brightness(.52) contrast(1.16);
  animation-name:w25jOrbNavy!important;
}
.wave23e-companion .wave25j-orb-palette > .wave25j-orb-tone--cyan{
  filter:grayscale(1) sepia(1) saturate(3.6) hue-rotate(145deg) brightness(1.08) contrast(1.08);
  animation-name:w25jOrbCyan!important;
}
.wave23e-companion .wave25j-orb-palette > .wave25j-orb-tone--gold{
  filter:grayscale(1) sepia(1) saturate(2.3) hue-rotate(352deg) brightness(1.06) contrast(1.08);
  animation-name:w25jOrbGold!important;
}
.wave23e-companion .wave25j-orb-palette > .wave25j-orb-tone--white{
  filter:grayscale(1) saturate(0) brightness(1.42) contrast(1.08);
  animation-name:w25jOrbWhite!important;
}
@keyframes w25jOrbNavy{
  0%,16%{opacity:1}
  20%,92%{opacity:0}
  96%,100%{opacity:1}
}
@keyframes w25jOrbCyan{
  0%,24%{opacity:0}
  28%,44%{opacity:1}
  48%,100%{opacity:0}
}
@keyframes w25jOrbGold{
  0%,52%{opacity:0}
  56%,72%{opacity:1}
  76%,100%{opacity:0}
}
@keyframes w25jOrbWhite{
  0%,16%{opacity:0}
  20%,24%{opacity:1}
  28%,44%{opacity:0}
  48%,52%{opacity:1}
  56%,72%{opacity:0}
  76%,92%{opacity:1}
  96%,100%{opacity:0}
}
@media(prefers-reduced-motion:reduce){
  .wave23e-companion .wave25j-orb-palette > .wave25j-orb-tone{
    animation:none!important;
  }
  .wave23e-companion .wave25j-orb-palette > .wave25j-orb-tone--cyan{
    opacity:1;
  }
}

/* ===== Wave 25K - ticker: two travelling lasers, no static rails ===== */
.wave22a-signal-bar::before,
.wave22a-signal-bar::after{
  left:0!important;
  right:auto!important;
  width:100%!important;
  height:1px!important;
  opacity:.9!important;
  background-repeat:no-repeat!important;
  box-shadow:none!important;
}
.wave22a-signal-bar::before{
  top:0!important;
  bottom:auto!important;
  background-image:linear-gradient(90deg,transparent 0,rgba(230,184,79,.08) 15%,rgba(245,217,130,.52) 42%,rgba(255,250,224,.98) 50%,rgba(230,184,79,.34) 60%,transparent 100%)!important;
  background-size:22% 100%!important;
  animation:w25kGoldLaser 5.8s linear infinite!important;
}
.wave22a-signal-bar::after{
  top:auto!important;
  bottom:0!important;
  background-image:linear-gradient(90deg,transparent 0,rgba(93,201,214,.06) 15%,rgba(126,224,232,.5) 42%,rgba(240,254,255,.98) 50%,rgba(93,201,214,.34) 60%,transparent 100%)!important;
  background-size:24% 100%!important;
  animation:w25kCyanLaser 6.2s linear .48s infinite!important;
}
.wave22a-signal-bar .signal-ticker__sig{
  color:#f5d982!important;
  text-shadow:0 0 7px rgba(230,184,79,.28)!important;
}
.wave22a-signal-bar .signal-ticker__brand{
  background:linear-gradient(135deg,#f3d98d 0%,#e6b84f 52%,#c9942f 100%)!important;
  color:#120d04!important;
  box-shadow:inset 0 1px 0 rgba(255,250,224,.42)!important;
}
.wave22a-signal-bar [data-recurring-signal-line]{
  color:#fffaf0!important;
  animation:w25kTickerTextGlow 6.4s ease-in-out infinite!important;
}
@keyframes w25kGoldLaser{
  from{background-position:-28% 0;}
  to{background-position:128% 0;}
}
@keyframes w25kCyanLaser{
  from{background-position:-30% 0;}
  to{background-position:130% 0;}
}
@keyframes w25kTickerTextGlow{
  0%,100%{color:#fffaf0;text-shadow:0 0 4px rgba(255,250,240,.34);}
  50%{color:#f7ffff;text-shadow:0 0 8px rgba(255,255,255,.64),0 0 18px rgba(93,201,214,.58),0 0 34px rgba(93,201,214,.3);}
}
@media(max-width:760px){
  .official-wordmark em{gap:.42rem!important;}
  .official-wordmark em .official-tagline-primary{font-size:1.04em!important;letter-spacing:.14em!important;}
  .official-wordmark em .official-tagline-secondary{font-size:.7em!important;letter-spacing:.12em!important;}
}
@media(prefers-reduced-motion:reduce){
  .wave22a-signal-bar::before,
  .wave22a-signal-bar::after{animation:none!important;opacity:.3!important;}
  .wave22a-signal-bar [data-recurring-signal-line]{animation:none!important;}
}

/* ===== Wave 94 - distinct neon Orb palette =====
   Navy stays deep, cyan reads electric, gold reads luminous rather than mustard,
   and the white interval is a true neon white. */
.wave23e-companion .wave25j-orb-palette > .wave25j-orb-tone--navy{
  filter:grayscale(1) sepia(1) saturate(3) hue-rotate(158deg) brightness(.32) contrast(1.38);
}
.wave23e-companion .wave25j-orb-palette > .wave25j-orb-tone--cyan{
  filter:grayscale(1) sepia(1) saturate(7.2) hue-rotate(145deg) brightness(1.55) contrast(1.26)
    drop-shadow(0 0 9px rgba(0,239,255,.92));
}
.wave23e-companion .wave25j-orb-palette > .wave25j-orb-tone--gold{
  filter:grayscale(1) sepia(1) saturate(5.2) hue-rotate(352deg) brightness(1.48) contrast(1.22)
    drop-shadow(0 0 9px rgba(255,216,77,.92));
}
.wave23e-companion .wave25j-orb-palette > .wave25j-orb-tone--white{
  filter:grayscale(1) saturate(0) brightness(2) contrast(1.26)
    drop-shadow(0 0 8px rgba(248,255,255,1))
    drop-shadow(0 0 18px rgba(0,239,255,.54));
}
@media(prefers-reduced-motion:reduce){
  .wave23e-companion .wave25j-orb-palette > .wave25j-orb-tone--cyan{
    filter:grayscale(1) sepia(1) saturate(7.2) hue-rotate(145deg) brightness(1.55) contrast(1.26)
      drop-shadow(0 0 9px rgba(0,239,255,.92));
  }
}

/* ===== Wave 98 - Liquid Cardinal Instrument =====
   Cyan / Navy / Cyan / Navy / Gold / Navy from the core outward. A padded
   raster glow removes the rectangular clipping artifact, four fixed gold
   markers establish the cardinal directions, and a double obsidian-liquid
   plane occupies the channel between rings two and three. */
.wave23e-companion .wave23d-companion__orb--artifact,
body.home-page .wave23e-companion .wave23d-companion__dock .wave23d-companion__orb--artifact {
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  animation: wave98InstrumentFloat 9.2s cubic-bezier(.48, .03, .17, 1) infinite !important;
}

.wave23e-companion .wave25ab-hal-surface.wave98-instrument-surface {
  --wave98-white: clamp(0, calc((var(--kulic-proximity, .18) - .16) * 1.42), 1);
  inset: 0;
  overflow: visible;
  border-radius: 50%;
  isolation: isolate;
  background: transparent !important;
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  filter:
    grayscale(var(--wave98-white))
    brightness(calc(.96 + var(--wave98-white) * .68))
    contrast(calc(1.08 - var(--wave98-white) * .12))
    drop-shadow(0 0 calc(2px + var(--wave98-white) * 11px) rgba(247, 255, 255, calc(.05 + var(--wave98-white) * .76)))
    drop-shadow(0 0 calc(var(--wave98-white) * 30px) rgba(224, 250, 255, calc(var(--wave98-white) * .58)));
  transform: perspective(720px) rotateX(var(--wave98-tilt-x, 0deg)) rotateY(var(--wave98-tilt-y, 0deg));
  transform-style: preserve-3d;
  transition: transform 180ms cubic-bezier(.2, .78, .2, 1), filter 90ms linear;
  will-change: transform, filter;
}

.wave23e-companion .wave25ab-hal-surface.wave98-instrument-surface::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 11;
  width: 48%;
  aspect-ratio: 1;
  border-radius: 50%;
  pointer-events: none;
  background:
    radial-gradient(circle at 46% 40%, rgba(8, 14, 18, .96) 0 8%, #010204 28%, #000 72%, rgba(0, 0, 0, .98) 82%, rgba(0, 0, 0, 0) 84%);
  opacity: clamp(0, calc((var(--kulic-proximity, .18) - .38) * 2.25), 1);
  transform:
    translate(-50%, -50%)
    translateZ(42px)
    scale(calc(.42 + var(--wave98-white) * .58));
  transition: opacity 90ms linear, transform 110ms cubic-bezier(.2, .76, .2, 1);
  will-change: opacity, transform;
}

.wave23e-companion .wave23d-companion__dock,
.wave23e-companion .wave23d-companion__orb--artifact {
  background: transparent !important;
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
}

.wave23e-companion .wave25ab-hal-surface.wave98-instrument-surface > img.wave98-orb-layer {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: 50% 50%;
  opacity: 1;
  visibility: hidden;
  border: 0 !important;
  outline: 0 !important;
  background: transparent !important;
  color: transparent !important;
  font-size: 0 !important;
  transform-origin: 50% 50%;
  pointer-events: none;
  backface-visibility: hidden;
  will-change: transform, filter, opacity;
}

.wave23e-companion .wave25ab-hal-surface.wave98-instrument-surface > img.wave98-orb-layer.is-wave98-ready {
  visibility: visible;
}

.wave23e-companion .wave25ab-hal-surface.wave98-instrument-surface > img.wave98-orb-layer--glow {
  display: none !important;
}

.wave23e-companion .wave25ab-hal-surface.wave98-instrument-surface > img.wave98-orb-layer--core {
  z-index: 1;
  filter:
    brightness(calc(1 - var(--wave98-white) * .42))
    contrast(calc(1.04 + var(--wave98-white) * .34))
    drop-shadow(0 0 7px rgba(55, 223, 235, calc(.28 - var(--wave98-white) * .2)));
  transform: translateZ(0);
  animation: wave98CoreBreath 4.4s ease-in-out infinite !important;
}

.wave23e-companion .wave25ab-hal-surface.wave98-instrument-surface > img.wave98-orb-layer--ring-1 {
  z-index: 2;
  mix-blend-mode: screen;
  -webkit-mask-image: radial-gradient(circle closest-side, transparent 0 41%, #000 48% 64%, transparent 71%);
  mask-image: radial-gradient(circle closest-side, transparent 0 41%, #000 48% 64%, transparent 71%);
  filter:
    grayscale(var(--wave98-white))
    brightness(calc(1.08 + var(--wave98-white) * 1.28))
    contrast(calc(1.12 + var(--wave98-white) * .12))
    drop-shadow(0 0 2px rgba(47, 239, 246, calc(.9 - var(--wave98-white) * .72)))
    drop-shadow(0 0 calc(5px + var(--wave98-white) * 4px) rgba(219, 252, 255, calc(.16 + var(--wave98-white) * .7)))
    drop-shadow(0 0 calc(10px + var(--wave98-white) * 7px) rgba(167, 235, 248, calc(.18 + var(--wave98-white) * .34)));
  animation: wave98Ring1 21s linear infinite !important;
}

.wave23e-companion .wave25ab-hal-surface.wave98-instrument-surface > img.wave98-orb-layer--ring-2 {
  z-index: 3;
  mix-blend-mode: screen;
  filter:
    grayscale(var(--wave98-white))
    brightness(calc(.84 + var(--wave98-white) * 1.64))
    contrast(calc(1.24 - var(--wave98-white) * .14))
    drop-shadow(0 0 calc(var(--wave98-white) * 5px) rgba(239, 253, 255, calc(var(--wave98-white) * .72)));
  animation: wave98Ring2 32s linear infinite !important;
}

.wave23e-companion .wave25ab-hal-surface.wave98-instrument-surface > img.wave98-orb-layer--liquid {
  z-index: 4;
  mix-blend-mode: screen;
}

.wave23e-companion .wave25ab-hal-surface.wave98-instrument-surface > img.wave98-orb-layer--liquid-a {
  opacity: .74;
  animation: wave98LiquidA 22s cubic-bezier(.45, .02, .55, .98) infinite !important;
}

.wave23e-companion .wave25ab-hal-surface.wave98-instrument-surface > img.wave98-orb-layer--liquid-b {
  z-index: 5;
  opacity: .38;
  filter: grayscale(.45) brightness(1.34) contrast(1.18);
  animation: wave98LiquidB 16s cubic-bezier(.4, .04, .6, .96) infinite !important;
}

.wave23e-companion .wave25ab-hal-surface.wave98-instrument-surface > img.wave98-orb-layer--ring-3 {
  z-index: 6;
  animation: wave98Ring3 14s linear infinite !important;
}

.wave23e-companion .wave25ab-hal-surface.wave98-instrument-surface > img.wave98-orb-layer--ring-4 {
  z-index: 7;
  animation: wave98Ring4 27s linear infinite !important;
}

.wave23e-companion .wave25ab-hal-surface.wave98-instrument-surface > img.wave98-orb-layer--ring-5 {
  z-index: 8;
  animation: wave98Ring5 18s linear infinite !important;
}

.wave23e-companion .wave25ab-hal-surface.wave98-instrument-surface > img.wave98-orb-layer--ring-6 {
  z-index: 9;
  animation: wave98Ring6 36s linear infinite !important;
}

.wave23e-companion .wave25ab-hal-surface.wave98-instrument-surface > img.wave98-orb-layer--cardinals {
  z-index: 10;
  transform: translateZ(34px);
  filter: drop-shadow(0 0 5px rgba(242, 190, 72, .46));
  animation: wave98CardinalPulse var(--wave111-cardinal-speed, 14.8s) linear infinite !important;
}

.wave23e-companion .wave23d-companion__orb--artifact::before,
.wave23e-companion .wave23d-companion__orb--artifact::after {
  content: none;
}

.wave23e-companion .wave23d-companion__dock {
  width: 88px;
  height: 88px;
}

.wave23e-companion .wave23d-companion__dock .wave23d-companion__orb--artifact {
  width: 80px;
  height: 80px;
}

body.home-page .wave23e-companion .wave23d-companion__dock {
  width: 168px;
  height: 168px;
}

body.home-page .wave23e-companion .wave23d-companion__dock .wave23d-companion__orb--artifact {
  width: 156px;
  height: 156px;
}

.wave23e-companion.is-near .wave98-orb-layer--liquid-a {
  animation-duration: 13s !important;
}

.wave23e-companion.is-near .wave98-orb-layer--liquid-b {
  animation-duration: 10s !important;
}

.wave23e-companion .wave23d-companion__orb--center.wave23d-companion__orb--artifact {
  width: 168px;
  height: 168px;
  box-shadow: none;
  animation: wave98InstrumentCenter 9s cubic-bezier(.48, .03, .17, 1) infinite !important;
}

.wave23e-companion.is-near .wave25ab-hal-surface.wave98-instrument-surface > img.wave98-orb-layer--cardinals,
body.wave23d-companion-open .wave25ab-hal-surface.wave98-instrument-surface > img.wave98-orb-layer--cardinals {
  animation-play-state: paused !important;
}

@keyframes wave98InstrumentFloat {
  0%, 100% { transform: translateY(-2px) rotate(-.22deg); }
  50% { transform: translateY(2px) rotate(.22deg); }
}

@keyframes wave98InstrumentCenter {
  0%, 100% { transform: translate(-50%, -50%) scale(.988) rotate(-.32deg); }
  50% { transform: translate(-50%, -50%) scale(1.018) rotate(.32deg); }
}

@keyframes wave98CoreGlow {
  0%, 100% { transform: translateZ(-22px) scale(.96); }
  50% { transform: translateZ(-22px) scale(1.025); }
}

@keyframes wave98CoreBreath {
  0%, 100% { transform: translateZ(0) scale(.988); filter: brightness(.98) drop-shadow(0 0 6px rgba(55, 223, 235, .24)); }
  50% { transform: translateZ(0) scale(1.018); filter: brightness(1.08) drop-shadow(0 0 11px rgba(55, 223, 235, .42)); }
}

@keyframes wave98Ring1 {
  from { transform: translateZ(5px) rotateZ(0deg); }
  to { transform: translateZ(5px) rotateZ(360deg); }
}

@keyframes wave98Ring2 {
  from { transform: translateZ(9px) rotateZ(360deg); }
  to { transform: translateZ(9px) rotateZ(0deg); }
}

@keyframes wave98LiquidA {
  0% { transform: translateZ(13px) rotateZ(0deg) scaleX(.986) scaleY(1.012); }
  33% { transform: translateZ(13px) rotateZ(118deg) scaleX(1.016) scaleY(.982); }
  66% { transform: translateZ(13px) rotateZ(238deg) scaleX(.992) scaleY(1.018); }
  100% { transform: translateZ(13px) rotateZ(360deg) scaleX(.986) scaleY(1.012); }
}

@keyframes wave98LiquidB {
  0% { transform: translateZ(15px) rotateZ(360deg) scaleX(1.014) scaleY(.986); }
  50% { transform: translateZ(15px) rotateZ(182deg) scaleX(.982) scaleY(1.018); }
  100% { transform: translateZ(15px) rotateZ(0deg) scaleX(1.014) scaleY(.986); }
}

@keyframes wave98Ring3 {
  from { transform: translateZ(18px) rotateZ(360deg); }
  to { transform: translateZ(18px) rotateZ(0deg); }
}

@keyframes wave98Ring4 {
  from { transform: translateZ(23px) rotateZ(0deg); }
  to { transform: translateZ(23px) rotateZ(360deg); }
}

@keyframes wave98Ring5 {
  from { transform: translateZ(28px) rotateZ(360deg); }
  to { transform: translateZ(28px) rotateZ(0deg); }
}

@keyframes wave98Ring6 {
  from { transform: translateZ(31px) rotateZ(0deg); }
  to { transform: translateZ(31px) rotateZ(360deg); }
}

@keyframes wave98CardinalPulse {
  0% { transform: translateZ(34px) rotateZ(0deg) scale(1); opacity: .93; }
  50% { transform: translateZ(34px) rotateZ(180deg) scale(1.018); opacity: 1; }
  100% { transform: translateZ(34px) rotateZ(360deg) scale(1); opacity: .93; }
}

@media (max-width: 760px) {
  .wave23e-companion .wave23d-companion__dock,
  body.home-page .wave23e-companion .wave23d-companion__dock {
    width: 74px;
    height: 74px;
  }

  .wave23e-companion .wave23d-companion__dock .wave23d-companion__orb--artifact,
  body.home-page .wave23e-companion .wave23d-companion__dock .wave23d-companion__orb--artifact {
    width: 66px;
    height: 66px;
  }

  .wave23e-companion .wave23d-companion__orb--center.wave23d-companion__orb--artifact {
    width: 124px;
    height: 124px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .wave23e-companion .wave23d-companion__orb--artifact,
  .wave23e-companion .wave25ab-hal-surface.wave98-instrument-surface > img.wave98-orb-layer {
    animation: none !important;
    transition: none;
  }

  .wave23e-companion .wave25ab-hal-surface.wave98-instrument-surface {
    transform: none;
    transition: none;
  }

  .wave23e-companion .wave25ab-hal-surface.wave98-instrument-surface::after {
    transition: none;
  }

  .wave23e-companion .wave23d-companion__orb--center.wave23d-companion__orb--artifact {
    transform: translate(-50%, -50%) !important;
  }
}

/* ===== Wave 106 - organic Orb flight into the Signal Guide =====
   Resting dock size is unified to the midpoint between previous home/rest values
   so both contexts share one perceived scale. */
.wave23e-companion .wave23d-companion__dock {
  width: 124.16px;
  height: 124.16px;
}

.wave23e-companion .wave23d-companion__dock .wave23d-companion__orb--artifact {
  width: 114.46px;
  height: 114.46px;
}

body.home-page .wave23e-companion .wave23d-companion__dock {
  width: 124.16px;
  height: 124.16px;
}

body.home-page .wave23e-companion .wave23d-companion__dock .wave23d-companion__orb--artifact {
  width: 114.46px;
  height: 114.46px;
}

body.wave23d-companion-open .wave23e-companion > .wave23d-companion__dock {
  opacity: 0;
  transition: opacity 260ms cubic-bezier(.2, .75, .22, 1), transform 260ms cubic-bezier(.2, .75, .22, 1);
}

.wave23e-companion .wave23d-companion__overlay:not([hidden]) .wave23d-companion__backdrop {
  animation: wave106BackdropIn 460ms ease both;
}

.wave23e-companion .wave23d-companion__overlay:not([hidden]) .wave23d-companion__field {
  animation: wave106FieldIn 540ms cubic-bezier(.2, .78, .2, 1) both;
}

.wave23e-companion .wave23d-companion__stage {
  width: min(920px, 94%);
  min-height: clamp(330px, 44dvh, 410px);
  margin-top: -.25rem;
}

.wave23e-companion .wave23d-companion__glow {
  top: 50%;
  width: min(480px, 66vw);
  height: min(480px, 66vw);
  background:
    radial-gradient(circle, rgba(247, 255, 255, .18) 0 10%, rgba(93, 201, 214, .13) 30%, rgba(230, 184, 79, .07) 48%, transparent 72%);
  filter: blur(16px);
}

.wave23e-companion .wave23d-companion__orb--center.wave23d-companion__orb--artifact {
  top: 50%;
  left: 50%;
  z-index: 2;
  width: 241px;
  height: 241px;
  transform-origin: 50% 50%;
}

.wave23e-companion.is-wave106-opening .wave23d-companion__orb--center {
  opacity: 0;
}

.wave23e-companion .wave23d-companion__orb--center.is-wave106-arriving {
  opacity: 1;
  animation: wave106OrbArrival var(--wave106-flight-duration, 4600ms) cubic-bezier(.16, .86, .2, 1) both !important;
}

@keyframes wave106OrbArrival {
  0% {
    opacity: .76;
    transform:
      translate(-50%, -50%)
      translate3d(var(--wave106-flight-x, 0px), var(--wave106-flight-y, 0px), 0)
      scale(var(--wave106-flight-scale-start, .66))
      rotate(-2.8deg);
  }
  20% {
    opacity: 1;
    transform:
      translate(-50%, -50%)
      translate3d(var(--wave106-flight-x-early, 0px), var(--wave106-flight-y-early, 0px), 0)
      scale(var(--wave106-flight-scale-early, .74))
      rotate(-1.3deg);
  }
  52% {
    opacity: 1;
    transform:
      translate(-50%, -50%)
      translate3d(var(--wave106-flight-mid-x, 0px), var(--wave106-flight-mid-y, 0px), 0)
      scale(var(--wave106-flight-scale-mid, .95))
      rotate(-.3deg);
  }
  72% {
    opacity: 1;
    transform:
      translate(-50%, -50%)
      translate3d(var(--wave106-flight-over-x, 0px), var(--wave106-flight-over-y, 0px), 0)
      scale(calc(var(--wave106-flight-scale-over, 1.03) * 1.02))
      rotate(.32deg);
  }
  84% {
    transform:
      translate(-50%, -50%)
      translate3d(var(--wave106-flight-over-x, 0px), var(--wave106-flight-over-y, 0px), 0)
      scale(var(--wave106-flight-scale-over, 1.05))
      rotate(.16deg);
  }
  93% {
    transform: translate(-50%, -50%) scale(1.032) rotate(.08deg);
  }
  100% {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1) rotate(0deg);
  }
}

@keyframes wave106BackdropIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

@keyframes wave106FieldIn {
  from { opacity: 0; transform: translateY(14px) scale(.982); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

@media (max-width: 760px) {
  .wave23e-companion .wave23d-companion__dock,
  body.home-page .wave23e-companion .wave23d-companion__dock {
    width: 71.78px;
    height: 71.78px;
  }

  .wave23e-companion .wave23d-companion__dock .wave23d-companion__orb--artifact,
  body.home-page .wave23e-companion .wave23d-companion__dock .wave23d-companion__orb--artifact {
    width: 64.02px;
    height: 64.02px;
  }

  .wave23e-companion .wave23d-companion__stage {
    min-height: 310px;
  }

  .wave23e-companion .wave23d-companion__orb--center.wave23d-companion__orb--artifact {
    top: 42%;
    width: 184px;
    height: 184px;
  }

  .wave23e-companion .wave23d-companion__glow {
    top: 42%;
    width: 300px;
    height: 300px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .wave23e-companion.is-wave106-opening .wave23d-companion__orb--center {
    opacity: 1;
  }

  .wave23e-companion .wave23d-companion__overlay:not([hidden]) .wave23d-companion__backdrop,
  .wave23e-companion .wave23d-companion__overlay:not([hidden]) .wave23d-companion__field,
  .wave23e-companion .wave23d-companion__orb--center.is-wave106-arriving {
    animation: none !important;
  }
}
