.pl-page {
    --pl-ink: #091012;
    --pl-surface: #101a1c;
    --pl-surface-raised: #142124;
    --pl-line: rgba(213, 232, 227, .17);
    --pl-line-strong: rgba(95, 186, 180, .48);
    --pl-text: #edf3f1;
    --pl-muted: #afbfbc;
    --pl-accent: #5fbab4;
    background: var(--pl-ink);
    color: var(--pl-text);
}

.pl-shell {
    width: min(100% - 2rem, 72rem);
    margin: 0 auto;
}

.pl-hero {
    overflow: hidden;
    padding: 4rem 0 3.5rem;
    border-bottom: 1px solid var(--pl-line);
    background: #091012;
}

.pl-hero-grid {
    display: grid;
    gap: 2rem;
    align-items: end;
}

.pl-kicker,
.pl-marker {
    color: var(--pl-accent);
    font: 600 .7rem/1.4 "JetBrains Mono", monospace;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.pl-title {
    max-width: 12ch;
    margin: 1rem 0 0;
    color: var(--pl-text);
    font: 700 clamp(2rem, 3.8vw, 3.45rem)/1 "PT Serif", Georgia, serif;
    letter-spacing: -.045em;
}

.pl-lead {
    max-width: 38rem;
    margin: 1.35rem 0 0;
    color: #d3dfdc;
    font-size: 1.08rem;
    line-height: 1.7;
}

.pl-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
    margin-top: 1.75rem;
}

.pl-hero-note,
.pl-policy-note {
    max-width: 43rem;
    margin: 1rem 0 0;
    color: var(--pl-muted);
    font-size: .86rem;
    line-height: 1.6;
}

.pl-hero-art {
    overflow: hidden;
    border: 1px solid var(--pl-line-strong);
    background: #060b0c;
}

.pl-hero-art img {
    display: block;
    width: 100%;
    min-height: 13rem;
    object-fit: cover;
    object-position: center;
}

.pl-section {
    padding: 4.5rem 0;
    border-bottom: 1px solid var(--pl-line);
}

.pl-section--raised {
    background: var(--pl-surface);
}

.pl-section--deep {
    background: #071112;
}

.pl-heading {
    max-width: 50rem;
    margin: .85rem 0 0;
    color: var(--pl-text);
    font: 700 clamp(1.8rem, 3.25vw, 2.85rem)/1.06 "PT Serif", Georgia, serif;
    letter-spacing: -.03em;
}

.pl-copy {
    max-width: 46rem;
    margin: 1rem 0 0;
    color: var(--pl-muted);
    line-height: 1.72;
}

.pl-thread {
    max-width: 58rem;
    margin: 2.5rem 0 0;
    border-left: 1px solid var(--pl-line-strong);
}

.pl-thread-entry {
    position: relative;
    padding: 0 0 2rem 2rem;
}

.pl-thread-entry:last-child {
    padding-bottom: 0;
}

.pl-thread-entry::before {
    position: absolute;
    top: .4rem;
    left: -.34rem;
    width: .62rem;
    height: .62rem;
    border: 1px solid var(--pl-accent);
    background: var(--pl-ink);
    content: "";
}

.pl-thread-entry h3,
.pl-case h3,
.pl-split h3,
.pl-price h3 {
    margin: .45rem 0 0;
    color: var(--pl-text);
    font: 700 clamp(1.35rem, 2.2vw, 1.8rem)/1.12 "PT Serif", Georgia, serif;
    letter-spacing: -.02em;
}

.pl-thread-entry p,
.pl-case p,
.pl-split p:not(.pl-kicker),
.pl-price p {
    max-width: 43rem;
    margin: .65rem 0 0;
    color: var(--pl-muted);
    line-height: 1.64;
}

.pl-boundary {
    display: grid;
    margin-top: 2.5rem;
    border: 1px solid var(--pl-line-strong);
    background: var(--pl-line);
    gap: 1px;
}

.pl-boundary-node {
    position: relative;
    min-width: 0;
    padding: 1.35rem;
    background: var(--pl-surface);
}

.pl-boundary-node--guard {
    background: #102426;
}

.pl-boundary-node h3 {
    margin: .55rem 0 0;
    color: var(--pl-text);
    font: 700 1.35rem/1.1 "PT Serif", Georgia, serif;
}

