/* Paket vitrini ve müşterinin abonelik/e-belge çalışma alanı. */
.plans-page {
    --plan-ink: #28234d;
    --plan-muted: #6b6976;
    --plan-line: #dddce3;
    --plan-paper: #fafaff;
    --plan-card: #fff;
    color: var(--plan-ink);
    background: var(--plan-paper);
    padding-bottom: 6rem;
}
.plans-shell {
    width: min(1480px,calc(100% - 112px));
    margin-inline: auto;
}
.plans-intro {
    padding: 6rem 0 2.4rem;
    text-align: center;
}
.plans-page .plans-kicker {
    color: #4a4665;
    font-size: .73rem;
    font-weight: 700;
    letter-spacing: .12em;
    line-height: 1.6;
    margin: 0 0 1.25rem;
}
.plans-dot {
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #5b558c;
    margin-right: 8px;
}
.plans-intro h1 {
    font-size: clamp(2.4rem,4vw,4.5rem);
    line-height: 1.08;
    letter-spacing: -.055em;
    font-weight: 650;
    margin: 0 0 1.4rem;
}
.plans-intro h1 em {
        color: #534e77;
        font-style: normal;
        font-weight: 450;
    }
.plans-lead {
    color: var(--plan-muted);
    font-size: clamp(1rem,1.1vw,1.17rem);
    line-height: 1.7;
    margin: 0;
}
.plans-assurances {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 1.6rem;
    margin: 1.6rem 0 2.25rem;
    font-size: .77rem;
    color: #4a4665;
}
.plans-period {
    display: inline-flex;
    align-items: center;
    border: 1px solid var(--plan-line);
    background: #eeeee7;
    border-radius: 100px;
    padding: 5px;
    gap: 3px;
}
.plans-period a {
        text-decoration: none;
        color: #555366;
        font-size: .85rem;
        font-weight: 600;
        padding: .75rem 1.25rem;
        border-radius: 100px;
        white-space: nowrap;
    }
.plans-period a[aria-current="page"] {
            color: white;
            background: #28234d;
            box-shadow: 0 3px 6px #28234d14;
        }
.plans-period a span {
            font-size: .62rem;
            background: #ded8ff;
            color: #2d294d;
            padding: .25rem .4rem;
            border-radius: 30px;
            margin-left: .3rem;
        }
.plans-period-note {
    font-size: .73rem;
    color: var(--plan-muted);
    margin: 1rem 0 0;
}
.plans-cards {
    display: grid;
    grid-template-columns: repeat(auto-fit,minmax(min(100%,290px),1fr));
    gap: 1.3rem;
    align-items: stretch;
}
.plan-card {
    background: var(--plan-card,var(--surface));
    color: var(--plan-ink,var(--ink));
    border: 1px solid var(--plan-line,var(--line));
    border-radius: 22px;
    padding: clamp(1.5rem,2.1vw,2.35rem);
    min-width: 0;
    display: flex;
    flex-direction: column;
    box-shadow: 0 8px 24px #28234d04;
}
.plan-card.is-featured {
        background: #28234d;
        border-color: #28234d;
        color: #fff;
        box-shadow: 0 14px 32px #28234d18;
    }
.plan-card-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .5rem;
    margin-bottom: 1.5rem;
}
.plan-symbol {
    width: 46px;
    height: 46px;
    border: 1px solid var(--plan-line,var(--line));
    border-radius: 14px;
    display: grid;
    place-items: center;
    color: #332c69;
    background: #edecf6;
}
.plan-symbol .ui-icon {
        width: 23px;
        height: 23px;
    }
