/* intro v24 — Arctic scandinavian: orbit animation, blur-in reveal, colour-invert hover */

/* Orbit circle animation */
.intro-arc__orbit {
    width: 20rem;
    height: 20rem;
    animation: intro-arc-orbit 20s linear infinite;
}
.intro-arc__dot { width: 1rem; height: 1rem; margin-left: -0.5rem; }
@keyframes intro-arc-orbit {
    to { transform: rotate(360deg); }
}

/* Blur-in — hidden only once JS arms it (no-JS content stays visible) */
.intro-arc.is-armed .intro-arc__blur {
    filter: blur(8px);
    opacity: 0;
    transition: filter 560ms ease, opacity 560ms ease;
}
.intro-arc.is-armed .intro-arc__blur.is-in {
    filter: blur(0);
    opacity: 1;
}

/* Colour invert on hover: descendants inherit the row's hover text colour (keyword only, no colour value) */
.intro-arc__row:hover * {
    color: inherit;
}

@media (prefers-reduced-motion: reduce) {
    .intro-arc__orbit { animation: none; }
    .intro-arc__blur { filter: none; opacity: 1; }
}

/* Вертикальний таймлайн — позиція рейки та вузлів */
.services__rail {
  position: absolute;
  left: 1.3rem;
  top: 0.75rem;
  bottom: 0.75rem;
  width: 2px;
  background-color: var(--bs-border-color, #dee2e6);
  border-radius: 1px;
}

.dark .services__rail {
  background-color: rgba(148, 163, 184, 0.45);
}

.services__node {
  position: relative;
  padding-left: 3.5rem;
  padding-bottom: 1.5rem;
}

.services__node:last-child {
  padding-bottom: 0;
}

@media (max-width: 575.98px) {
  .services__node {
    padding-left: 3.25rem;
  }

  .services__rail {
    left: 1.4rem;
  }
}

.services__badge {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 2;
}

/* v10 - Diagonal Skewed Timeline with Brutalist Borders (no BS analog for skew transform) */
.steps-brutal-skew__row {
    opacity: 0;
    transform: translateX(-1.5rem) skewX(-2deg);
    transition: opacity 500ms ease, transform 500ms ease;
}

.steps-brutal-skew__row.is-visible {
    opacity: 1;
    transform: skewX(-2deg);
}

.steps-brutal-skew__row:nth-child(even) {
    transform: translateX(1.5rem) skewX(2deg);
}

.steps-brutal-skew__row:nth-child(even).is-visible {
    transform: skewX(2deg);
}

.steps-brutal-skew__panel {
    transform: skewX(2deg);
}

.steps-brutal-skew__row:nth-child(even) .steps-brutal-skew__panel {
    transform: skewX(-2deg);
}

.steps-brutal-skew__num {
    transform: skewX(2deg);
}

.steps-brutal-skew__row:nth-child(even) .steps-brutal-skew__num {
    transform: skewX(-2deg);
}

/* fixed-size number badge — no Bootstrap width/height utility beyond w-25/50/75/100 */
.slant-ledger__badge {
    width: 5rem;
    height: 5rem;
}

@media (min-width: 768px) {
    .slant-ledger__badge {
        width: 6rem;
        height: 6rem;
    }
}

/* CTA hover — Bootstrap has no hover: utility variants like Tailwind's hover:bg-*.
   Pre-approved color exception for CTA/pill hover states (theme-token fallback). */
.slant-ledger__cta {
    transition: background-color 200ms ease, color 200ms ease;
}

.slant-ledger__cta:hover {
    background-color: var(--bs-primary, rgb(var(--tw-primary-600, 37 99 235) / 1)) !important;
    color: var(--bs-white, #fff) !important;
}


.weighin-splitview__mosaic--glass { backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px); }

.weighin-splitview__tag--glass { backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px); }

/* plans v2 — split contact headline */
.plans-quote__headline {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.35rem;
}

/* FAQ v18 — accordion mechanics */
.faq-accordion-panel {
    max-height: 0;
}

.faq-accordion-icon.solver-hints-symbol-reveal {
    transform: rotate(180deg);
}

