.org-offers-v2 {
    min-height: 70vh;
    overflow: hidden;
    background: #f8faf8;
    color: #24342b;
}

.oov2-kicker {
    margin: 0 0 .55rem;
    color: #778f80;
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.oov2-hero {
    overflow: hidden;
    border-bottom: 1px solid rgb(46 68 56 / .08);
    background:
        radial-gradient(circle at 84% 12%, rgb(237 205 196 / .42), transparent 23rem),
        radial-gradient(circle at 72% 80%, rgb(164 183 171 / .24), transparent 22rem),
        #fff;
    padding: clamp(3rem, 8vw, 6rem) 0;
}

.oov2-hero__grid,
.oov2-showcase__grid {
    display: grid;
    gap: clamp(2rem, 6vw, 4.5rem);
    align-items: center;
}

.oov2-back {
    display: inline-block;
    margin-bottom: 1.2rem;
    color: #6f7f75;
    font-size: .78rem;
    font-weight: 850;
    text-decoration: none;
}

.oov2-back:hover {
    text-decoration: underline;
}

.oov2-hero h1 {
    max-width: 13ch;
    margin: 0;
    font-size: clamp(2.3rem, 6vw, 5rem);
    line-height: .98;
    letter-spacing: -.055em;
}

.oov2-hero__lead {
    max-width: 43rem;
    margin: 1rem 0 0;
    color: #66776d;
    font-size: clamp(1rem, 1.8vw, 1.08rem);
    line-height: 1.7;
}

.oov2-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: .7rem;
    margin-top: 1.4rem;
}

.oov2-button {
    min-height: 2.95rem;
    border-radius: .78rem;
    padding: .66rem .95rem;
    font-size: .82rem;
    font-weight: 850;
}

.oov2-button--primary {
    border: 1px solid #2e4438;
    background: #2e4438;
    color: #fff;
}

.oov2-button--primary:hover,
.oov2-button--primary:focus {
    border-color: #435b4d;
    background: #435b4d;
    color: #fff;
}

.oov2-button--soft {
    border: 1px solid #d3ddd7;
    background: rgb(255 255 255 / .85);
    color: #52675b;
}

.oov2-button--soft:hover,
.oov2-button--soft:focus {
    border-color: #b4c4b9;
    background: #fff;
    color: #2e4438;
}

.oov2-hero__chips {
    display: flex;
    flex-wrap: wrap;
    gap: .4rem;
    margin-top: 1rem;
}

.oov2-hero__chips span {
    border: 1px solid #dfe6e1;
    border-radius: 999px;
    background: rgb(255 255 255 / .74);
    padding: .35rem .6rem;
    color: #738178;
    font-size: .68rem;
    font-weight: 850;
}

.oov2-hero__visual {
    position: relative;
    width: min(100%, 33rem);
    min-height: 31rem;
    margin-inline: auto;
}

.oov2-photo {
    position: absolute;
    overflow: hidden;
    border-radius: 1.25rem;
    background: #dfe9e3;
    box-shadow: 0 26px 66px rgb(46 68 56 / .12);
}

.oov2-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.oov2-photo--main {
    inset: 0 4.8rem 2.2rem 0;
    transform: rotate(-2deg);
}

.oov2-photo--second {
    right: 0;
    bottom: 0;
    width: 42%;
    height: 42%;
    border: .34rem solid rgb(255 255 255 / .9);
    transform: rotate(4deg);
}

.oov2-floating-card {
    position: absolute;
    z-index: 2;
    display: grid;
    gap: .14rem;
    max-width: 12.5rem;
    border: 1px solid rgb(255 255 255 / .84);
    border-radius: .95rem;
    background: rgb(255 255 255 / .92);
    padding: .72rem .82rem;
    color: #839188;
    font-size: .64rem;
    font-weight: 800;
    box-shadow: 0 14px 34px rgb(46 68 56 / .12);
    backdrop-filter: blur(10px);
}

.oov2-floating-card strong {
    color: #435b4d;
    font-size: .76rem;
    line-height: 1.35;
}

.oov2-floating-card--one {
    top: .6rem;
    right: .2rem;
    animation: oov2Float 6s ease-in-out infinite;
}

.oov2-floating-card--two {
    left: .5rem;
    bottom: .3rem;
    animation: oov2Float 6.5s ease-in-out infinite 1s;
}

.oov2-benefits,
.oov2-showcase,
.oov2-pricing {
    padding: clamp(4rem, 8vw, 7rem) 0;
}

.oov2-heading {
    max-width: 45rem;
}

