.hero-v1-btn-ghost {
    background-color: transparent;
    transition: background-color 0.2s ease, color 0.2s ease;
}

.hero-v1-btn-ghost:hover,
.hero-v1-btn-ghost:focus {
    background-color: rgba(255, 255, 255, 0.2);
    color: #fff !important;
    border-color: #fff !important;
}

/* -- Button hover states -- */
.hero-btn-primary {
    transition: filter 0.2s ease, transform 0.15s ease;
}
.hero-btn-primary:hover,
.hero-btn-primary:focus {
    filter: brightness(1.12);
    transform: translateY(-1px);
}

.hero-btn-outline-secondary {
    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.15s ease;
}
.hero-btn-outline-secondary:hover,
.hero-btn-outline-secondary:focus {
    background-color: var(--bs-secondary) !important;
    color: #fff !important;
    border-color: var(--bs-secondary) !important;
    transform: translateY(-1px);
}

.hero-btn-outline-primary-light {
    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.15s ease;
}
.hero-btn-outline-primary-light:hover,
.hero-btn-outline-primary-light:focus {
    background-color: var(--bs-primary) !important;
    color: #fff !important;
    border-color: var(--bs-primary) !important;
    transform: translateY(-1px);
}
/* intro v22 — Lavazza brutalist: blueprint grid, aurora sweep, outlined heading, progressive stagger */

/* Blueprint engineering-paper grid (colour from Tailwind text-*, lines via currentColor) */
.intro-blue__grid {
    background-image:
        repeating-linear-gradient(0deg, currentColor 0 1px, transparent 1px 28px),
        repeating-linear-gradient(90deg, currentColor 0 1px, transparent 1px 28px);
    opacity: 0.16;
}

/* Aurora wave sweep horizontal */
.intro-blue__aurora {
    background-size: 200% 100%;
    opacity: 0.3;
    animation: intro-blue-aurora 7s ease-in-out infinite;
}
@keyframes intro-blue-aurora {
    0%, 100% { background-position: 0% 0%; }
    50%      { background-position: 100% 0%; }
}

/* Text-stroke outlined heading (hollow fill, stroke = the element's Tailwind colour) */
.intro-blue__title {
    -webkit-text-fill-color: transparent;
    -webkit-text-stroke: 2px currentColor;
    text-stroke: 2px currentColor;
    letter-spacing: -0.02em;
}

/* Progressive stagger reveal — pure CSS on the reliable [data-lane-item] attribute; always ends visible */
@keyframes intro-blue-rise {
    from { opacity: 0; transform: translateY(1.5rem); }
    to   { opacity: 1; transform: translateY(0); }
}
.intro-blue [data-lane-item] { animation: intro-blue-rise 500ms ease both; }
.intro-blue [data-lane-item]:nth-child(2) { animation-delay: 120ms; }
.intro-blue [data-lane-item]:nth-child(3) { animation-delay: 240ms; }

@media (prefers-reduced-motion: reduce) {
    .intro-blue__aurora { animation: none; }
    .intro-blue [data-lane-item] { animation: none; }
}

@keyframes perks-ring-progress-pulse-kf {
    0%,
    100% {
        opacity: 1;
        transform: scale(1);
    }

    50% {
        opacity: 0.6;
        transform: scale(1.05);
    }
}

.perks-ring-progress__blob {
    animation: perks-ring-progress-pulse-kf 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}

.perks-ring-progress__blob--delay {
    animation-delay: 1s;
}

@keyframes perks-ring-progress-spin-kf {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}

.perks-ring-progress__orbit--a {
    position: absolute;
    top: 1rem;
    right: 1rem;
    width: 5rem;
    height: 5rem;
    animation: perks-ring-progress-spin-kf 20s linear infinite;
}

.perks-ring-progress__orbit--b {
    position: absolute;
    bottom: 1rem;
    left: 1rem;
    width: 4rem;
    height: 4rem;
    animation: perks-ring-progress-spin-kf 15s linear infinite reverse;
}

.perks-ring-progress__blob.perks-ring-progress__blob--a {
    position: absolute;
    width: 16rem;
    height: 16rem;
    top: 25%;
    left: 25%;
    filter: blur(64px);
}

.perks-ring-progress__blob.perks-ring-progress__blob--b {
    position: absolute;
    width: 20rem;
    height: 20rem;
    bottom: 25%;
    right: 25%;
    filter: blur(64px);
}

.perks-ring-progress__thumb {
    width: 4rem;
    height: 4rem;
}

.perks-ring-progress__ring-wrap {
    width: 5rem;
    height: 5rem;
}