.is-featured .plan-symbol {
    background: #ded8ff;
    color: #28234d;
    border: 0;
}
.plan-recommended {
    color: #ded8ff;
    font-size: .67rem;
    font-weight: 600;
}
.plan-card h2 {
    color: inherit;
    font-size: 1.55rem;
    letter-spacing: -.035em;
    margin: 0 0 .6rem;
}
.plan-description {
    color: var(--plan-muted,var(--muted));
    font-size: .86rem;
    line-height: 1.6;
    min-height: 2.8rem;
    max-width: 27ch;
    margin: 0 0 1.9rem;
}
.is-featured .plan-description {
    color: #c4c2d3;
}
.plan-price {
    display: flex;
    align-items: center;
    gap: .5rem;
    font-variant-numeric: tabular-nums;
    margin-top: auto;
}
.plan-price strong {
        font-size: clamp(2.25rem,3vw,3.5rem);
        line-height: 1.1;
        letter-spacing: -.055em;
        font-weight: 650;
    }
.plan-price > span {
        font-size: 1.35rem;
        font-weight: 600;
        line-height: 1.1;
    }
.plan-price small {
        display: block;
        font-size: .7rem;
        font-weight: 400;
        margin-top: .3rem;
        opacity: .7;
    }
.plan-total {
    color: var(--plan-muted,var(--muted));
    font-size: .72rem;
    margin: .8rem 0 0;
    line-height: 1.6;
}
.plan-total strong {
        color: var(--plan-ink,var(--ink));
        font-weight: 600;
    }
.is-featured .plan-total, .is-featured .plan-total strong {
    color: #d2d0dd;
}
.plan-saving {
    font-size: .7rem;
    min-height: 1.15rem;
    margin: .6rem 0 1.3rem;
    color: #524d7b;
}
.is-featured .plan-saving {
    color: #ded8ff;
}
.plan-cta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    width: 100%;
    min-height: 49px;
    padding: .85rem 1.1rem;
    border: 1px solid #28234d;
    background: #fff;
    border-radius: 9px;
    text-decoration: none;
    color: #28234d;
    font-size: .81rem;
    font-weight: 650;
    cursor: pointer;
    transition: background .16s ease,box-shadow .16s ease;
}
.plan-cta:hover {
        background: #dddbf0;
        box-shadow: 0 3px 12px #28234d10;
    }
.is-featured .plan-cta, .plans-trial .plan-cta, .plans-closing .plan-cta {
    background: #ded8ff;
    border-color: #ded8ff;
}
.plan-cta > span {
    font-size: 1.2rem;
}
.plan-credit {
    display: flex;
    gap: .65rem;
    align-items: center;
    padding: .95rem .8rem;
    background: #edecf6;
    border-radius: 9px;
    margin: 1.1rem 0 .2rem;
}
.plan-credit .ui-icon {
        width: 21px;
        height: 21px;
        flex-shrink: 0;
        color: #3f3878;
    }
.plan-credit strong {
        display: block;
        color: #343051;
        font-size: .74rem;
    }
.plan-credit small {
        display: block;
        font-size: .64rem;
        color: #636076;
        margin-top: .25rem;
    }
.is-featured .plan-credit {
    background: #ffffff0e;
    border: 1px solid #ffffff15;
}
.is-featured .plan-credit strong, .is-featured .plan-credit .ui-icon {
        color: #ded8ff;
    }
.is-featured .plan-credit small {
        color: #bebccf;
    }
.plan-features-label {
    text-transform: uppercase;
    letter-spacing: .1em;
    font-size: .61rem;
    font-weight: 700;
    margin: 1.6rem 0 .9rem;
}
.plan-features {
    display: grid;
    gap: .85rem;
    list-style: none;
    margin: 0;
    padding: 0;
    font-size: .77rem;
    line-height: 1.5;
}
.plan-features li {
        display: flex;
        gap: .6rem;
        align-items: flex-start;
    }
.plan-features li > span {
            color: #565081;
            flex-shrink: 0;
        }
.is-featured .plan-features li > span {
    color: #ded8ff;
}
.plans-smallprint {
    display: flex;
    gap: .7rem;
    padding: 1.4rem 0;
    align-items: flex-start;
    color: var(--plan-muted);
}
.plans-smallprint > .ui-icon {
        width: 18px;
        height: 18px;
        flex-shrink: 0;
        margin-top: .2rem;
    }
.plans-smallprint p, .plans-caption {
        margin: 0;
        color: var(--plan-muted,var(--muted));
        font-size: .7rem;
        line-height: 1.75;
    }