.oov2-heading h2,
.oov2-showcase__copy h2,
.oov2-pricing__head h2 {
    margin: 0;
    color: #24342b;
    font-size: clamp(1.95rem, 4.8vw, 3.5rem);
    line-height: 1.04;
    letter-spacing: -.045em;
}

.oov2-benefits__grid {
    display: grid;
    gap: .85rem;
    margin-top: clamp(1.8rem, 4vw, 2.6rem);
}

.oov2-benefits__grid article {
    border: 1px solid #dfe6e1;
    border-radius: 1rem;
    background: #fff;
    padding: 1.05rem;
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.oov2-benefits__grid article:hover {
    border-color: #bccac1;
    transform: translateY(-4px);
    box-shadow: 0 15px 35px rgb(46 68 56 / .07);
}

.oov2-icon {
    display: grid;
    width: 2.9rem;
    height: 2.9rem;
    place-items: center;
    border-radius: .9rem;
    background: linear-gradient(145deg, #edf3ef, #f7ece8);
    color: #435b4d;
}

.oov2-icon svg {
    width: 1.2rem;
    height: 1.2rem;
}

.oov2-benefits__grid h3 {
    margin: .8rem 0 .35rem;
    font-size: .96rem;
}

.oov2-benefits__grid p {
    margin: 0;
    color: #77847c;
    font-size: .81rem;
    line-height: 1.58;
}

.oov2-showcase {
    background: #fff;
}

.oov2-showcase__visual {
    width: min(100%, 28rem);
    margin-inline: auto;
}

.oov2-showcase__visual img {
    display: block;
    width: 100%;
    max-height: 32rem;
    border-radius: 1.15rem;
    object-fit: cover;
    box-shadow: 0 24px 60px rgb(46 68 56 / .1);
}

.oov2-checks {
    display: grid;
    gap: .7rem;
    margin-top: 1.3rem;
}

.oov2-checks article {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: .8rem;
    align-items: start;
    border-top: 1px solid #e1e8e3;
    padding-top: .8rem;
}

.oov2-checks strong {
    display: grid;
    width: 2.2rem;
    height: 2.2rem;
    place-items: center;
    border-radius: 50%;
    background: #edf3ef;
    color: #435b4d;
    font-size: .7rem;
}

.oov2-checks h3 {
    margin: 0;
    color: #2e4438;
    font-size: .92rem;
}

.oov2-checks p {
    margin: .25rem 0 0;
    color: #76847b;
    font-size: .82rem;
    line-height: 1.55;
}

.oov2-pricing__head {
    display: grid;
    gap: 1rem;
    align-items: end;
}

.oov2-billing {
    display: inline-flex;
    width: fit-content;
    border: 1px solid #dce4df;
    border-radius: .8rem;
    background: #f4f7f5;
    padding: .24rem;
}

.oov2-billing button {
    min-height: 2.45rem;
    border: 0;
    border-radius: .6rem;
    background: transparent;
    padding: .46rem .82rem;
    color: #6a7a70;
    font-size: .76rem;
    font-weight: 850;
}

.oov2-billing button.is-active {
    background: #2e4438;
    color: #fff;
    box-shadow: 0 5px 16px rgb(46 68 56 / .16);
}

.oov2-plan-grid {
    display: grid;
    gap: .85rem;
    margin-top: clamp(2rem, 5vw, 2.8rem);
}

.oov2-plan {
    position: relative;
    display: flex;
    min-width: 0;
    flex-direction: column;
    border: 1px solid #dfe6e1;
    border-radius: 1rem;
    background: #fff;
    padding: 1.05rem;
    box-shadow: 0 8px 24px rgb(46 68 56 / .045);
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.oov2-plan:hover {
    border-color: #b8c7bd;
    transform: translateY(-4px);
    box-shadow: 0 16px 38px rgb(46 68 56 / .09);
}

.oov2-plan.is-featured {
    border-color: #8ca397;
    box-shadow: 0 18px 42px rgb(46 68 56 / .1);
}

.oov2-plan__flag {
    position: absolute;
    top: 0;
    right: .9rem;
    transform: translateY(-50%);
    border-radius: 999px;
    background: #2e4438;
    padding: .34rem .6rem;
    color: #fff;
    font-size: .62rem;
    font-weight: 850;
}

.oov2-plan h3 {
    margin: 0;
    color: #24342b;
    font-size: 1.16rem;
    letter-spacing: -.03em;
}

.oov2-plan__description {
    min-height: 2.8rem;
    margin: .45rem 0 0;
    color: #76847b;
    font-size: .79rem;
    line-height: 1.52;
}

.oov2-plan__price {
    display: flex;
    align-items: baseline;
    gap: .2rem;
    margin-top: .75rem;
}

.oov2-plan__price strong {
    color: #24342b;
    font-size: 2rem;
    line-height: 1;
    letter-spacing: -.045em;
}

.oov2-plan__price span {
    color: #52675b;
    font-size: .84rem;
    font-weight: 850;
}

.oov2-plan > small {
    margin-top: .18rem;
    color: #8b978f;
    font-size: .66rem;
}

.oov2-plan__saving {
    min-height: 1rem;
    margin: .35rem 0 0;
    color: #607967;
    font-size: .65rem;
    font-weight: 850;
}

.oov2-plan__saving.is-empty {
    visibility: hidden;
}

.oov2-plan__trial {
    width: fit-content;
    margin: .75rem 0 0;
    border-radius: .55rem;
    background: #edf3ef;
    padding: .34rem .54rem;
    color: #435b4d;
    font-size: .68rem;
    font-weight: 850;
}

.oov2-plan__features {
    display: grid;
    gap: 0;
    margin: .8rem 0 1rem;
    padding: 0;
    list-style: none;
}

.oov2-plan__features li {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .55rem;
    border-bottom: 1px solid #edf1ee;
    padding: .52rem 0;
}

.oov2-plan__features li span,
.oov2-plan__features li strong {
    font-size: .7rem;
}

.oov2-plan__features li span {
    color: #7b8980;
}

.oov2-plan__features li strong {
    color: #435b4d;
    text-align: right;
}

.oov2-plan__button {
    width: 100%;
    min-height: 2.75rem;
    margin-top: auto;
    border: 1px solid #c8d3cc;
    border-radius: .7rem;
    background: #fff;
    color: #52675b;
    font-size: .78rem;
    font-weight: 850;
}

.oov2-plan__button:hover,
.oov2-plan__button:focus {
    border-color: #b3c2b8;
    background: #edf3ef;
    color: #24342b;
}

.oov2-plan__button.is-primary {
    border-color: #2e4438;
    background: #2e4438;
    color: #fff;
}

.oov2-plan__button.is-primary:hover,
.oov2-plan__button.is-primary:focus {
    border-color: #435b4d;
    background: #435b4d;
    color: #fff;
}

.oov2-pricing__footer {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    margin-top: 1.4rem;
    border-radius: 1rem;
    background: #2e4438;
    padding: 1.2rem;
    color: #fff;
}

.oov2-pricing__footer strong {
    display: block;
    margin-bottom: .35rem;
    font-size: .95rem;
}

.oov2-pricing__footer p {
    max-width: 42rem;
    margin: 0;
    color: rgb(255 255 255 / .73);
    font-size: .82rem;
    line-height: 1.55;
}

.oov2-pricing__footer a {
    width: fit-content;
    border-radius: .7rem;
    background: #fff;
    padding: .65rem .85rem;
    color: #2e4438;
    font-size: .79rem;
    font-weight: 850;
    text-decoration: none;
}

[data-reveal] {
    opacity: 0;
    transition:
        opacity .6s cubic-bezier(.2, .75, .25, 1) var(--delay, 0ms),
        transform .7s cubic-bezier(.2, .75, .25, 1) var(--delay, 0ms);
}

[data-reveal="up"] { transform: translateY(1.8rem); }
[data-reveal="left"] { transform: translateX(-2rem); }
[data-reveal="right"] { transform: translateX(2rem); }

[data-reveal].is-visible {
    opacity: 1;
    transform: none;
}

@keyframes oov2Float {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-7px); }
}

@media (min-width: 48rem) {
    .oov2-benefits__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .oov2-pricing__head {
        grid-template-columns: minmax(0, 1fr) auto;
    }

    .oov2-plan-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .oov2-pricing__footer {
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
    }
}

@media (min-width: 64rem) {
    .oov2-hero__grid,
    .oov2-showcase__grid {
        grid-template-columns: minmax(0, 1.04fr) minmax(22rem, .96fr);
    }

    .oov2-benefits__grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (min-width: 75rem) {
    .oov2-plan-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .oov2-plan.is-featured {
        transform: translateY(-.3rem);
    }
}

@media (max-width: 47.99rem) {
    .oov2-hero__visual {
        min-height: 25rem;
    }

    .oov2-photo--main {
        inset: 0 3.7rem 2rem 0;
    }

    .oov2-photo--second {
        width: 48%;
        height: 38%;
    }
}



.reveal-delay-1 { --delay: 70ms; }
.reveal-delay-2 { --delay: 140ms; }
.reveal-delay-3 { --delay: 210ms; }
.reveal-delay-4 { --delay: 280ms; }
