/* A small, contextual contact guide, inspired by the lightning in the brand. */
.energy-guide {
  --energy-guide-progress: 100;
  position: fixed;
  z-index: 90;
  right: max(22px, env(safe-area-inset-right, 0px));
  bottom: max(22px, calc(env(safe-area-inset-bottom, 0px) + 12px));
  display: flex;
  align-items: flex-end;
  gap: 12px;
  max-width: calc(100vw - 32px);
  pointer-events: none;
  color: #0d203b;
  isolation: isolate;
  transition: opacity .22s ease, visibility .22s ease;
}
.energy-guide *, .energy-guide *::before, .energy-guide *::after { box-sizing: border-box; }
.energy-guide[data-suspended="true"] { opacity: 0; visibility: hidden; pointer-events: none; }
.energy-guide-bubble {
  position: relative;
  flex: 0 1 280px;
  width: 280px;
  min-width: 0;
  margin-bottom: 7px;
  border: 1px solid rgba(242,109,22,.22);
  border-radius: 19px 19px 5px 19px;
  background: rgba(255,255,255,.97);
  box-shadow: 0 10px 40px rgba(13,32,59,.14), 0 1px 5px rgba(13,32,59,.04);
  transition: opacity .22s ease, transform .22s ease, visibility .22s ease;
}
.energy-guide-bubble::after {
  content: "";
  position: absolute;
  width: 8px;
  height: 8px;
  right: -5px;
  bottom: 15px;
  transform: rotate(-45deg);
  border-right: 1px solid rgba(242,109,22,.22);
  border-bottom: 1px solid rgba(242,109,22,.22);
  background: #fff;
  pointer-events: none;
}
.energy-guide-message {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 7px;
  padding: 17px 44px 16px 18px;
  color: #0d203b;
  text-decoration: none;
  pointer-events: auto;
  border-radius: inherit;
  -webkit-tap-highlight-color: rgba(242,109,22,.1);
}
.energy-guide-label {
  color: #ab4508;
  font-size: 9px;
  font-weight: 800;
  line-height: 1.35;
  letter-spacing: .075em;
  text-transform: uppercase;
}
.energy-guide-question {
  color: #0d203b;
  font-size: 14px;
  font-weight: 750;
  line-height: 1.4;
  letter-spacing: -.015em;
  overflow-wrap: anywhere;
}
.energy-guide-action {
  color: #a63e00;
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 11px;
  line-height: 1.3;
  font-weight: 800;
}
.energy-guide-action > span { display: inline-block; transition: transform .2s ease; }
.energy-guide-message:hover .energy-guide-action > span { transform: translate(2px, -2px); }
.energy-guide-message:hover .energy-guide-action { color: #0d203b; }
.energy-guide-close {
  position: absolute;
  top: 0;
  right: 0;
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 0;
  border-radius: 50%;
  color: #6b7686;
  background: transparent;
  cursor: pointer;
  pointer-events: auto;
}
.energy-guide-close:hover { background: #f4f0ec; color: #0d203b; }
.energy-guide-orb {
  position: relative;
  display: grid;
  place-items: center;
  flex: 0 0 62px;
  width: 62px;
  height: 62px;
  border-radius: 50%;
  color: #f26d16;
  pointer-events: auto;
  text-decoration: none;
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
  filter: drop-shadow(0 6px 11px rgba(13,32,59,.22));
  transition: filter .25s ease;
}
.energy-guide-emblem { width: 100%; height: 100%; overflow: visible; animation: energyGuideFloat 6s ease-in-out infinite; }
.energy-guide-ring-track { fill: rgba(13,32,59,.07); stroke: rgba(242,166,71,.3); stroke-width: 1; }
.energy-guide-ring-progress { fill: none; stroke: #edb85f; stroke-width: 1.6; stroke-linecap: round; stroke-dasharray: 100; stroke-dashoffset: var(--energy-guide-progress); transform: rotate(-90deg); transform-origin: center; }
.energy-guide-core { fill: #0d203b; stroke: rgba(255,255,255,.18); stroke-width: 1; transition: fill .25s ease; }
.energy-guide-bolt { fill: #f26d16; }
.energy-guide-bolt-shine { fill: #ffc879; opacity: .72; }
.energy-guide-orb:hover { filter: drop-shadow(0 5px 15px rgba(242,109,22,.44)); }
.energy-guide-orb:hover .energy-guide-core { fill: #172f4d; }
.energy-guide-orb:hover .energy-guide-emblem { animation-play-state: paused; }
.energy-guide a:focus-visible, .energy-guide button:focus-visible { outline: 3px solid #f26d16; outline-offset: 4px; }
.energy-guide.is-dismissed .energy-guide-bubble { opacity: 0; visibility: hidden; transform: translate(8px, 4px); pointer-events: none; }
@keyframes energyGuideFloat { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-4px); } }
@media (max-width: 720px) {
  .energy-guide {
    right: max(12px, env(safe-area-inset-right, 0px));
    bottom: max(12px, calc(env(safe-area-inset-bottom, 0px) + 8px));
    gap: 8px;
    max-width: calc(100vw - 24px);
  }
  .energy-guide-bubble { width: 228px; flex-basis: 228px; margin-bottom: 3px; border-radius: 15px 15px 4px 15px; }
  .energy-guide-message { padding: 12px 42px 11px 13px; gap: 5px; }
  .energy-guide-label { font-size: 8px; letter-spacing: .055em; }
  .energy-guide-question { font-size: 12px; line-height: 1.35; }
  .energy-guide-action { font-size: 10px; }
  .energy-guide-close { top: 1px; right: 0; }
  .energy-guide-orb { width: 52px; height: 52px; flex-basis: 52px; }
  .energy-guide-bubble::after { bottom: 13px; }
}
@media (prefers-reduced-motion: reduce) {
  .energy-guide, .energy-guide *, .energy-guide *::before, .energy-guide *::after {
    animation: none !important;
    transition: none !important;
  }
}
@media print { .energy-guide { display: none; } }