.plans-trial {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 3rem;
    margin-top: 2rem;
    border: 1px solid var(--plan-line);
    border-radius: 18px;
    padding: 2rem 2.8rem;
    background: #eeeee5;
}
.plans-trial .plans-kicker {
        font-size: .61rem;
        margin-bottom: .7rem;
    }
.plans-trial h2 {
        font-size: 1.5rem;
        letter-spacing: -.035em;
        margin: 0 0 .6rem;
    }
.plans-trial p {
        color: var(--plan-muted);
        font-size: .8rem;
        margin: 0;
    }
.plans-trial .plan-cta {
        flex-shrink: 0;
        width: 265px;
    }
.plans-comparison {
    padding-top: 6rem;
}
.plans-section-head {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 2rem;
    margin-bottom: 2rem;
}
.plans-page h2 {
    line-height: 1.18;
}
.plans-section-head h2, .plans-calculator h2, .plans-faq h2 {
    font-size: clamp(1.8rem,2.6vw,2.8rem);
    letter-spacing: -.045em;
    margin: 0;
}
.plans-section-head > p, .plans-calculator > div > p:not(.plans-kicker) {
    font-size: .9rem;
    line-height: 1.7;
    color: var(--plan-muted);
}
.plans-table-wrap {
    position: relative;
    overflow: auto;
    border: 1px solid var(--plan-line);
    border-radius: 16px;
    background: #fff;
}
.plans-table {
    width: 100%;
    border-collapse: collapse;
    font-size: .85rem;
    min-width: max(100%, 640px);
}
.plans-table th, .plans-table td {
        padding: 1.2rem 1.7rem;
        border-bottom: 1px solid var(--plan-line);
        text-align: center;
    }
.plans-table thead {
        background: #ecebf3;
    }
.plans-table th:first-child {
        width: 40%;
        text-align: left;
    }
.plans-table th small {
        display: block;
        font-weight: 400;
        color: var(--plan-muted);
        margin-top: .3rem;
        font-size: .69rem;
    }
.plans-table tbody th {
        font-weight: 550;
    }
.plans-table tr:last-child > * {
        border-bottom: 0;
    }
.plans-table th.is-featured, .plans-table td.is-featured {
        background: #eeedf7;
    }
.plan-included {
    background: #dddbee;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    display: inline-grid;
    place-items: center;
    color: #3d3862;
}
.plan-excluded {
    color: #9c9aa8;
}
.plans-comparison > .plans-caption {
    margin-top: 1rem;
}
.plans-calculator {
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: center;
    gap: 5rem;
    padding-top: 6rem;
}
.plans-estimator-panel {
    border: 1px solid var(--plan-line);
    padding: 2rem;
    border-radius: 18px;
    background: #fff;
}
.plans-estimator-inputs {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
}
.plans-estimator-inputs label {
        display: block;
        font-size: .75rem;
        font-weight: 600;
        margin-bottom: .5rem;
    }
.plans-estimator-inputs select {
        width: 100%;
        min-height: 48px;
        border: 1px solid var(--plan-line);
        border-radius: 8px;
        padding: .6rem .8rem;
        background: #fff;
        color: #28234d;
    }
.plans-estimator-results {
    padding: 1.5rem 0;
    margin: 1.5rem 0 1rem;
    border-block: 1px solid var(--plan-line);
}
.plans-estimator-results > span {
        font-size: .77rem;
        color: var(--plan-muted);
    }
.plans-estimator-results strong {
        display: block;
        font-size: clamp(1.5rem,2.8vw,2.6rem);
        letter-spacing: -.05em;
        margin: .6rem 0;
    }
.plans-estimator-results p {
        font-size: .74rem;
        color: #545076;
        margin: .3rem 0 0;
    }
.plans-faq {
    display: grid;
    grid-template-columns: 1fr 1.4fr;
    gap: 5rem;
    padding-top: 6rem;
}
.plans-faq .text-link {
        display: inline-block;
        margin-top: 1.5rem;
        color: #36315b;
    }
