:root {
    --fh-brand:        #0649ED;   /* Primary Blue 500 */
    --fh-brand-dark:   #0a26c1;   /* Primary Blue 700 */
    --fh-brand-700:    #0a26c1;
    --fh-brand-600:    #0632da;
    --fh-brand-50:     #ebf3fe;   /* Primary Blue 50 */
    --fh-brand-100:    #dce7fe;   /* Primary Blue 100 */
    --fh-brand-200:    #adcbfd;   /* Primary Blue 200 */
    --fh-brand-300:    #75abfc;   /* Primary Blue 300 */
    --fh-accent:       #fa4616;   /* Pomegranate 500 */
    --fh-accent-50:    #fff3ed;   /* Pomegranate 50 */
    --fh-accent-100:   #ffe5d5;   /* Pomegranate 100 */
    --fh-pink:         #ec4899;   /* Pink 500 */
    --fh-pink-600:     #db2777;   /* Pink 600 */
    --fh-pink-100:     #fce7f3;   /* Pink 100 */
    --fh-success:      #2D8C44;   /* Green 600 */
    --fh-success-50:   #E1F7E6;   /* Green 100 */
    --fh-slate-700:    #334155;
    --fh-slate-800:    #1e293b;
    --fh-slate-900:    #0f172a;
    --fh-ink:          #222222;   /* BlackHeading */
    --fh-ink-soft:     #333333;   /* BlackBody */
    --fh-ink-muted:    #6b7280;   /* Gray 500 */
    --fh-line:         #D8D8D8;   /* Gray 200 */
    --fh-line-soft:    #f3f4f6;   /* Gray 100 */
    --fh-surface:      #FFFFFF;
    --fh-surface-alt:  #f9fafb;   /* Gray 50 */
    --fh-dark:         #101749;   /* Primary Blue 950 */
    --fh-dark-2:       #12227a;   /* Primary Blue 900 */
    --fh-radius-sm:    8px;
    --fh-radius-md:    16px;
    --fh-radius-lg:    24px;
    --fh-shadow-sm:    0 1px 2px rgba(15, 23, 41, 0.04);
    --fh-shadow-md:    0 4px 20px rgba(15, 23, 41, 0.06);
    --fh-shadow-lg:    0 18px 48px rgba(15, 23, 41, 0.10);
}
.plan-section-tight {
    padding: 72px 0;
}
.section-head {
    max-width: 720px;
    margin: 0 auto 48px;
    padding: 0 15px;
}
.plan-section-title {
    color: var(--fh-ink);
    font-family: 'Figtree-Bold' !important;
    font-size: 32px;
    line-height: 1.15;
    letter-spacing: -0.01em;
    margin: 0 0 12px;
}
.plan-section-subtitle {
    color: var(--fh-ink-soft);
    font-family: 'Figtree-Regular';
    font-size: 18px;
    line-height: 1.55;
    margin: 0;
}
.plan-hero {
    position: relative;
    padding: 72px 0 56px;
    background: linear-gradient(180deg, #E6F0FF 0%, rgba(230, 240, 255, 0.00) 100%);
    overflow: hidden;
}
.plan-hero-inner {
    max-width: 860px;
    margin: 0 auto;
    padding: 0 15px;
}
.plan-hero-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 14px 6px 14px;    
    background: #F3F4F6;
    border: 1px solid #4B5563;
    color: #4B5563;
    font-family: 'Figtree-Bold';
    font-size: 12px;
    border-radius: 999px;
    margin-bottom: 20px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}
