/* halo-crest — layout, sizes, motion only (colours live in the template) */

.halo-crest__glow {
    width: 60rem;
    height: 36rem;
    transform: translate(-50%, -30%);
    filter: blur(100px);
}

.halo-crest__haze {
    width: 70rem;
    height: 22rem;
    transform: translate(-50%, 55%);
    filter: blur(110px);
}

.halo-crest__title {
    letter-spacing: -0.03em;
    text-wrap: balance;
}

.halo-crest__eyebrow {
    letter-spacing: 0.18em;
}

/* --- arc + bubbles --- */

.halo-crest__orbit {
    left: 50%;
    bottom: 6.5rem;
    width: 32.5rem;
    height: 32.5rem;
    transform: translateX(-50%);
}

.halo-crest__stage {
    height: 13rem;
}

/* mobile: keep only the lower half of the ring so it never crosses the copy */
.halo-crest__ring {
    clip-path: inset(50% 0 0 0);
}

.halo-crest__slot {
    width: 3.5rem;
    height: 3.5rem;
    transform: translate(-50%, -50%);
    left: 50%;
    top: 100%;
}

/* positions on a radius of 55.5% of the orbit box (fixed angles, pre-computed) */
.halo-crest__slot--1  { left: 8.76%;   top: 87.14%; }
.halo-crest__slot--2  { left: 18.17%;  top: 95.46%; }
.halo-crest__slot--3  { left: 30.11%;  top: 101.81%; }
.halo-crest__slot--4  { left: 44.20%;  top: 105.20%; }
.halo-crest__slot--5  { left: 60.59%;  top: 104.48%; }
.halo-crest__slot--6  { left: 75.20%;  top: 99.45%; }
.halo-crest__slot--7  { left: 87.14%;  top: 91.24%; }
.halo-crest__slot--8  { left: 96.01%;  top: 81.04%; }
.halo-crest__slot--9  { left: 0.12%;   top: 74.33%; }
.halo-crest__slot--10 { left: 102.15%; top: 68.98%; }

.halo-crest__slot--9,
.halo-crest__slot--10 {
    display: none;
}

.halo-crest__glyph {
    font-size: 1.25rem;
    line-height: 1;
}

.halo-crest__bubble {
    animation: halo-crest-bob 6s ease-in-out infinite;
    will-change: transform;
}

.halo-crest__bubble--1  { animation-delay: 0s; }
.halo-crest__bubble--2  { animation-delay: -1.2s; }
.halo-crest__bubble--3  { animation-delay: -2.4s; }
.halo-crest__bubble--4  { animation-delay: -3.6s; }
.halo-crest__bubble--5  { animation-delay: -4.8s; }
.halo-crest__bubble--6  { animation-delay: -0.6s; }
.halo-crest__bubble--7  { animation-delay: -1.8s; }
.halo-crest__bubble--8  { animation-delay: -3s; }
.halo-crest__bubble--9  { animation-delay: -4.2s; }
.halo-crest__bubble--10 { animation-delay: -5.4s; }

@keyframes halo-crest-bob {
    0%, 100% { transform: translateY(0); }
    50%      { transform: translateY(-0.6rem); }
}

@media (min-width: 768px) {
    .halo-crest__orbit {
        bottom: 8rem;
        width: 62rem;
        height: 62rem;
    }

    .halo-crest__stage {
        height: 20rem;
    }

    .halo-crest__ring {
        clip-path: none;
    }

    .halo-crest__slot {
        width: 4.75rem;
        height: 4.75rem;
    }

    .halo-crest__slot--9,
    .halo-crest__slot--10 {
        display: block;
    }

    .halo-crest__glyph {
        font-size: 1.6rem;
    }
}

@media (min-width: 1024px) {
    .halo-crest__orbit {
        bottom: 9rem;
        width: min(87.5rem, 97vw);
        height: min(87.5rem, 97vw);
    }

    .halo-crest__stage {
        height: 24rem;
    }

    .halo-crest__slot {
        width: 6rem;
        height: 6rem;
    }

    .halo-crest__glyph {
        font-size: 2rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .halo-crest__bubble {
        animation: none;
    }
}

/* v19 accordion — button UA reset (no BS btn class) */
.perks-linear-accord__trigger {
    appearance: none;
    -webkit-appearance: none;
    font: inherit;
    cursor: pointer;
    line-height: inherit;
}

/* body indent (BS has no ps-10 analog at this size) */
.perks-linear-accord__body {
    padding-left: 2.5rem;
}

/* chevron rotation when expanded */
.perks-linear-accord__item[data-open] .perks-linear-accord__chevron i {
    transform: rotate(180deg);
    transition: transform 0.25s ease;
}

.perks-linear-accord__chevron i {
    transition: transform 0.25s ease;
}

/* group-hover та картка */
.services__tile--lift {
  transition: box-shadow 0.5s ease, transform 0.5s ease;
}

.services__tile--lift:hover {
  box-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25);
  transform: translateY(-0.75rem);
}