.plans-faq details {
        border-bottom: 1px solid var(--plan-line);
        padding: 1.3rem 0;
    }
.plans-faq details:first-child {
            padding-top: 0;
        }
.plans-faq summary {
        cursor: pointer;
        font-size: .92rem;
        font-weight: 600;
        line-height: 1.6;
    }
.plans-faq details p {
        font-size: .83rem;
        color: var(--plan-muted);
        line-height: 1.8;
        margin: 1rem 0 0;
    }
.plans-closing {
    margin-top: 6rem;
    border-radius: 22px;
    background: #28234d;
    text-align: center;
    padding: 3.5rem 2rem;
    color: white;
}
.plans-closing .plans-kicker {
        color: #9f98d2;
    }
.plans-closing h2 {
        font-size: clamp(2rem,3.5vw,3.5rem);
        letter-spacing: -.05em;
        margin: 0 0 1.5rem;
    }
.plans-closing .plan-cta {
        width: min(300px,100%);
        margin: auto;
    }
.plans-closing > p:last-child {
        color: #bbb8ce;
        font-size: .7rem;
        margin: 1rem 0 0;
    }
.plans-unavailable {
    background: white;
    padding: 3rem;
    border: 1px solid var(--plan-line);
    border-radius: 20px;
    text-align: center;
}
.plans-unavailable .text-link {
        margin-left: 1rem;
    }
/* Müşteri paket ve kontör görünümü, karanlık moddaki temel yüzeyleri korur. */
.customer-plans {
    --plan-ink: var(--ink);
    --plan-muted: var(--muted);
    --plan-line: var(--line);
    --plan-card: var(--surface);
}
.customer-plans .plans-cards {
        margin: 1.5rem 0;
    }
.customer-plans .plan-price strong {
        font-size: clamp(2rem,2.9vw,3rem);
    }
.customer-plans .plan-card {
        padding: 1.7rem;
    }
.subscription-overview {
    display: grid;
    grid-template-columns: 1.6fr 1fr;
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: 18px;
    margin-bottom: 1.5rem;
    overflow: hidden;
}
.subscription-overview-main {
    padding: 2rem;
}
.subscription-overview-main h2 {
        font-size: 1.7rem;
        letter-spacing: -.035em;
        margin: .6rem 0;
    }
.subscription-overview-main > p {
        color: var(--muted);
        font-size: .84rem;
        line-height: 1.7;
    }
.subscription-overview-credit {
    background: #28234d;
    padding: 2rem;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    color: #fff;
}
.subscription-overview-credit > .ui-icon {
        color: #ded8ff;
        width: 28px;
        height: 28px;
        margin-bottom: 1rem;
    }
.subscription-overview-credit > strong {
        font-size: 2.75rem;
        line-height: 1;
        letter-spacing: -.04em;
    }
.subscription-overview-credit > span {
        color: #ded8ff;
        font-size: .85rem;
        margin-top: .6rem;
    }
.subscription-overview-credit p {
        color: #c8c6d7;
        font-size: .74rem;
        line-height: 1.7;
    }
.subscription-overview-credit a {
        color: #ded8ff;
        font-size: .8rem;
        font-weight: 600;
    }
.subscription-dates {
    display: flex;
    flex-wrap: wrap;
    gap: 1.5rem;
    margin: 1.3rem 0;
}
.subscription-dates dt {
        color: var(--muted);
        font-size: .72rem;
    }
.subscription-dates dd {
        margin: .4rem 0 0;
        font-size: .92rem;
        font-weight: 600;
    }
.subscription-pending {
    padding: 1.5rem;
    margin-bottom: 1.5rem;
    border: 1px solid var(--line);
    border-left: 4px solid #b08b35;
    border-radius: 12px;
    background: var(--surface);
}
.subscription-pending p {
        font-size: .81rem;
        line-height: 1.65;
        color: var(--muted);
    }
.subscription-pending small {
        display: block;
        overflow-wrap: anywhere;
        color: var(--muted);
        margin: 1rem 0;
    }