.plan-hero-title em {
    font-style: italic;
    font-family: 'Figtree-Medium' !important;
    color: var(--fh-brand);
    font-weight: 500;
}
.plan-hero-subtitle {
    color: var(--fh-ink-soft);
    font-family: 'Figtree-Regular';
    font-size: 18px;
    line-height: 1.55;
    max-width: 560px;
    margin: 0 auto 32px;
}
/* Toggles */
.plan-toggles {
    display: inline-flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 16px;
    margin-top: 8px;
}
.plan-toggle {
    display: inline-flex;
    align-items: center;
    padding: 5px;
    background: #DCE7FE;
    border-radius: 999px;
    gap: 4px;
}
.plan-toggle--currency {
    background: var(--fh-ink);
    padding: 4px;
}
.plan-toggle--currency .plan-toggle-btn {
    color: rgba(255, 255, 255, 0.7);
}
.plan-toggle--currency .plan-toggle-btn.is-active {
    background: var(--fh-surface);
    color: var(--fh-ink);
}
.plan-toggle-btn {
    all: unset;
    cursor: pointer;
    padding: 8px 18px;
    border-radius: 999px;
    font-family: 'Figtree-SemiBold' !important;
    font-size: 14px;
    color: #222222;
    transition: background 0.2s, color 0.2s;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    white-space: nowrap;
}
.plan-toggle-btn:hover {
    color: var(--fh-ink);
}
.plan-toggle-btn.is-active {
    background: #0649ED;
    color: #FFF;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12);
}
.plan-toggle-save {
    display: inline-flex;
    align-items: center;
    padding: 2px 8px;
    background: #2D8C44;
    color: #fff;
    border-radius: 999px;
    font-family: 'Figtree-SemiBold';
    font-size: 11px;
}
.plan-toggle-btn.is-active .plan-toggle-save {
    background: #E1F7E6;
    color: #2D8C44;
}
.justify-content-right {
    justify-content: right;
}
.pricing-plan-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    align-items: stretch;
    width: 100%;
}
.pricing-plan-grid--3 {
    grid-template-columns: repeat(3, 1fr);
    margin: 0 auto;
}
.plan-card {
    position: relative;
    display: flex;
    flex-direction: column;
    background: var(--fh-surface);
    border: 1px solid var(--fh-line);
    border-radius: var(--fh-radius-lg);
    padding: 32px 28px;
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}
.plan-card:hover {
    border-color: var(--fh-brand-200);
    box-shadow: var(--fh-shadow-md);
}
.plan-card--featured {
    border: 2px solid #0649ED;
    border-color: #0649ED;
    transform: translateY(-8px);
    box-shadow: var(--fh-shadow-lg);
    background-color: #ebf3fe;
}
.plan-card--featured:hover {
    box-shadow: var(--fh-shadow-lg);
    transform: translateY(-10px);
    border-color: #0649ED;
}
.plan-card-ribbon {
    position: absolute;
    top: -14px;
    left: 24px;
    display: inline-flex;
    align-items: center;
    padding: 6px 14px;
    border-radius: 999px;
    font-family: 'Figtree-Bold' !important;
    font-size: 11px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}