.pl-boundary-node p {
    margin: .65rem 0 0;
    color: var(--pl-muted);
    font-size: .94rem;
    line-height: 1.55;
}

.pl-system {
    display: grid;
    gap: .65rem;
    margin: 2.5rem 0 0;
}

.pl-system-node {
    min-width: 0;
    padding: 1.25rem;
    border: 1px solid var(--pl-line-strong);
    background: var(--pl-surface);
}

.pl-system-node--core {
    border-color: var(--pl-accent);
    background: #102426;
}

.pl-system-node h3 {
    margin: .5rem 0 0;
    color: var(--pl-text);
    font: 700 1.3rem/1.1 "PT Serif", Georgia, serif;
}

.pl-system-node p {
    margin: .65rem 0 0;
    color: var(--pl-muted);
    font-size: .94rem;
    line-height: 1.58;
}

.pl-system-arrow {
    display: grid;
    width: 1.8rem;
    height: 1.8rem;
    place-items: center;
    margin: 0 auto;
    border: 1px solid var(--pl-line-strong);
    color: var(--pl-accent);
    font: 600 1rem/1 "JetBrains Mono", monospace;
}

.pl-system figcaption {
    grid-column: 1 / -1;
    max-width: 48rem;
    margin-top: .35rem;
    color: var(--pl-muted);
    font-size: .86rem;
    line-height: 1.58;
}

.pl-spec-grid {
    display: grid;
    margin-top: 2.5rem;
    border-top: 1px solid var(--pl-line);
}

.pl-spec {
    padding: 1.35rem 0;
    border-bottom: 1px solid var(--pl-line);
}

.pl-spec dt {
    color: var(--pl-accent);
    font: 600 .7rem/1.4 "JetBrains Mono", monospace;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.pl-spec dd {
    margin: .55rem 0 0;
    color: var(--pl-text);
    font: 700 1.25rem/1.35 "PT Serif", Georgia, serif;
}

.pl-spec code {
    color: #d7efea;
    font: 500 .86rem/1.65 "JetBrains Mono", monospace;
}

.pl-cases {
    display: grid;
    margin-top: 2.5rem;
    border-top: 1px solid var(--pl-line);
}

.pl-case {
    padding: 1.5rem 0;
    border-bottom: 1px solid var(--pl-line);
}

.pl-case h3 {
    max-width: 20rem;
}

.pl-case p {
    margin-top: .5rem;
}

.pl-rule {
    max-width: 58rem;
    margin: 2.5rem 0 0;
    padding: 1.5rem 1.5rem 1.5rem 1.7rem;
    border-left: 2px solid var(--pl-accent);
    background: rgba(115, 201, 191, .08);
    color: #dceae6;
    font: 700 clamp(1.35rem, 2.4vw, 1.9rem)/1.25 "PT Serif", Georgia, serif;
}

.pl-trust {
    display: grid;
    margin-top: 2.5rem;
    border-top: 1px solid var(--pl-line);
}

.pl-trust > div {
    position: relative;
    padding: 1.25rem 0 1.25rem 3.25rem;
    border-bottom: 1px solid var(--pl-line);
    color: #d5e2df;
    line-height: 1.58;
}

.pl-trust b {
    position: absolute;
    left: 0;
    color: var(--pl-accent);
    font: 600 .72rem/1 "JetBrains Mono", monospace;
}

.pl-split {
    display: grid;
    margin-top: 2.5rem;
    border-top: 1px solid var(--pl-line);
}

.pl-split > article {
    padding: 1.6rem 0;
    border-bottom: 1px solid var(--pl-line);
}

.pl-price-grid {
    display: grid;
    margin-top: 2.5rem;
    border-top: 1px solid var(--pl-line);
}

.pl-price {
    padding: 1.5rem 0;
    border-bottom: 1px solid var(--pl-line);
}

.pl-price-value {
    display: block;
    margin-top: 1rem;
    color: var(--pl-accent);
    font: 700 1.65rem/1 "PT Serif", Georgia, serif;
}

.pl-faq {
    display: grid;
    margin: 2rem 0 0;
    border-top: 1px solid var(--pl-line);
}

.pl-faq details {
    padding: 1.1rem 0;
    border-bottom: 1px solid var(--pl-line);
}

.pl-faq summary {
    cursor: pointer;
    color: var(--pl-text);
    font-weight: 700;
}

.pl-faq p {
    max-width: 47rem;
    margin: .75rem 0 0;
    color: var(--pl-muted);
    line-height: 1.65;
}

@media (min-width: 720px) {
    .pl-hero {
        padding: 5.75rem 0 5rem;
    }

    .pl-hero-grid {
        grid-template-columns: minmax(0, .92fr) minmax(24rem, 1.08fr);
        gap: 3rem;
    }

    .pl-hero-art img {
        min-height: 25rem;
    }

    .pl-boundary {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .pl-system {
        grid-template-columns: minmax(0, 1fr) 1.8rem minmax(0, 1.3fr) 1.8rem minmax(0, 1fr);
        align-items: center;
        gap: .65rem;
    }

    .pl-system--four {
        grid-template-columns: minmax(0, .9fr) 1.4rem minmax(0, 1.1fr) 1.4rem minmax(0, 1.1fr) 1.4rem minmax(0, .9fr);
    }

    .pl-system figcaption {
        grid-column: 1 / -1;
    }

    .pl-spec-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        column-gap: 3rem;
    }

    .pl-boundary-node:not(:last-child)::after {
        position: absolute;
        z-index: 2;
        top: 50%;
        right: -.45rem;
        width: .9rem;
        height: 1px;
        background: var(--pl-accent);
        content: "";
    }

    .pl-cases {
        display: block;
    }

    .pl-case {
        display: grid;
        grid-template-columns: minmax(13rem, .55fr) minmax(0, 1.45fr);
        column-gap: 3rem;
        align-items: start;
    }

    .pl-case p {
        margin-top: .45rem;
    }

    .pl-split,
    .pl-price-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        column-gap: 3rem;
    }

    .pl-price-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 719px) {
    .pl-hero {
        padding: 3rem 0 3.5rem;
    }

    .pl-hero-art {
        order: -1;
    }

    .pl-hero-art img {
        min-height: 11rem;
    }

    .pl-section {
        padding: 3.25rem 0;
    }

    .pl-system-arrow {
        transform: rotate(90deg);
    }
}