.subscription-select-heading {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 1rem;
    padding-top: 1rem;
}
.subscription-select-heading h2 {
        font-size: 1.3rem;
        margin: 0;
    }
.subscription-select-heading .plans-period {
        background: var(--surface);
        border-color: var(--line);
    }
.subscription-select-heading .plans-period a {
            color: var(--ink);
            padding: .6rem 1rem;
        }
.subscription-select-heading .plans-period a[aria-current="page"] {
                color: white;
            }
.edoc-company-filter {
    display: flex;
    align-items: end;
    flex-wrap: wrap;
    gap: 1rem;
    padding: 1.1rem 1.4rem;
    margin-bottom: 1.3rem;
}
.edoc-company-filter > div {
        flex: 1;
        min-width: 200px;
    }
.edoc-company-filter label {
        display: block;
        margin-bottom: .45rem;
        font-size: .75rem;
    }
.edoc-company-filter select {
        width: 100%;
    }
.edoc-overview {
    display: grid;
    grid-template-columns: 1.1fr 1fr 1fr;
    gap: 1rem;
    margin-bottom: 1.5rem;
}
.edoc-overview .panel-card {
        padding: 1.5rem;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
    }
.edoc-overview .panel-card:first-child {
            background: #28234d;
            color: white;
            border-color: #28234d;
        }
.edoc-overview .panel-card:first-child p {
                color: #c9c7d8;
            }
.edoc-overview h2 {
        font-size: 2.3rem;
        letter-spacing: -.05em;
        margin: .3rem 0;
    }
.edoc-overview p {
        color: var(--muted);
        font-size: .78rem;
        line-height: 1.65;
    }
.edoc-overview .eyebrow {
        font-size: .65rem;
        margin: 0 0 .8rem;
    }
.edoc-profile {
    margin-bottom: 1.8rem;
}
.edoc-section-heading {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1.5rem;
    margin: 1.7rem 0 1rem;
}
.edoc-section-heading h2 {
        font-size: 1.25rem;
        margin: 0 0 .5rem;
    }
.edoc-section-heading p {
        color: var(--muted);
        font-size: .8rem;
        line-height: 1.6;
        margin: 0;
        max-width: 80ch;
    }
.edoc-credit-grid {
    display: grid;
    grid-template-columns: repeat(6,minmax(0,1fr));
    gap: .8rem;
}
.edoc-credit-card {
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: 13px;
    padding: 1.2rem;
    display: flex;
    flex-direction: column;
    min-width: 0;
}
.edoc-credit-card > .ui-icon {
        color: #575279;
        width: 24px;
        height: 24px;
        margin-bottom: 1rem;
    }
.edoc-credit-card h3 {
        font-size: 1.65rem;
        letter-spacing: -.04em;
        margin: 0;
    }
.edoc-credit-card p {
        color: var(--muted);
        font-size: .7rem;
        line-height: 1.6;
    }
.edoc-credit-card form {
        margin-top: auto;
    }
.edoc-credit-card button {
        width: 100%;
        font-size: .68rem;
        padding: .65rem .45rem;
    }
.edoc-history {
    display: grid;
    grid-template-columns: 1.35fr 1fr;
    gap: 1rem;
    margin: 1.5rem 0;
}
.edoc-history > .panel-card {
        min-width: 0;
        padding: 1.4rem;
    }
.edoc-history h2 {
        font-size: 1.2rem;
    }
.edoc-history th, .edoc-history td {
        font-size: .75rem;
    }
.edoc-empty {
    padding: 1.6rem 0;
    color: var(--muted);
    font-size: .84rem;
}
.edoc-ledger {
    list-style: none;
    padding: 0;
    margin: 0;
}
.edoc-ledger li {
        display: flex;
        justify-content: space-between;
        gap: 1rem;
        padding: 1rem 0;
        border-bottom: 1px solid var(--line);
        font-size: .78rem;
    }
.edoc-ledger small {
        display: block;
        color: var(--muted);
        margin-top: .35rem;
    }
.edoc-ledger strong {
        white-space: nowrap;
    }