.perks-ring-progress__decor-layer {
    transition: opacity 0.5s ease;
}

.perks-ring-progress__accent-line {
    height: 4px;
    transition: opacity 0.5s ease;
}

@media (min-width: 640px) {
    .perks-ring-progress__group:hover .perks-ring-progress__card {
        transform: scale(1.05);
    }

    .perks-ring-progress__group:hover .perks-ring-progress__thumb {
        transform: rotate(12deg);
    }
}

.perks-ring-progress__group:hover .perks-ring-progress__decor-layer {
    opacity: 0.1;
}

.perks-ring-progress__group:hover .perks-ring-progress__accent-line {
    opacity: 1;
}

.services-accordion__serif,
[data-serif] {
    font-family: Georgia, "Times New Roman", Times, serif;
}

[data-accordion-toggle] {
    list-style: none;
}
[data-accordion-toggle]::-webkit-details-marker {
    display: none;
}

.services-accordion__chevron {
    transition: transform 200ms ease;
}
[data-accordion-item][open] .services-accordion__chevron {
    transform: rotate(180deg);
}

.header-ui__box-10 {
    width: 2.5rem;
    height: 2.5rem;
    min-width: 2.5rem;
    min-height: 2.5rem;
    flex-shrink: 0;
}

/* Bootstrap: blur-орби, ранг, нижня лінія (імена без номера варіанту) */
.stats__decor-blur-tl {
  position: absolute;
  top: 25%;
  left: 25%;
  width: 16rem;
  height: 16rem;
  filter: blur(64px);
}

.stats__decor-blur-br {
  position: absolute;
  bottom: 25%;
  right: 25%;
  width: 20rem;
  height: 20rem;
  filter: blur(64px);
}

.stats__rank-badge {
  width: 1.5rem;
  height: 1.5rem;
  min-width: 1.5rem;
  min-height: 1.5rem;
}

.stats__bottom-line-bar {
  height: 0.25rem;
}

.stats-card-hover {
  transition:
    box-shadow 0.5s ease,
    transform 0.5s ease;
}

.stats-card-hover:hover {
  box-shadow:
    0 25px 50px -12px rgb(0 0 0 / 0.25);
  transform: scale(1.05);
}

.stats-gradient-overlay-hover {
  transition: opacity 0.5s ease;
  opacity: 0;
}

.stats-card-hover:hover .stats-gradient-overlay-hover {
  opacity: 1;
}

.stats-bottom-bar-hover {
  transition: opacity 0.5s ease;
  opacity: 0;
}

.stats-card-hover:hover .stats-bottom-bar-hover {
  opacity: 1;
}

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

.steps-arrow-stack__badge-circle {
    width: 3rem;
    height: 3rem;
}

.steps-arrow-stack__icon-box {
    width: 2rem;
    height: 2rem;
}

.steps-arrow-stack__sm-circle {
    width: 1.5rem;
    height: 1.5rem;
}

.diagonal-zigzag-split__portrait {
    width: 8rem;
    height: 8rem;
}

.diagonal-zigzag-split__portrait--tilt-left {
    transform: rotate(-5deg);
}

.diagonal-zigzag-split__portrait--tilt-right {
    transform: rotate(5deg);
}

.diagonal-zigzag-split__portrait:hover {
    transform: rotate(0);
}

.diagonal-zigzag-split__beacon {
    width: 2rem;
    height: 2rem;
    bottom: -0.25rem;
    right: -0.25rem;
}

.diagonal-zigzag-split__beacon-dot {
    width: 0.75rem;
    height: 0.75rem;
}

.diagonal-zigzag-split__frame {
    width: 4rem;
    height: 4rem;
}

.diagonal-zigzag-split__frame--tl {
    top: 0;
    left: 0;
}

.diagonal-zigzag-split__frame--br {
    bottom: 0;
    right: 0;
}

.diagonal-zigzag-split__frame--rotate-45 {
    transform: rotate(45deg);
}

.diagonal-zigzag-split__frame--rotate-minus-45 {
    transform: rotate(-45deg);
}

.diagonal-zigzag-split__wash {
    width: 8rem;
}

.diagonal-zigzag-split__corner {
    width: 5rem;
    height: 5rem;
}

.diagonal-zigzag-split__min-shrink {
    min-width: 0;
}

@media (min-width: 768px) {
    .diagonal-zigzag-split__band--reverse {
        flex-direction: row-reverse;
    }

    .diagonal-zigzag-split__portrait {
        width: 10rem;
        height: 10rem;
    }
}


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

.callout-signup__jump--rise:hover { transform: scale(1.05); transition: transform .2s ease; }