.plan-card-ribbon--free {
    color: #2D8C44;
    background-color: #E1F7E6;
    border: 1px solid #2D8C44;
}
.plan-card-ribbon--popular {
    background: var(--fh-pink);
    color: #FFFFFF;
    padding: 6px 14px;
}
.plan-card-eyebrow {
    display: inline-block;
    font-family: 'Figtree-SemiBold' !important;
    font-size: 12px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--fh-ink-muted);
    margin-bottom: 12px;
}
.plan-card-name {
    color: var(--fh-ink);
    font-family: 'Figtree-Bold' !important;
    font-size: 34px;
    line-height: 1.1;
    letter-spacing: -0.01em;
    margin: 0 0 12px;
}
.plan-card-tag {
    color: var(--fh-ink-soft);
    font-family: 'Figtree-Regular';
    font-size: 16px;
    line-height: 1.5;
    margin: 0 0 32px;
    min-height: 66px;
}
.plan-card-price {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 4px;
}
.plan-card-amount {
    color: var(--fh-ink);
    font-family: 'Figtree-Bold' !important;
    font-size: 40px;
    letter-spacing: -0.02em;
    line-height: 1;
}
.plan-card-per {
    color: var(--fh-ink-muted);
    font-family: 'Figtree-Regular';
    font-size: 16px;
}
.plan-card-limit {
    color: var(--fh-ink);
    font-family: 'Figtree-SemiBold';
    font-size: 16px;
    margin: 6px 0 4px;
}
.plan-card-note {
    color: var(--fh-ink-muted);
    font-family: 'Figtree-Regular';
    font-size: 14px;
    margin: 0;
    min-height: 18px;
}
.plan-card-cta {
    margin-top: 20px;
    margin-bottom: 8px;
}
.plan-card-details {
    min-height: 72px;
}
/* ---- Plan buttons ---- */
.plan-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding: 12px 20px;
    border-radius: var(--fh-radius-sm);
    font-family: 'Figtree-SemiBold' !important;
    font-size: 18px;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
    transition: background 0.2s, color 0.2s, border-color 0.2s, transform 0.08s;
    cursor: pointer;
    border: 1.5px solid transparent;
}
.plan-btn:active {
    transform: translateY(1px);
}
.plan-btn--outline {
    background: var(--fh-surface);
    color: var(--fh-ink);
    border-color: var(--fh-line);
}
.plan-btn--outline:hover {
    background: var(--fh-surface-alt);
    color: var(--fh-ink);
    border-color: var(--fh-ink);
}
.plan-btn--solid {
    background: var(--fh-brand);
    color: #FFF;
    border-color: var(--fh-brand);
}
.plan-btn--solid:hover {
    background: var(--fh-brand-dark);
    border-color: var(--fh-brand-dark);
    color: #FFF;
}
/* Free-plan button — visually distinct from the three blue paid-plan buttons */
.plan-btn--free {
    color: #FFF;
    background: #F59E0B;
    border-color: #F59E0B;
}
.plan-btn--free:hover {
    background: #D97706;
    border-color: #D97706;
    color: #FFF;
}
/* CTA primary — Pomegranate Red, pops against dark Primary Blue bg */
.plan-btn--cta-primary {
    background: var(--fh-accent);
    color: #FFFFFF;
    border-color: var(--fh-accent);
}
.plan-btn--cta-primary:hover {
    background: #eb2b0b; /* Pomegranate 600 */
    border-color: #eb2b0b;
    color: #FFFFFF;
    box-shadow: 0 6px 16px rgba(250, 70, 22, 0.35);
}
.plan-btn--ghost {
    background: transparent;
    color: #FFF;
    border-color: rgba(255, 255, 255, 0.35);
}
.plan-btn--ghost:hover {
    background: rgba(255, 255, 255, 0.08);
    color: #FFF;
    border-color: rgba(255, 255, 255, 0.7);
}
.plan-btn--lg {
    width: auto;
    padding: 14px 28px;
    font-size: 16px;
}
/* ---- Feature list (with check marks) ---- */
.plan-card-features {
    border-top: 1px solid var(--fh-line);
    padding-top: 22px;
    margin-top: 6px;
    flex: 1;
}
.plan-card--featured .plan-card-features {
    border-top-color: #D1D5DB;
}
.plan-card-features-title {
    color: var(--fh-ink);
    font-family: 'Figtree-SemiBold' !important;
    font-size: 14px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    margin: 0 0 16px;
}
.plan-feature-group-title {
    color: var(--fh-ink);
    font-family: 'Figtree-SemiBold' !important;
    font-size: 14px;
    margin: 14px 0 8px;
}
.plan-card--featured .plan-feature-group-title {
    color: #FFF;
}
.plan-feature-list {
    list-style: none;
    padding: 0;
    margin: 0 0 4px;
}
.plan-feature-list li {
    position: relative;
    padding: 6px 0 6px 28px;
    color: var(--fh-ink-soft);
    font-family: 'Figtree-Regular';
    font-size: 16px;
    line-height: 1.5;
}
.plan-feature-list li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 9px;
    width: 18px;
    height: 18px;
    background-image: url('data:image/svg+xml,<svg width="45" height="45" viewBox="0 0 45 45" fill="none" xmlns="http://www.w3.org/2000/svg"><mask id="mask0_17_348" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="45" height="45"><rect width="45" height="45" fill="%23D9D9D9"/></mask><g mask="url(%23mask0_17_348)"><path d="M19.875 31.125L33.0937 17.9062L30.4687 15.2812L19.875 25.875L14.5312 20.5312L11.9062 23.1562L19.875 31.125ZM22.5 41.25C19.9062 41.25 17.4687 40.7578 15.1875 39.7734C12.9062 38.789 10.9219 37.4531 9.23437 35.7656C7.54687 34.0781 6.21094 32.0937 5.22656 29.8125C4.24219 27.5312 3.75 25.0937 3.75 22.5C3.75 19.9062 4.24219 17.4687 5.22656 15.1875C6.21094 12.9062 7.54687 10.9218 9.23437 9.23434C10.9219 7.54684 12.9062 6.21091 15.1875 5.22653C17.4687 4.24216 19.9062 3.74997 22.5 3.74997C25.0937 3.74997 27.5312 4.24216 29.8125 5.22653C32.0937 6.21091 34.0781 7.54684 35.7656 9.23434C37.4531 10.9218 38.7891 12.9062 39.7734 15.1875C40.7578 17.4687 41.25 19.9062 41.25 22.5C41.25 25.0937 40.7578 27.5312 39.7734 29.8125C38.7891 32.0937 37.4531 34.0781 35.7656 35.7656C34.0781 37.4531 32.0937 38.789 29.8125 39.7734C27.5312 40.7578 25.0937 41.25 22.5 41.25Z" fill="%233BA755"/></g></svg>');
    background-repeat: no-repeat;
    background-position: center;
    background-size: 18px;
}
.need-diff-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
}
.need-diff-card {
    background: var(--fh-surface);
    border: 1px solid var(--fh-line);
    border-radius: var(--fh-radius-lg);
    padding: 36px 32px;
    position: relative;
    overflow: hidden;
    transition: border-color 0.2s, box-shadow 0.2s;
}
.need-diff-card:hover {
    border-color: var(--fh-brand-200);
    box-shadow: var(--fh-shadow-md);
}
.need-diff-card::before {
    content: '';
    position: absolute;
    top: -60px;
    right: -60px;
    width: 200px;
    height: 200px;
    background: radial-gradient(closest-side, rgba(6, 73, 237, 0.07), transparent);
    pointer-events: none;
}
.need-diff-card:nth-child(even)::before {
    background: radial-gradient(closest-side, rgba(59, 167, 85, 0.07), transparent);
}
.plan-link-arrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 16px;
    background: var(--fh-surface);
    border: 1px solid #0649ED;
    border-radius: var(--fh-radius-sm);
    color: #0649ED;
    font-family: 'Figtree-SemiBold' !important;
    font-size: 18px;
    text-decoration: none;
    transition: background 0.2s, border-color 0.2s;
}
.plan-link-arrow:hover {
    background: #EBF3FE;
    border-color: #0649ED;
    color: #0649ED;
}
.addons-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}
.addon-card {
    background: var(--fh-surface);
    border: 1px solid var(--fh-line);
    border-radius: var(--fh-radius-md);
    padding: 24px;
    transition: transform 0.3s cubic-bezier(0.22, 1, 0.36, 1),
                border-color 0.25s, box-shadow 0.25s;
}
.addon-card:hover {
    transform: translateY(-4px);
    border-color: var(--fh-brand-200);
    box-shadow: var(--fh-shadow-md);
}
.addon-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.addon-icon svg {
    display: block;
    width: 60px;
    height: 60px;
}
.addon-name {
    color: var(--fh-ink);
    font-family: 'Figtree-Bold' !important;
    font-size: 20px;
    margin: 0 0 10px;
}
.addon-desc {
    color: var(--fh-ink-soft);
    font-family: 'Figtree-Regular';
    font-size: 18px;
    line-height: 1.6;
    margin: 0;
}