/* ── Сравнительные таблицы лендингов ───────────────────────── */
.pl-table-wrap {
    overflow-x: auto;
    border: 1px solid rgba(95, 186, 180, 0.22);
    border-radius: 14px;
    background: rgba(9, 14, 20, 0.45);
}

.pl-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.9rem;
    line-height: 1.45;
}

.pl-table th,
.pl-table td {
    padding: 0.65rem 0.9rem;
    text-align: left;
    vertical-align: top;
    border-bottom: 1px solid rgba(95, 186, 180, 0.14);
}

.pl-table thead th {
    font-size: 0.78rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #5fbab4;
    background: rgba(47, 143, 139, 0.10);
}

.pl-table tbody tr:last-child td {
    border-bottom: none;
}

.pl-table td:first-child {
    font-weight: 600;
    color: #e8eef2;
}

.pl-table .pl-yes {
    color: #7fd8c8;
    font-weight: 600;
    white-space: nowrap;
}

.pl-table .pl-no {
    color: rgba(232, 238, 242, 0.45);
    white-space: nowrap;
}

.pl-table-note {
    margin-top: 0.85rem;
    font-size: 0.85rem;
    color: rgba(232, 238, 242, 0.55);
}

.pl-legal {
    border-top: 1px solid rgba(95, 186, 180, 0.18);
    padding: 1.4rem 0 0.6rem;
    font-size: 0.78rem;
    line-height: 1.55;
    color: rgba(232, 238, 242, 0.45);
}

/* Refinement 2026-08: гармонизация с общими токенами сайта */

.pl-price {
    transition:
        padding .45s ease,
        border-color .45s ease;
}

.pl-price:hover {
    border-color: rgba(95, 186, 180, .4);
}

.pl-price-value,
.pl-spec dt {
    font-variant-numeric: tabular-nums;
}

.pl-section {
    position: relative;
}

.pl-hero-art {
    transition: border-color .5s ease;
}

.pl-hero-art:hover {
    border-color: rgba(95, 186, 180, .55);
}
