/* Vibrant Gradient - animated multicolour hero, slanted edge, playful cards */
.lpt-vibrant {
    --lp-primary: #7b2ff7;
    --lp-primary-2: #f107a3;
    --lp-accent: #ffb800;
    --lp-accent-2: #ff6a3d;
    --lp-on-accent: #fff;
    --lp-alt: #fff5fb;
    --lp-surface-2: #fbf7ff;
    --lp-border: #f1e4f4;
    --lp-text: #4b3f5c;
    --lp-heading: #2a1250;
    --lp-muted: #8a7f99;
    --lp-radius: 28px;
    --lp-btn-radius: 50px;
    --lp-shadow: 0 16px 40px rgba(123, 47, 247, .08);
    --lp-shadow-hover: 0 28px 60px rgba(241, 7, 163, .16);
    --lp-dot: rgba(241, 7, 163, .18);
    --lp-tag-text: #d4048f;
    --lp-pulse: rgba(255, 184, 0, .6);
    --lp-grad-accent: linear-gradient(135deg, #ffb800, #ff6a3d);
    --lp-cta-bg: linear-gradient(120deg, #7b2ff7, #f107a3, #ff6a3d, #7b2ff7);
}
.lpt-vibrant .lp-heading__tag { background: rgba(241, 7, 163, .08); }
.lpt-vibrant .lp-heading h2::after { background: linear-gradient(90deg, #7b2ff7, #f107a3, #ffb800); width: 80px; }

.lpt-vibrant .lp-hero { padding: 100px 0 170px; color: #fff; background: linear-gradient(120deg, #7b2ff7, #c517d6, #f107a3, #ff6a3d, #7b2ff7); background-size: 300% 300%; animation: lp-gradient 16s ease infinite; clip-path: polygon(0 0, 100% 0, 100% 86%, 0 100%); }
.lpt-vibrant .lp-hero::before { content: ''; position: absolute; inset: 0; background: var(--lp-hero-img, none) center / cover no-repeat; opacity: .16; mix-blend-mode: luminosity; }
.lpt-vibrant .lp-hero::after { content: ''; position: absolute; inset: 0; background: radial-gradient(circle at 20% 20%, rgba(255, 255, 255, .25), transparent 35%), radial-gradient(circle at 80% 70%, rgba(255, 184, 0, .3), transparent 40%); }
.lpt-vibrant .lp-bubbles { position: absolute; inset: 0; z-index: 1; pointer-events: none; }
.lpt-vibrant .lp-bubbles span { position: absolute; display: flex; align-items: center; justify-content: center; border-radius: 50%; background: rgba(255, 255, 255, .16); border: 1px solid rgba(255, 255, 255, .35); backdrop-filter: blur(6px); color: #fff; animation: lp-float 8s ease-in-out infinite; box-shadow: 0 10px 30px rgba(0, 0, 0, .1); }
.lpt-vibrant .lp-bubbles span:nth-child(1) { width: 64px; height: 64px; top: 12%; left: 4%; font-size: 1.5rem; }
.lpt-vibrant .lp-bubbles span:nth-child(2) { width: 50px; height: 50px; top: 8%; left: 52%; animation-delay: -2s; }
.lpt-vibrant .lp-bubbles span:nth-child(3) { width: 40px; height: 40px; bottom: 30%; left: 46%; font-size: .9rem; animation-delay: -4s; color: #ffe27a; }
.lpt-vibrant .lp-bubbles span:nth-child(4) { width: 46px; height: 46px; bottom: 24%; left: 8%; animation-delay: -6s; }
.lpt-vibrant .lp-bubbles span:nth-child(5) { width: 56px; height: 56px; top: 14%; right: 3%; font-size: 1.3rem; animation-delay: -3s; }
.lpt-vibrant .lp-eyebrow { background: rgba(255, 255, 255, .18); border: 1px solid rgba(255, 255, 255, .4); color: #fff; backdrop-filter: blur(6px); font-weight: 600; }
.lpt-vibrant .lp-eyebrow i { color: #ffe27a; }
.lpt-vibrant .lp-hero__text h1 { font-size: 3.4rem; color: #fff; letter-spacing: -1px; text-shadow: 0 6px 30px rgba(42, 18, 80, .25); }
.lpt-vibrant .lp-hero__sub { color: rgba(255, 255, 255, .92); }
.lpt-vibrant .lp-trust li { color: #fff; font-weight: 500; }
.lpt-vibrant .lp-trust i { color: #ffe27a; }
.lpt-vibrant .lp-btn--ghost { --lp-ghost: rgba(255, 255, 255, .7); --lp-ghost-hover-text: #c517d6; background: rgba(255, 255, 255, .12); }

.lpt-vibrant .lp-form-card { box-shadow: 0 40px 80px rgba(42, 18, 80, .35); overflow: hidden; padding-top: 52px; }
.lpt-vibrant .lp-form-card::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 8px; background: linear-gradient(90deg, #7b2ff7, #f107a3, #ff6a3d, #ffb800); }
.lpt-vibrant .lp-form__icon { position: static; transform: none; margin: 0 auto 12px; border: 0; border-radius: 18px; background: linear-gradient(135deg, #7b2ff7, #f107a3); color: #fff; }

.lpt-vibrant .lp-section--content { margin-top: -40px; }
.lpt-vibrant .lp-content::before { background: linear-gradient(90deg, #7b2ff7, #f107a3, #ffb800); width: 140px; }
.lpt-vibrant .lp-content ul li { border-radius: 16px; }
.lpt-vibrant .lp-content ul li::before { background: linear-gradient(135deg, #f107a3, #ff6a3d); }
.lpt-vibrant .lp-step__icon { border-radius: 50%; transform: none; }
.lpt-vibrant .lp-step:nth-child(1) .lp-step__icon { background: linear-gradient(135deg, #7b2ff7, #b44cff); }
.lpt-vibrant .lp-step:nth-child(2) .lp-step__icon { background: linear-gradient(135deg, #f107a3, #ff5fa2); }
.lpt-vibrant .lp-step:nth-child(3) .lp-step__icon { background: linear-gradient(135deg, #ff6a3d, #ffb800); }
.lpt-vibrant .lp-step:hover .lp-step__icon { transform: scale(1.08) rotate(8deg); color: #fff; }
.lpt-vibrant .lp-step__num { color: #f107a3; opacity: .1; }
.lpt-vibrant .lp-steps::before { border-top-color: rgba(241, 7, 163, .25); }
.lpt-vibrant .lp-links li:nth-child(3n+1) .lp-links__icon { color: #7b2ff7; background: rgba(123, 47, 247, .1); }
.lpt-vibrant .lp-links li:nth-child(3n+2) .lp-links__icon { color: #f107a3; background: rgba(241, 7, 163, .1); }
.lpt-vibrant .lp-links li:nth-child(3n+3) .lp-links__icon { color: #ff6a3d; background: rgba(255, 106, 61, .1); }
.lpt-vibrant .lp-links a { border-radius: 20px; }
.lpt-vibrant .lp-cta { background-size: 300% 300%; animation: lp-gradient 16s ease infinite; }
.lpt-vibrant .lp-cta__inner { border-radius: 36px; }
.lpt-vibrant .lp-cta .lp-ring { border-color: rgba(255, 255, 255, .3); }
.lpt-vibrant .lp-cta .lp-blob--1 { background: radial-gradient(circle, rgba(255, 184, 0, .6), transparent 70%); }
.lpt-vibrant .lp-cta .lp-blob--2 { background: radial-gradient(circle, rgba(255, 255, 255, .35), transparent 70%); }
.lpt-vibrant .lp-cta .lp-btn--ghost { --lp-ghost-hover-text: #c517d6; }

@media (max-width: 991px) {
    .lpt-vibrant .lp-hero { padding: 60px 0 130px; clip-path: polygon(0 0, 100% 0, 100% 94%, 0 100%); }
    .lpt-vibrant .lp-hero__text h1 { font-size: 2.7rem; }
    .lpt-vibrant .lp-bubbles span:nth-child(n+3) { display: none; }
}
@media (max-width: 575px) {
    .lpt-vibrant .lp-hero__text h1 { font-size: 2.1rem; }
    .lpt-vibrant .lp-bubbles { display: none; }
}

/* ---------- body sections: bento grid, gradient step cards, multicolour pricing, tile links ---------- */
.lpt-vibrant .lp-bento-intro { position: relative; padding: 36px 40px; margin-bottom: 26px; border-radius: 28px; border: 2px solid transparent; background: linear-gradient(#fff, #fff) padding-box, linear-gradient(120deg, #7b2ff7, #f107a3, #ffb800) border-box; box-shadow: var(--lp-shadow); font-size: 1.1rem; }
.lpt-vibrant .lp-bento-intro h2 { font-size: 2rem; margin-top: 0; }
.lpt-vibrant .lp-bento { display: grid; grid-template-columns: repeat(2, 1fr); gap: 22px; grid-auto-flow: dense; }
.lpt-vibrant .lp-bento--single { grid-template-columns: 1fr; }
.lpt-vibrant .lp-bento__card { --tint: 123, 47, 247; position: relative; overflow: hidden; border-radius: 28px; padding: 32px 30px; background: rgba(var(--tint), .06); border: 1px solid rgba(var(--tint), .14); transition: transform .3s, box-shadow .3s; }
.lpt-vibrant .lp-bento__card:nth-child(3n+2) { --tint: 241, 7, 163; }
.lpt-vibrant .lp-bento__card:nth-child(3n+3) { --tint: 255, 106, 61; }
.lpt-vibrant .lp-bento__card::after { content: ''; position: absolute; width: 180px; height: 180px; top: -70px; right: -70px; border-radius: 50%; background: rgba(var(--tint), .1); }
.lpt-vibrant .lp-bento__card:hover { transform: translateY(-6px) rotate(-.4deg); box-shadow: 0 24px 50px rgba(var(--tint), .18); }
.lpt-vibrant .lp-bento__card--wide { grid-column: 1 / -1; }
.lpt-vibrant .lp-bento__icon { position: relative; z-index: 1; width: 54px; height: 54px; border-radius: 18px; display: flex; align-items: center; justify-content: center; font-size: 1.3rem; color: #fff; background: rgb(var(--tint)); box-shadow: 0 12px 24px rgba(var(--tint), .35); margin-bottom: 18px; transform: rotate(-8deg); }
.lpt-vibrant .lp-bento__card h2 { position: relative; z-index: 1; color: var(--lp-heading); font-size: 1.4rem; margin-bottom: 14px; }
.lpt-vibrant .lp-bento__card .lp-content { position: relative; z-index: 1; }
.lpt-vibrant .lp-bento__card .lp-content ul { grid-template-columns: 1fr; }
.lpt-vibrant .lp-bento__card--wide .lp-content ul { grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); }
.lpt-vibrant .lp-bento__card .lp-content ul li { background: rgba(255, 255, 255, .75); }
.lpt-vibrant .lp-bento__card .lp-content ul li::before { background: rgb(var(--tint)); }

.lpt-vibrant .lp-steps::before { display: none; }
.lpt-vibrant .lp-step { border: 0; color: #fff; padding: 38px 26px 32px; transform: rotate(-1.5deg); }
.lpt-vibrant .lp-step:nth-child(1) { background: linear-gradient(140deg, #7b2ff7, #b44cff); box-shadow: 0 20px 40px rgba(123, 47, 247, .3); }
.lpt-vibrant .lp-step:nth-child(2) { background: linear-gradient(140deg, #f107a3, #ff5fa2); box-shadow: 0 20px 40px rgba(241, 7, 163, .3); transform: rotate(1.5deg) translateY(14px); }
.lpt-vibrant .lp-step:nth-child(3) { background: linear-gradient(140deg, #ff6a3d, #ffb800); box-shadow: 0 20px 40px rgba(255, 106, 61, .3); }
.lpt-vibrant .lp-step:hover { transform: rotate(0) translateY(-6px); }
.lpt-vibrant .lp-step:nth-child(n) .lp-step__icon { background: rgba(255, 255, 255, .22); border: 1px solid rgba(255, 255, 255, .45); box-shadow: none; }
.lpt-vibrant .lp-step h3 { color: #fff; }
.lpt-vibrant .lp-step p { color: rgba(255, 255, 255, .88); }
.lpt-vibrant .lp-step__num { color: #fff; opacity: .25; }

.lpt-vibrant .lp-package .pack-header { padding-bottom: 36px; }
.lpt-vibrant .col-md-6:nth-child(4n+2) .lp-package .pack-header { background: linear-gradient(135deg, #f107a3, #ff5fa2); }
.lpt-vibrant .col-md-6:nth-child(4n+3) .lp-package .pack-header { background: linear-gradient(135deg, #ff6a3d, #ffb800); }
.lpt-vibrant .col-md-6:nth-child(4n+4) .lp-package .pack-header { background: linear-gradient(135deg, #00b4d8, #7b2ff7); }
.lpt-vibrant .lp-package .pack-header::after { height: 24px; }
.lpt-vibrant .lp-package .request-quote { align-self: stretch; margin: 0 4px; text-align: center; border: 0; color: #fff; background: linear-gradient(90deg, #7b2ff7, #f107a3); padding: 12px; }

.lpt-vibrant .lp-links { grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); }
.lpt-vibrant .lp-links a { flex-direction: column; align-items: flex-start; gap: 14px; padding: 22px; border: 0; background: rgba(123, 47, 247, .06); box-shadow: none; }
.lpt-vibrant .lp-links li:nth-child(3n+2) a { background: rgba(241, 7, 163, .06); }
.lpt-vibrant .lp-links li:nth-child(3n+3) a { background: rgba(255, 106, 61, .07); }
.lpt-vibrant .lp-links a::before { display: none; }
.lpt-vibrant .lp-links__icon { flex: 0 0 auto; width: 46px; height: 46px; border-radius: 14px; font-size: 1.05rem; }
.lpt-vibrant .lp-links__arrow { position: absolute; right: 20px; top: 26px; }

@media (max-width: 991px) {
    .lpt-vibrant .lp-bento { grid-template-columns: 1fr; }
    .lpt-vibrant .lp-step, .lpt-vibrant .lp-step:nth-child(2) { transform: none; }
}
@media (max-width: 575px) {
    .lpt-vibrant .lp-bento-intro { padding: 26px 20px; }
    .lpt-vibrant .lp-bento__card { padding: 26px 20px; }
}