@media(min-width:1900px) {
    .plans-shell {
        width: min(1640px,calc(100% - 160px));
    }
.plans-intro {
        padding-top: 7rem;
    }
.plan-card {
        padding: 2.8rem;
    }
}
@media(max-width:1180px) {
    .plans-shell {
        width: calc(100% - 64px);
    }
.plan-card {
        padding: 1.5rem;
    }
.plan-recommended {
        font-size: .58rem;
    }
.plans-calculator, .plans-faq {
        gap: 2.5rem;
    }
.edoc-credit-grid {
        grid-template-columns: repeat(3,minmax(0,1fr));
    }
.customer-plans .plan-card {
        padding: 1.2rem;
    }
}
@media(max-width:900px) {
    .plans-intro {
        padding-top: 3.5rem;
    }
.plans-cards {
        gap: .8rem;
    }
.plan-card {
        padding: 1.2rem;
    }
.plan-price strong {
        font-size: 2.2rem;
    }
.plan-recommended {
        max-width: 75px;
        text-align: right;
        line-height: 1.5;
    }
.plan-cta {
        font-size: .7rem;
    }
.plan-description {
        min-height: 4.1rem;
    }
.plan-credit {
        padding: .75rem .6rem;
    }
.plan-credit > .ui-icon {
            display: none;
        }
.plans-trial {
        padding: 1.8rem;
        gap: 1.5rem;
    }
.plans-trial .plan-cta {
            width: 220px;
        }
.edoc-overview {
        grid-template-columns: 1fr 1fr;
    }
.edoc-overview > .panel-card:last-child {
            grid-column: 1/-1;
        }
.edoc-history {
        grid-template-columns: 1fr;
    }
.customer-plans .plans-cards {
        grid-template-columns: 1fr;
    }
.customer-plans .plan-description {
        min-height: 0;
    }
.customer-plans .plan-features {
        grid-template-columns: 1fr 1fr;
    }
.subscription-overview {
        grid-template-columns: 1.3fr 1fr;
    }
}
@media(max-width:680px) {
    .plans-shell {
        width: calc(100% - 36px);
    }
.plans-intro {
        padding: 2.8rem 0 1.5rem;
    }
.plans-intro h1 {
            font-size: 2.25rem;
        }
.plans-lead br {
        display: none;
    }
.plans-assurances {
        gap: .6rem 1rem;
        font-size: .67rem;
        margin: 1.4rem 0;
    }
.plans-period a {
        padding: .7rem .9rem;
        font-size: .75rem;
    }
.plans-period a span {
            font-size: .55rem;
        }
.plans-period-note {
        line-height: 1.7;
    }
.plans-cards {
        grid-template-columns: 1fr;
        gap: 1rem;
    }
.plan-card {
        padding: 1.65rem;
        border-radius: 17px;
    }
.plan-description {
        min-height: 0;
        max-width: none;
        margin-bottom: 1.4rem;
    }
.plan-price strong {
        font-size: 3rem;
    }
.plan-recommended {
        max-width: none;
        font-size: .65rem;
    }
.plan-credit > .ui-icon {
        display: block;
    }
.plan-cta {
        font-size: .8rem;
    }
.plan-features {
        font-size: .8rem;
    }
.plans-trial {
        flex-direction: column;
        align-items: flex-start;
        margin-top: 1rem;
        padding: 1.4rem;
    }
.plans-trial .plan-cta {
            width: 100%;
        }
.plans-section-head {
        display: block;
    }
.plans-section-head > p {
            margin-top: 1rem;
        }
.plans-table th, .plans-table td {
        padding: 1rem;
    }
.plans-calculator, .plans-faq {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }
.plans-estimator-panel {
        padding: 1.3rem;
    }
.plans-comparison, .plans-calculator, .plans-faq {
        padding-top: 3.2rem;
    }
.plans-closing {
        margin-top: 3.2rem;
    }
.plans-page {
        padding-bottom: 2rem;
    }
.subscription-overview {
        grid-template-columns: 1fr;
    }
.subscription-overview-main, .subscription-overview-credit {
        padding: 1.5rem;
    }
.edoc-overview {
        grid-template-columns: 1fr;
    }
.edoc-credit-grid {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }
.edoc-section-heading {
        align-items: flex-start;
        flex-direction: column;
    }
.customer-plans .plan-features {
        grid-template-columns: 1fr;
    }
}
@media(prefers-reduced-motion:reduce) {
    .plan-cta {
        transition: none;
    }
}