.compare-table-wrap {
    background: var(--fh-surface);
    border: 1px solid var(--fh-line);
    border-radius: var(--fh-radius-md);
    overflow: hidden;
}
.compare-table {
    width: 100%;
    border-collapse: collapse;
    font-family: 'Figtree-Regular';
}
.compare-table thead th {
    background: var(--fh-surface-alt);
    color: var(--fh-ink);
    font-family: 'Figtree-Bold' !important;
    font-size: 17px;
    padding: 10px 18px;
    text-align: center;
    border-bottom: 1px solid var(--fh-line);
}
.compare-table thead th:first-child {
    text-align: left;
    font-size: 14px;
    font-family: 'Figtree-SemiBold' !important;
    color: var(--fh-ink-muted);
    letter-spacing: 0.04em;
    text-transform: uppercase;
}
.compare-table tbody th {
    text-align: left;
    font-family: 'Figtree-SemiBold';
    color: var(--fh-ink);
    font-size: 15px;
    padding: 10px 18px;
    font-weight: normal;
}
.compare-table tbody td {
    text-align: center;
    padding: 10px 18px;
    color: var(--fh-ink-soft);
    font-size: 15px;
}
.compare-table tbody tr {
    border-top: 1px solid #E5E7EB;
}
.compare-plan-point {
    font-family: 'Figtree-Regular' !important;
}
.cmp-yes {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--fh-success);
    font-family: 'Figtree-Bold';
    font-size: 18px;
    line-height: 1;
}
.cmp-no {
    color: var(--fh-ink-muted);
    font-size: 14px;
}
/* Appreciation */
.appreciation-awards-img {
    margin-top: 24px;
}
/* Testimonials (refined) */
.new-home-sec.bg-blue {
    background: #E6F0FF;
}
.new-video-iframe-box {
    position: relative;
    z-index: 998;
    width: 100%;
    padding-bottom: 56.15%;
    background-color: #000;
    border-radius: 10px;
    overflow: hidden;
}
.new-video-iframe {
    z-index: 1000;
    position: absolute;
    -webkit-position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    background-color: #000;
}
.testimonial-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
}
.testimonial-grid .testimonial-card:nth-child(3) {
    grid-column: span 2;
    max-width: 620px;
    margin: 0 auto;
    width: 100%;
}
.testimonial-card {
    display: flex;
    gap: 24px;
    align-items: center;
    background: var(--fh-surface);
    border: 1px solid var(--fh-line);
    border-radius: var(--fh-radius-md);
    padding: 28px;
    transition: border-color 0.2s, box-shadow 0.2s;
}
.testimonial-card:hover {
    border-color: var(--fh-brand-200);
    box-shadow: var(--fh-shadow-md);
}
.testimonial-card-body {
    flex: 1;
}
.testimonial-company {
    color: var(--fh-brand);
    font-family: 'Figtree-SemiBold' !important;
    font-size: 15px;
    margin: 0 0 10px;
}
.testimonial-quote {
    color: var(--fh-ink-soft);
    font-family: 'Figtree-Regular';
    font-size: 15px;
    line-height: 1.55;
    margin: 0 0 14px;
}
.testimonial-card-person {
    flex: 0 0 120px;
    text-align: center;
}
.testimonial-card-person img {
    width: 120px;
    height: 120px;
    border-radius: 50%;
    object-fit: cover;
    margin: 0 auto 10px;
    display: block;
}
.testimonial-person-name {
    color: var(--fh-ink);
    font-family: 'Figtree-SemiBold' !important;
    font-size: 14px;
    margin: 0;
}
.testimonial-new-boxes {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    padding: 48px 0px 0px;
}
.testimonial-new-boxes .w-col-6{
    padding: 24px 12px 0px;
}
.testimonial-box-sing{
    width: 100%;
    padding: 35px 5px;  
    display: flex;
    flex-wrap: wrap;
    height: 100%;
}
.testimonial-box-left{
    width: 50%;
    padding: 0px 30px;
    position: relative;
    border-right: 1px solid #D8D8D8;
}
.testimonial-box-left .btn-main{
    position: absolute;
    bottom: 0px;
    left: 30px;
}
.testimonial-box-sing.bg-none {
    box-shadow: none !important;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}
