/* intro v19 — photo-free index list: soft blurred blobs, fixed icon tiles, scroll reveal */

/* Soft background blobs (fixed size + blur have no BS utility; colour stays a Tailwind/BS class) */
.intro-index__blob {
    width: 24rem;
    height: 24rem;
    filter: blur(64px);
    opacity: 0.5;
}

/* Icon tile fixed size (BS has no w-N/h-N utility) */
.intro-index__icon-tile {
    width: 3rem;
    height: 3rem;
}

/* Scroll reveal — cards hide only once JS arms the section (no-JS content stays visible) */
.intro-index.is-armed .intro-index__card {
    opacity: 0;
    transform: translateY(1.5rem);
    transition: opacity 560ms ease, transform 560ms ease;
}
.intro-index.is-armed .intro-index__card.is-in {
    opacity: 1;
    transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
    .intro-index.is-armed .intro-index__card {
        opacity: 1;
        transform: none;
        transition: none;
    }
}

/* Decor geometry (layout only; colors stay in Blade / @sem) */
.leaflet-document__decor-1 {
    position: absolute;
    width: 8rem;
    height: 8rem;
    top: 0;
    left: 0;
    transform: translate(-4rem, -4rem);
    z-index: 0;
    pointer-events: none;
}

.leaflet-document__decor-2 {
    position: absolute;
    width: 12rem;
    height: 12rem;
    bottom: 0;
    right: 0;
    transform: translate(6rem, 6rem);
    z-index: 0;
    pointer-events: none;
}

.leaflet-document__decor-3 {
    position: absolute;
    width: 6rem;
    height: 6rem;
    top: 50%;
    right: 0;
    transform: translate(3rem, -50%);
    z-index: 0;
    pointer-events: none;
}

.leaflet-document__decor-4 {
    position: absolute;
    width: 4rem;
    height: 4rem;
    left: 25%;
    bottom: 25%;
    transform: translate(-50%, 50%);
    z-index: 0;
    pointer-events: none;
}

.leaflet-document__divider-bar {
    height: 0.25rem;
}

.leaflet-document__title-trail { margin-bottom: 2rem; }

.leaflet-document__rule-trail { margin-bottom: 3rem; }

.leaflet-document__wrapper-section-pad {
    padding-top: 6rem;
    padding-bottom: 6rem;
}

.content-prose-measure {
    max-width: 48rem;
    margin-left: auto;
    margin-right: auto;
    width: 100%;
}

.content-heading-gap {
    margin-bottom: 2rem;
}

.steps-tip-cards__col {
    max-width: 20rem;
}

.steps-tip-cards__badge-circle {
    width: 4rem;
    height: 4rem;
}

/*
 * Градієнт тільки для BS: наближення до TW from-primary-900/90 → to-primary-800/90
 * (у TW ці класи задані в @sem; спільний клас з color-mix давав інший відтінок, ніж шкала primary-*).
 */
.quote-overlay-gradient {
  opacity: 0.9;
  background: linear-gradient(
    to right,
    color-mix(in srgb, var(--bs-primary) 30%, black),
    color-mix(in srgb, var(--bs-primary) 42%, black)
  );
}

[data-bs-theme="dark"] .quote-overlay-gradient,
.dark .quote-overlay-gradient {
  background: linear-gradient(
    to right,
    color-mix(in srgb, var(--bs-primary) 18%, black),
    color-mix(in srgb, var(--bs-primary) 30%, black)
  );
}

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

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

/* Card hover: scale */
.portfolio-item-hover {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.portfolio-item-hover:hover {
    transform: scale(1.05);
}

/* Image: zoom on card hover */
.portfolio-item-hover .portfolio-img-hover {
    transition: transform 0.5s ease;
}
.portfolio-item-hover:hover .portfolio-img-hover {
    transform: scale(1.05);
}

/* Gradient overlay: fade in on card hover */
.portfolio-overlay-hover {
    opacity: 0;
    transition: opacity 0.3s ease;
}
.portfolio-item-hover:hover .portfolio-overlay-hover {
    opacity: 1;
}


.signup-conversion__section {
    padding-top: 6rem;
    padding-bottom: 6rem;
}

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

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

.signup-conversion__cards-bs {
    display: flex;
    flex-wrap: wrap;
    gap: 2rem;
    width: 100%;
    justify-content: center;
    box-sizing: border-box;
}

.signup-conversion__cards-bs > .signup-conversion__slate--lift {
    flex: 1 1 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
}

@media (min-width: 768px) {
    .signup-conversion__cards-bs > .signup-conversion__slate--lift {
        flex: 1 1 calc((100% - 2rem) / 2);
        max-width: calc((100% - 2rem) / 2);
    }
}

@media (min-width: 992px) {
    .signup-conversion__cards-bs > .signup-conversion__slate--lift {
        flex: 1 1 calc((100% - 4rem) / 3);
        max-width: calc((100% - 4rem) / 3);
    }
}