@media (min-width: 640px) {
  .services__tile--lift:hover {
    transform: translateY(-0.75rem) scale(1.05);
  }
}

.services__media {
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.services__row:hover .services__media {
  transform: scale(1.1);
  box-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1);
}

.services__heading {
  transition: color 0.3s ease;
}

.services__row:hover .services__heading {
  color: #2563eb;
}

.dark .services__row:hover .services__heading {
  color: #60a5fa;
}

[data-bs-theme="dark"] .services__row:hover .services__heading {
  color: var(--bs-primary, #6ea8fe);
}

.services__accent {
  transition: width 0.3s ease;
}

.services__row:hover .services__accent {
  width: 6rem;
}

.services__badge--offset {
  top: 2rem;
  inset-inline-end: 2rem;
}

.services__decor--blur {
  filter: blur(64px);
}

.services__decor-root {
  z-index: -1;
}

/* BS: розміри блобів (TW — через w-72 / w-96 у sem) */
.services__blob-a {
  width: 18rem;
  height: 18rem;
}

.services__blob-b {
  width: 24rem;
  height: 24rem;
}

@keyframes fullscreen-scroll-timeline__slide-in {
    from { opacity: 0; transform: translateX(-40px); }
    to { opacity: 1; transform: translateX(0); }
}

.fullscreen-scroll-timeline__content.is-visible {
    animation: fullscreen-scroll-timeline__slide-in 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
}

.fullscreen-scroll-timeline__section {
    min-height: 520px;
}

.fullscreen-scroll-timeline__inner {
    min-height: 520px;
    z-index: 10;
}

.fullscreen-scroll-timeline__content {
    max-width: 36rem;
    opacity: 0;
    transform: translateX(-40px);
}

.fullscreen-scroll-timeline__accent-line {
    width: 2rem;
    height: 1px;
}

.fullscreen-scroll-timeline__text {
    max-width: 32rem;
}

.fullscreen-scroll-timeline__decor-year {
    right: 2rem;
    top: 50%;
    transform: translateY(-50%);
}

.fullscreen-scroll-timeline__year-text {
    font-size: 120px;
    writing-mode: vertical-rl;
}
.fullscreen-scroll-timeline__section {
    min-height: 520px;
}

.fullscreen-scroll-timeline__inner-size {
    min-height: 520px;
    z-index: 10;
}

.fullscreen-scroll-timeline__content {
    max-width: 36rem;
    opacity: 0;
    transform: translateX(-40px);
}

.fullscreen-scroll-timeline__accent-line {
    width: 2rem;
    height: 1px;
}

.fullscreen-scroll-timeline__text-width {
    max-width: 32rem;
}

.fullscreen-scroll-timeline__year-decor {
    right: 2rem;
    top: 50%;
    transform: translateY(-50%);
}

.fullscreen-scroll-timeline__feat-year {
    font-size: 120px;
    writing-mode: vertical-rl;
}


.polar-frame-quote__portrait {
    width: 7rem;
    height: 7rem;
}


.coach-support__story--lift:hover { transform: scale(1.05); transition: transform .2s ease; }

.coach-support__card-bounds { min-width: 280px; max-width: 400px; }


.drive-signup__section {
    padding-top: 6rem;
    padding-bottom: 6rem;
}

.drive-signup__grid {
    min-height: 350px;
}

@keyframes drive-signup-spark-beat-seq {
    0%, 100% { opacity: 1; }
    50%       { opacity: .5; }
}
.drive-signup__spark--beat {
    animation: drive-signup-spark-beat-seq 2s cubic-bezier(.4,0,.6,1) infinite;
}

.drive-signup__prompt--glow:hover { transform: scale(1.05); transition: transform .2s ease; }