.testimonial-box-sing.bg-none .btn-main {
    position: relative;
    left: 0;
    margin-top: 40px;
}
.box-shadow-box {
    border-radius: 8px;
    background: #FFF;
    box-shadow: 0px 0px 10px 2px rgba(0, 0, 0, 0.10);
}
.testimonial-box-sing .new-btn-outline.bg-none {
    padding: 0;
    line-height: normal;
}
.testimonial-new-boxes .col-lg-6 {
    padding: 24px 12px 0px;
}
/* FAQ — matches 'New' design HTML (plain '+' that rotates 45° on open) */
.faq-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    align-items: start; /* columns size to their own content, not sibling */
}
.faq-column {
    display: flex;
    flex-direction: column;
    gap: 16px;
    min-width: 0;
}
.faq-item {
    background: var(--fh-surface);
    border: 1px solid var(--fh-line);
    border-radius: 14px;
    padding: 20px 24px;
    transition: border-color 0.2s;
}
.faq-item[open] {
    border-color: var(--fh-ink);
}
.faq-question {
    list-style: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    font-family: 'Figtree-SemiBold' !important;
    font-size: 18px;
    color: var(--fh-ink);
}
.faq-question::-webkit-details-marker {
    display: none;
}
.faq-question::after {
    content: '+';
    font-size: 22px;
    font-weight: 400;
    color: var(--fh-ink-soft);
    transition: transform 0.2s;
    line-height: 1;
}
.faq-item[open] .faq-question::after {
    transform: rotate(45deg);
}
.faq-item > p {
    margin: 14px 0 0;
    color: var(--fh-ink-soft);
    font-family: 'Figtree-Regular';
    font-size: 16px;
    line-height: 1.6;
}
/* Billed-quarterly line under price note */
.plan-card-billed {
    display: inline-block;
    margin-top: 2px;
    color: var(--fh-ink-muted);
    font-family: 'Figtree-Regular';
    font-size: 14px;
}
/* RTL support (preserved from current design) */
[dir="rtl"] .plan-card-ribbon { left: auto; right: 24px; }
[dir="rtl"] .plan-feature-list li { padding: 6px 28px 6px 0; }
[dir="rtl"] .plan-feature-list li::before { left: auto; right: 0; }
[dir="rtl"] .testimonial-card { direction: rtl; }