/* Public plan presentation: arbitrary plan counts and a contained comparison table. */
.public-modern .plans-page{--plan-ink:#29233c;--plan-muted:#7d748b;--plan-line:#e5deed;--plan-paper:#faf8fd;--plan-card:#fff;overflow-wrap:break-word}
.public-modern .plans-shell{width:calc(100% - 80px);max-width:1440px}
.public-modern .plans-intro{padding:70px 0 38px}
.public-modern .plans-intro h1{font-size:clamp(39px,4.5vw,67px);font-weight:650;line-height:1.12;letter-spacing:-.05em}
.public-modern .plans-intro h1 em{color:#7756c7;font-weight:600}
.public-modern .plans-kicker{font-size:12px;color:#8b6cad;letter-spacing:.09em}
.public-modern .plans-lead{font-size:18px}
.public-modern .plans-assurances{font-size:13px;gap:22px}
.public-modern .plans-period{border-color:#e2d7ed;background:#f0eaf7;max-width:100%}
.public-modern .plans-period a{font-size:14px;padding:13px 23px}
.public-modern .plans-period a[aria-current=page]{background:#7457c4}
.public-modern .plans-period a span{font-size:11px}
.public-modern .plans-period-note{font-size:13px}
.public-modern .plans-cards{grid-template-columns:repeat(auto-fit,minmax(min(100%,295px),1fr));gap:22px}
.public-modern .plan-card{border-radius:20px;padding:32px}
.public-modern .plan-card.is-featured{background:linear-gradient(145deg,#7c60cc,#6149a5);border-color:#795dc9;box-shadow:0 12px 35px #67449c15}
.public-modern .plan-card h2{font-size:27px;overflow-wrap:anywhere}
.public-modern .plan-description{font-size:15px;min-height:48px;max-width:none;line-height:1.7}
.public-modern .plan-price{flex-wrap:wrap;gap:7px;min-width:0}
.public-modern .plan-price strong{font-size:clamp(35px,3vw,47px);overflow-wrap:anywhere;max-width:100%}
.public-modern .plan-total,.public-modern .plan-saving{font-size:13px;line-height:1.65}
.public-modern .plan-recommended{font-size:12px;max-width:none;line-height:1.5;text-align:right}
.public-modern .plan-cta{font-size:14px;min-height:50px;gap:10px;line-height:1.4;text-align:center;border-radius:10px;white-space:normal}
.public-modern .plan-features-label{font-size:12px;letter-spacing:.06em}
.public-modern .plan-features{font-size:14px;gap:13px;line-height:1.65}
.public-modern .plan-features li{overflow-wrap:anywhere}
.public-modern .plan-credit{gap:10px}
.public-modern .plan-credit strong{font-size:13px;line-height:1.5}
.public-modern .plan-credit small{font-size:12px;line-height:1.5}
.public-modern .plans-smallprint p,.public-modern .plans-caption{font-size:13px;line-height:1.8}
.public-modern .plans-trial{background:#f0e9fa;border-color:#e0d4f0;border-radius:20px;gap:30px;padding:32px}
.public-modern .plans-trial h2{font-size:30px;letter-spacing:-.04em}
.public-modern .plans-trial p{font-size:15px}
.public-modern .plans-section-head h2,.public-modern .plans-calculator h2,.public-modern .plans-faq h2{font-size:39px;line-height:1.15;letter-spacing:-.045em}
.public-modern .plans-section-head>p,.public-modern .plans-calculator>div>p:not(.plans-kicker){font-size:16px}
.public-modern .plans-table-wrap{max-width:100%;min-width:0;overflow:auto;overscroll-behavior-x:contain;border-radius:16px}
.public-modern .plans-table{min-width:100%;width:max-content;font-size:14px}
.public-modern .plans-table th,.public-modern .plans-table td{min-width:155px;max-width:240px;padding:19px 23px;white-space:normal;overflow-wrap:anywhere}
.public-modern .plans-table th:first-child{width:300px;min-width:230px;max-width:300px}
.public-modern .plans-table thead{background:#f0eafa}
.public-modern .plans-table .is-featured{background:#f5effd}
.public-modern .plans-table th small{font-size:12px}
.public-modern .plans-estimator-inputs{grid-template-columns:repeat(2,minmax(0,1fr))}
.public-modern .plans-estimator-inputs>div{min-width:0}
.public-modern .plans-estimator-inputs label{font-size:14px}
.public-modern .plans-estimator-inputs select{font-size:15px;min-width:0;max-width:100%;color:#655076}
.public-modern .plans-estimator-results>span{font-size:14px}
.public-modern .plans-estimator-results strong{overflow-wrap:anywhere;font-size:38px}
.public-modern .plans-estimator-results p{font-size:13px}
.public-modern .plans-faq summary{font-size:16px}
.public-modern .plans-faq details p{font-size:15px;line-height:1.8}
.public-modern .plans-closing{display:none}
@media(max-width:1250px){.public-modern .plans-shell{width:calc(100% - 48px)}
.public-modern .plans-cards{gap:17px}
.public-modern .plan-card{padding:27px}
.public-modern .plans-calculator,.public-modern .plans-faq{gap:40px}}
@media(max-width:768px){.public-modern .plans-shell{width:calc(100% - 40px)}
.public-modern .plans-intro{padding-top:46px}
.public-modern .plans-lead{font-size:16px}
.public-modern .plans-cards{grid-template-columns:repeat(auto-fit,minmax(min(100%,285px),1fr))}
.public-modern .plans-trial{flex-direction:column;align-items:start;gap:20px;padding:28px}
.public-modern .plans-trial .plan-cta{width:100%}
.public-modern .plans-section-head{display:block}
.public-modern .plans-section-head h2,.public-modern .plans-calculator h2,.public-modern .plans-faq h2{font-size:34px}
.public-modern .plans-section-head>p{margin-top:22px}
.public-modern .plans-calculator,.public-modern .plans-faq{grid-template-columns:1fr;gap:25px}
.public-modern .plans-estimator-results strong{font-size:35px}}
@media(max-width:540px){.public-modern .plans-intro{padding-top:32px}
.public-modern .plans-intro h1{font-size:37px}
.public-modern .plans-assurances{font-size:12px;gap:9px 16px}
.public-modern .plans-period a{font-size:13px;padding:11px 15px}
.public-modern .plans-period a span{font-size:10px}
.public-modern .plan-card{padding:26px}
.public-modern .plan-price strong{font-size:43px}
.public-modern .plans-cards{grid-template-columns:1fr;gap:19px}
.public-modern .plans-table th,.public-modern .plans-table td{min-width:150px;padding:17px}
.public-modern .plans-table th:first-child{min-width:190px;width:190px}
.public-modern .plans-table-wrap{border-radius:13px}
.public-modern .plans-trial{padding:24px}
.public-modern .plans-trial h2{font-size:27px}
.public-modern .plans-estimator-panel{padding:23px}
.public-modern .plans-estimator-inputs{grid-template-columns:1fr;gap:18px}
.public-modern .plans-estimator-results strong{font-size:32px}
.public-modern .plans-faq summary{font-size:15px}
.public-modern .plans-faq details p{font-size:14px}
.public-modern .plans-page{padding-bottom:55px}}
@media(max-width:359px){.public-modern .plans-shell{width:calc(100% - 28px)}
.public-modern .plans-intro h1{font-size:34px}
.public-modern .plans-period a{padding:10px 13px;font-size:12px}
.public-modern .plans-period a span{font-size:9px}
.public-modern .plan-price strong{font-size:39px}
.public-modern .plan-card{padding:24px}
.public-modern .plans-estimator-panel{padding:20px}
.public-modern .plans-estimator-results strong{font-size:30px}}