/* ---- Keyframes ---- */
@keyframes fhFadeUp {
    from { opacity: 0; transform: translate3d(0, 24px, 0); }
    to   { opacity: 1; transform: translate3d(0, 0, 0); }
}
@keyframes fhFadeIn {
    from { opacity: 0; }
    to   { opacity: 1; }
}
@keyframes fhRibbonShine {
    0%   { background-position: -100px 0; }
    40%  { background-position: 200px 0; }
    100% { background-position: 200px 0; }
}
@keyframes fhDotPulse {
    0%, 100% { transform: scale(1); opacity: 1; }
    50%      { transform: scale(1.35); opacity: 0.7; }
}
@keyframes fhFloat {
    0%, 100% { transform: translateY(0); }
    50%      { transform: translateY(-6px); }
}

/* ---- Scroll-reveal base (no motion until observed) ---- */
[data-reveal] {
    opacity: 0;
    transform: translate3d(0, 24px, 0);
    transition: opacity 0.7s cubic-bezier(0.22, 1, 0.36, 1),
                transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
    will-change: opacity, transform;
}
[data-reveal].is-revealed {
    opacity: 1;
    transform: translate3d(0, 0, 0);
}

/* Stagger containers — children animate in sequence */
[data-reveal-stagger] > * {
    opacity: 0;
    transform: translate3d(0, 20px, 0);
    transition: opacity 0.6s cubic-bezier(0.22, 1, 0.36, 1),
                transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
    will-change: opacity, transform;
}
[data-reveal-stagger].is-revealed > * {
    opacity: 1;
    transform: translate3d(0, 0, 0);
}
[data-reveal-stagger].is-revealed > *:nth-child(1) { transition-delay: 0.00s; }
[data-reveal-stagger].is-revealed > *:nth-child(2) { transition-delay: 0.08s; }
[data-reveal-stagger].is-revealed > *:nth-child(3) { transition-delay: 0.16s; }
[data-reveal-stagger].is-revealed > *:nth-child(4) { transition-delay: 0.24s; }
[data-reveal-stagger].is-revealed > *:nth-child(5) { transition-delay: 0.32s; }
[data-reveal-stagger].is-revealed > *:nth-child(6) { transition-delay: 0.40s; }
/* ---- Hero element animations (run on page load) ---- */
.plan-hero-badge   { animation: fhFadeUp 0.8s cubic-bezier(0.22, 1, 0.36, 1) both; }
.plan-hero-title   { animation: fhFadeUp 0.9s 0.1s cubic-bezier(0.22, 1, 0.36, 1) both; }
.plan-hero-subtitle{ animation: fhFadeUp 0.9s 0.25s cubic-bezier(0.22, 1, 0.36, 1) both; }
.plan-toggles      { animation: fhFadeUp 0.9s 0.4s cubic-bezier(0.22, 1, 0.36, 1) both; }
.plan-hero-dot     { animation: fhDotPulse 2s ease-in-out infinite; }
/* ---- Plan card hover lift ---- */
.plan-card {
    transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1),
                box-shadow 0.35s cubic-bezier(0.22, 1, 0.36, 1),
                border-color 0.25s;
}
.plan-card:not(.plan-card--featured):hover {
    transform: translateY(-6px);
    box-shadow: var(--fh-shadow-md);
}
/* ---- "Most Popular" ribbon shine ---- */
.plan-card-ribbon--popular {
    animation: fhRibbonShine 3s ease-in-out infinite;
    background-color: #DCE7FE;
    color: #0632DA;
    border: 1px solid #0632DA;
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    vertical-align: baseline;
}
.compare-table tbody tr {
    transition: background 0.2s;
}
/*New Modal*/
.new-modal-listicle .modal-dialog {
    max-width: 940px;
}
.new-modal-listicle .modal-content {
    border-radius: 8px;
}
.new-modal-listicle .modal-body {
    border: 0px;
    position: relative;
    z-index: 998;
    width: 100%;
    padding: 40px 20px;
    border-radius: 10px;
    background-color: #fff;
}
.new-modal-listicle .close {
    right: 0;
    top: 0;
    cursor: pointer;
    position: absolute;
    z-index: 1000;
    text-align: center;
    font-size: 24px;
    background-color: transparent;
    line-height: 25px;
    color: #222;
    padding: 10px 15px;
    margin: 0;
}
.new-modal-listicle .gform_wrapper.gravity-theme .gform_validation_errors>h2 .gform-icon {
    align-items: center;
    display: flex;
    font-size: 28px;
    height: 100%;
    inset-inline-start: 12px;
    position: absolute;
    inset-block-start: 0;
}
@media (min-width: 992px) {
    .justify-content-lg-start {
        -ms-flex-pack: start!important;
        justify-content: flex-start!important
    }
}

/* Responsive */
@media screen and (max-width: 1200px) {
    .plan-card-tag { min-height: 96px; }
    .plan-card-details { min-height: 92px; }
    .pricing-plan-grid { gap: 16px; }
    .plan-card { padding:24px; }
    .plan-card-name { font-size: 30px; }
    .plan-card-amount { font-size: 34px; }
    .plan-section-title, .plan-cta-title { font-size: 34px; }
    .addon-card { padding: 20px; }
    .testimonial-box-left{padding: 0 15px;}
    .testimonial-box-left .new-tit-h5{font-size: 17px;}
    .testimonial-box-left .btn-main{left: 15px;}
}
@media screen and (max-width: 991px) {
    .plan-card-head {text-align: center; }
    .plan-section-tight { padding: 56px 0; }
    .plan-hero {padding: 40px 0;}
    .plan-hero-title em { padding-right: 10px; }
    .plan-hero-title br { display: none; }
    .plan-hero-subtitle { font-size: 16px; }
    .pricing-plan-grid,
    .pricing-plan-grid--3 {
        grid-template-columns: repeat(2, 1fr);
    }
    .plan-card--featured { transform: none; }
    .plan-card--featured:hover { transform: translateY(-2px); }
    .need-diff-grid { grid-template-columns: 1fr; gap: 16px; }
    .addons-grid { grid-template-columns: repeat(2, 1fr); }
    .testimonial-grid { grid-template-columns: 1fr; }
    .testimonial-grid .testimonial-card:nth-child(3) { grid-column: auto; }
    .faq-grid { grid-template-columns: 1fr; }
    .compare-table thead th,
    .compare-table tbody th,
    .compare-table tbody td { padding: 10px 14px;}
    .compare-table tbody th.compare-plan-point.pl-4 {padding-left: 20px !important;}
    .new-modal-listicle .modal-body{padding: 30px 20px 20px;}
    .compare-table thead th { font-size: 14px; }
    .plan-cta-inner {
        padding: 48px 32px;
        flex-direction: column;
        text-align: center;
        gap: 24px;
    }
    .plan-cta-title { font-size: 30px; }
    .plan-cta-desc { margin-left: auto; margin-right: auto; }
    .plan-cta-actions { justify-content: center; }
    .plan-cta-visual {
        order: -1;
        margin: 0;
        align-self: center;
    }
    .plan-cta-visual img { width: 140px; }
    .testimonial-new-boxes{padding: 28px 0px 0px;}
    .testimonial-new-boxes .w-col-6{width: 100%;}
    .testimonial-box-sing {padding: 30px 5px;}
    .testimonial-box-left.pb-72 {padding-bottom: 60px !important;}
    .testimonial-box-left .new-tit-h5{font-size: 18px;}
    .testimonial-box-sing.bg-none{justify-content: center;padding: 35px 0 0;text-align: center;}
    .testimonial-box-sing.bg-none .btn-main{margin-top: 24px;justify-content: center;}
    .testimonial-new-boxes .col-lg-6 {padding: 24px 0 0;}
    /*Modal New CSS*/
    .new-modal-listicle .modal-dialog{max-width: 94%;}
    .new-modal-listicle .modal-new-body{padding: 30px 10px;}
    .plan-card-ribbon{padding: 3px 14px 0;top: -12px;left: 20px;}
    .plan-card{border-radius: var(--fh-radius-md);}
    .plan-card-tag, .plan-card-details{min-height: 75px;margin: 0 0 24px;}
    .plan-card-price{justify-content: center;}
    .plan-card-features-title{letter-spacing: 0.05em;margin: 0 0 10px;}
    .need-diff-card{border-radius: var(--fh-radius-md);padding: 24px;}
    .faq-item{padding: 20px;border-radius: 8px;}
    .compare-table-wrap{border-radius: var(--fh-radius-sm);}
    .faq-item > p {margin: 10px 0 0;}
}
@media screen and (max-width: 767px) {    
    .plan-section-tight { padding: 40px 0; }
    .plan-hero-subtitle { margin-bottom: 24px; }
    .plan-section-title { font-size: 28px; }
    .section-head {
        max-width: 100%;
        margin: 0 auto 30px;
        padding: 0;
    }
    .plan-toggles { gap: 10px; flex-direction: column; }
    .plan-toggle-btn { font-size: 13px; padding: 7px 14px; }
    .pricing-plan-grid,
    .pricing-plan-grid--3 {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    .plan-card { padding: 28px 22px; }
    .plan-card-tag { min-height: auto; }
    .plan-card-ribbon {
        left: 0;
        right: 0;
        margin: 0 auto;
        max-width: max-content;
    }
    .plan-card-price { justify-content: center; }
    .plan-card-details { min-height: auto;}
    .plan-btn { width: auto;}
    .need-diff-name { font-size: 24px; }
    /* .addon-icon {max-width: 50px; max-height: 50px;} */
    .new-tit-h2 { text-align: center; }
    .btn-main { justify-content: center; }
    .new-video-iframe-box { margin-top: 40px; }
    .align-items-center.pt-48 { padding-top: 24px !important; padding-bottom: 24px !important; }
    .addons-grid { grid-template-columns: 1fr; }
    .need-diff-card { padding: 28px 22px; }
    
    .testimonial-card { flex-direction: column-reverse; text-align: center; gap: 16px; }
    .testimonial-card-person { flex: 0 0 auto; }
    .testimonial-card-person img { width: 88px; height: 88px; }
    .plan-cta-inner { padding: 44px 20px; }
    .plan-cta-title { font-size: 26px; }
    .plan-cta-desc { font-size: 15px; }
    .plan-btn--lg { width: auto; padding: 12px 22px; font-size: 15px; }
    .plan-cta-actions { flex-direction: column; width: 100%; }
    .plan-cta-actions .plan-btn--lg { width: 100%; }
    .testimonial-new-boxes .w-col-6 {padding: 10px 0px 20px;}
    .testimonial-box-sing {padding: 24px 30px 30px;text-align: center;flex-wrap: wrap-reverse;}
    .testimonial-box-left{border-right: 0px !important;width: 100%;}
    .testimonial-box-left .btn-main{margin-top: 10px;position: unset;justify-content: center;}
    .testimonial-box-left{padding: 10px 0px 0px !important;}
    .testimonial-box-left{padding: 0px !important;}
    .testimonial-box-left.pb-72{padding-bottom: 0px !important;}
    .testimonial-box-left>img{margin: 0px auto;}
    .new-tit-h5.blue-text.mb-16{line-height: 1.2;}
    .testimonial-new-boxes{padding: 24px 0px 0px;}
    .testimonial-box-sing.bg-none{padding: 20px 0 0;}
    /*Modal New CSS*/
    .new-modal-listicle .close{position: unset;padding: 5px 10px;}
    .new-modal-listicle .modal-body{padding: 0 15px;}
    .new-modal-listicle .modal-header {justify-content: flex-end;}
    .plan-hero-badge{padding: 4px 12px;}
    section#Pricing_Plan.plan-section-tight {padding: 10px 0 40px;}
    .plan-card-name{font-size: 28px;}
    .plan-card-tag, .plan-card-details{margin: 0 0 20px;}
    .btn-main.pt-48 {padding-top: 30px !important;}
    .new-modal-listicle .modal-body {max-height: calc(100vh - 90px);overflow: auto;}
    .compare-table-wrap {max-height: 310px;overflow: auto;}
    .compare-table thead{position: sticky;top: 0;}
    .compare-table thead::after {
        position: absolute;
        content: '';
        border-bottom: 1px solid #E5E7EB;
        bottom: 0;
        left: 0;
        width: 100%;
    }
    .compare-table tbody tr:first-child {border-top: 0;}
    .compare-table thead th, .compare-table tbody th, .compare-table tbody td{padding: 10px 14px !important;}
    .compare-table tbody th.compare-plan-point.pl-4 {padding-left: 14px !important;}
    .faq-item {padding: 10px 14px;}
    .faq-question{gap: 10px;font-size: 16px;}
    .faq-column, .faq-grid{gap: 10px;}
    .faq-item > p {margin: 5px 0 0;}
    .plan-card-features{padding-top: 16px;}
}
@media screen and (max-width: 575px) {
    .testimonial-new-boxes .col-lg-6{padding: 24px 15px 0;}
}
@media screen and (max-width: 480px) {
    .plan-hero {padding-bottom: 40px;}
    .plan-hero-subtitle {font-size: 18px; margin-bottom: 0px;}
    .plan-card-name {font-size: 26px; }
    .plan-card-amount {font-size: 32px; }
    .plan-section-title {font-size: 24px; }
    .plan-cta-title {font-size: 22px; }
    .compare-table tbody td {padding-left: 50%; }
    .addon-icon svg {width: 50px; height: 50px; }
    .plan-toggles {margin-top: 16px;}
}
