



.page-content > :first-child{ margin-top:0 }
.page-content > :last-child{ margin-bottom:0 }

.page-content h2{ margin:2.5rem 0 .85rem; font-size:clamp(1.3rem, 2.4vw, 1.55rem);
    font-weight:800; line-height:1.25; letter-spacing:-.025em }


.page-content [class*="pc-"] h2,
.page-content [class*="pc-"] h3,
.page-content [class*="pc-"] h4{ margin-top:0 }

.page-content h3{ margin:1.9rem 0 .55rem; font-size:1.14rem; font-weight:700;
    line-height:1.35; letter-spacing:-.015em }

.page-content h4{ margin:1.5rem 0 .45rem; font-size:1rem; font-weight:700;
    line-height:1.4 }

.page-content p{ margin:0 0 1rem; line-height:1.75 }

.page-content ul,
.page-content ol{ margin:1rem 0; padding-left:1.4rem }
.page-content ul{ list-style:disc }
.page-content ol{ list-style:decimal }
.page-content li{ margin:.35rem 0; line-height:1.7 }
.page-content li::marker{ color:var(--color-primary,#6366f1) }
.page-content li > ul,
.page-content li > ol{ margin:.35rem 0 }

.page-content blockquote{ margin:1.5rem 0; padding:.2rem 0 .2rem 1.1rem;
    border-left:3px solid var(--color-primary,#6366f1); font-style:italic }
.page-content blockquote > :first-child{ margin-top:0 }
.page-content blockquote > :last-child{ margin-bottom:0 }

.page-content hr{ margin:2.2rem 0; border:0; border-top:1px solid var(--surface-bd,#e5e7eb) }

.page-content strong,
.page-content b{ font-weight:700 }

.page-content a{ color:var(--color-primary,#6366f1); text-decoration:underline;
    text-underline-offset:2px }

.page-content code,
.page-content kbd,
.page-content samp{ padding:.1rem .32rem;
    font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; font-size:.9em;
    background:var(--surface-2,#f1f5f9) }
.page-content pre{ margin:1.35rem 0; padding:1rem 1.15rem; overflow-x:auto;
    background:var(--surface-2,#f1f5f9); line-height:1.6 }
.page-content pre code{ padding:0; background:none }

.page-content table{ display:block; width:100%; overflow-x:auto;
    margin:1.35rem 0; border-collapse:collapse }
.page-content th,
.page-content td{ padding:.6rem .75rem; text-align:left; vertical-align:top;
    border:1px solid var(--surface-bd,#e5e7eb); overflow-wrap:break-word }
.page-content th{ font-weight:700; background:var(--surface-2,#f8fafc) }

@media (max-width: 1024px), (max-height: 500px){
    .page-content h2{ margin-top:2rem }
    .page-content h3{ margin-top:1.6rem }

    .page-content a{ padding-block:4px }

    .page-content th:first-child,
    .page-content td:first-child{ position:sticky; left:0; z-index:1;
        background:var(--surface,#fff);
        box-shadow:1px 0 0 var(--surface-bd,#e5e7eb) }
    .page-content input,
    .page-content select,
    .page-content textarea,
    .page-content input[class],
    .page-content select[class],
    .page-content textarea[class]{ font-size:16px }

    .page-content th:first-child{ background:var(--surface-2,#f8fafc) }

    .page-content th:first-child,
    .page-content td:first-child{ min-width:8.5rem; max-width:min(48vw, 12rem);
        white-space:normal }
}

.page-content .pc-lead{ font-size:1.05rem; line-height:1.65; color:var(--surface-ink,#334155) }
:root.dark .page-content .pc-lead{ color:#cbd5e1 }

.page-content .pc-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(17rem,1fr));
    gap:1rem; margin:1.5rem 0; padding:0; list-style:none }

.page-content .pc-card{ margin:0; padding:1.1rem 1.25rem; background:var(--surface,#fff);
    border:1px solid var(--surface-bd,#eef2f7); transition:border-color .15s, transform .15s }
.page-content .pc-card:hover{ border-color:var(--color-primary,#6366f1); transform:translateY(-2px) }
.page-content .pc-card > :first-child{ margin-top:0 }
.page-content .pc-card > :last-child{ margin-bottom:0 }
.page-content .pc-card strong,
.page-content .pc-card h3{ display:block; margin-bottom:.4rem; font-size:1.08rem;
    font-weight:700; line-height:1.35; letter-spacing:-.01em;
    color:var(--surface-ink,#111827) }
.page-content .pc-card p,
.page-content .pc-card li{ font-size:.96rem; line-height:1.6 }
:root.dark .page-content .pc-card{ background:#111827; border-color:var(--surface-ink,#1f2937) }
:root.dark .page-content .pc-card strong,
:root.dark .page-content .pc-card h3{ color:#f3f4f6 }

.page-content .pc-check{ list-style:none; padding:0; margin:1.25rem 0;
    display:grid; grid-template-columns:repeat(auto-fit,minmax(18rem,1fr)); gap:.6rem 1.5rem }
.page-content .pc-check li{ position:relative; padding-left:1.6rem; margin:0; line-height:1.5 }
.page-content .pc-check li::before{ content:'✓'; position:absolute; left:0; top:0;
    font-weight:700; color:var(--color-primary,#6366f1) }

.page-content .pc-note{ margin:1.5rem 0; padding:1rem 1.25rem; background:var(--surface-2,#f8fafc);
    border-left:3px solid var(--color-primary,#6366f1) }
.page-content .pc-note > :first-child{ margin-top:0 }
.page-content .pc-note > :last-child{ margin-bottom:0 }
:root.dark .page-content .pc-note{ background:#0b1220 }

.page-content .pc-cta{ display:grid; grid-template-columns:1fr auto;
    align-items:center; gap:1.1rem 2rem; margin:2rem 0 .5rem; padding:1.4rem 1.6rem;
    color:#fff; border-left:4px solid var(--color-primary,#6366f1);
    background:linear-gradient(135deg,
        color-mix(in srgb, var(--color-primary,#6366f1) 50%, #0f172a),
        color-mix(in srgb, var(--color-primary,#6366f1) 32%, #0f172a)) }
.page-content .pc-cta > :first-child{ margin:0; min-width:0 }

.page-content .pc-cta h3{ margin:0 0 .35rem; font-size:1.15rem; font-weight:700;
    line-height:1.3; color:#fff }
.page-content .pc-cta h3::before{ content:none }
.page-content .pc-cta p{ margin:0; font-size:.93rem; line-height:1.55; color:#dbeafe }
.page-content .pc-cta p:last-child{ margin-bottom:0 }

.page-content .pc-cta a{ display:inline-flex; align-items:center; gap:.55rem;
    flex:none; white-space:nowrap; padding:.72rem 1.4rem;
    font-weight:700; font-size:.93rem; text-decoration:none;
    color:#0f172a; background:#fff;
    box-shadow:0 1px 0 rgba(15,23,42,.18) }
.page-content .pc-cta a::after{ content:'\2192'; font-size:1.05em; line-height:1 }
.page-content .pc-cta a:hover{ background:#e8eefc; text-decoration:none }

@media (max-width:720px){
    .page-content .pc-cta{ grid-template-columns:1fr; padding:1.2rem 1.25rem }
    .page-content .pc-cta a{ justify-content:center }
}
.page-content .pc-cta a:hover{ color:var(--color-primary,#6366f1) }


.page-content .pc-ico{ display:inline-flex; align-items:center; justify-content:center;
    width:2.4rem; height:2.4rem; margin-bottom:.75rem; flex:none;
    font-size:.95rem; color:var(--on-accent,#fff);
    background:linear-gradient(135deg,var(--color-primary,#6366f1),var(--color-accent,#8b5cf6)) }

.page-content .pc-stats{ display:grid; grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));
    gap:1px; margin:1.75rem 0; padding:0; list-style:none; background:#e2e8f0;
    border:1px solid var(--surface-bd,#e2e8f0) }
.page-content .pc-stats li{ margin:0; padding:1.1rem .9rem; text-align:center; background:var(--surface,#fff) }
.page-content .pc-stats li > b,
.page-content .pc-stats li > strong{ display:block; font-size:1.75rem; line-height:1.1;
    font-weight:800; color:var(--color-primary,#6366f1); font-variant-numeric:tabular-nums }
.page-content .pc-stats li > span{ display:block; margin-top:.3rem; font-size:.8rem;
    color:var(--surface-mute,#64748b) }
:root.dark .page-content .pc-stats{ background:#1f2937; border-color:var(--surface-ink,#1f2937) }
:root.dark .page-content .pc-stats li{ background:#111827 }
:root.dark .page-content .pc-stats li > span{ color:var(--surface-dim,#94a3b8) }

.page-content .pc-steps{ counter-reset:pc-step; list-style:none; padding:0; margin:1.5rem 0;
    display:grid; grid-template-columns:repeat(auto-fit,minmax(15rem,1fr)); gap:1rem }
.page-content .pc-steps li{ counter-increment:pc-step; position:relative; margin:0;
    padding:1.1rem 1.25rem 1.1rem 3.4rem; background:var(--surface,#fff); border:1px solid var(--surface-bd,#eef2f7) }
.page-content .pc-steps li::before{ content:counter(pc-step); position:absolute;
    left:1.1rem; top:1.05rem; display:flex; align-items:center; justify-content:center;
    width:1.7rem; height:1.7rem; font-size:.8rem; font-weight:800; color:var(--on-accent,#fff);
    background:var(--color-primary,#6366f1) }
.page-content .pc-steps b,
.page-content .pc-steps strong{ display:block; margin-bottom:.2rem; color:var(--surface-ink,#111827) }
:root.dark .page-content .pc-steps li{ background:#111827; border-color:var(--surface-ink,#1f2937) }
:root.dark .page-content .pc-steps b,
:root.dark .page-content .pc-steps strong{ color:#f3f4f6 }

.page-content .pc-split{ display:grid; grid-template-columns:1fr 1fr; align-items:center;
    gap:1.75rem; margin:1.75rem 0 }
.page-content .pc-split > div > :first-child{ margin-top:0 }
.page-content .pc-split img{ width:100%; height:auto; display:block; margin:0;
    border:1px solid var(--surface-bd,#eef2f7) }
@media (max-width:768px){
    .page-content .pc-split{ grid-template-columns:1fr; gap:1.1rem }
}
:root.dark .page-content .pc-split img{ border-color:var(--surface-ink,#1f2937) }

.page-content .pc-shot{ margin:1.75rem 0; padding:0 }
.page-content .pc-shot > img{
    display:block; width:100%; height:auto; margin:0;
    max-height:26rem; object-fit:cover; object-position:top center;
    border:1px solid var(--surface-bd,#e3e6ee); border-top:0;
    background:var(--surface,#fff) }
.page-content .pc-shot::before{
    content:'\2022 \2022 \2022'; display:block;
    padding:.35rem .8rem; font-size:.7rem; letter-spacing:.35em; line-height:1.4;
    color:var(--surface-dim,#9ca3af);
    background:color-mix(in srgb, var(--surface-ink,#111827) 5%, var(--surface,#f8fafc));
    border:1px solid var(--surface-bd,#e3e6ee); border-bottom:0 }
.page-content .pc-shot figcaption{
    margin:.55rem 0 0; font-size:.82rem; color:var(--surface-mute,#6b7280) }
:root.dark .page-content .pc-shot > img,
:root.dark .page-content .pc-shot::before{ border-color:#374151 }

.page-content .pc-shots{ display:grid; grid-template-columns:1fr 1fr; gap:1.25rem; margin:1.75rem 0 }
.page-content .pc-shots .pc-shot{ margin:0 }
.page-content .pc-shots .pc-shot > img{ max-height:15rem }
@media (max-width:768px){
    .page-content .pc-shots{ grid-template-columns:1fr }
    .page-content .pc-shot > img{ max-height:18rem }
}

.page-content .pc-tech{ display:flex; flex-wrap:wrap; gap:.45rem; margin:1.25rem 0;
    padding:0; list-style:none }
.page-content .pc-tech li{ margin:0; padding:.35rem .8rem; font-size:.8rem; font-weight:600;
    color:#4338ca; background:color-mix(in srgb, var(--color-primary,#6366f1) 12%, var(--surface,#eef2ff)); border:1px solid color-mix(in srgb, var(--color-primary,#6366f1) 26%, var(--surface,#e0e7ff)) }
:root.dark .page-content .pc-tech li{ color:#c7d2fe; background:#1e1b4b; border-color:#312e81 }

@media (max-width:640px){
    .page-content .pc-stats{ grid-template-columns:1fr 1fr }
    .page-content .pc-stats li > b,
    .page-content .pc-stats li > strong{ font-size:1.5rem }

    .page-content .pc-cta{ flex-direction:column; align-items:stretch; text-align:center }
    .page-content .pc-cta a{ text-align:center }
}


.page-content .pc-faq{ display:grid; gap:.6rem; margin:1.5rem 0 }

.page-content .pc-faq__item{ background:var(--surface,#fff); border:1px solid var(--surface-bd,#eef2f7);
    transition:border-color .15s }
.page-content .pc-faq__item:hover{ border-color:#c7d2fe }
.page-content .pc-faq__item[open]{ border-color:var(--color-primary,#6366f1) }

.page-content .pc-faq__item > summary{ display:flex; align-items:flex-start; gap:.75rem;
    padding:.95rem 1.15rem; font-weight:600; color:var(--surface-ink,#111827); cursor:pointer;
    list-style:none; user-select:none }
.page-content .pc-faq__item > summary::-webkit-details-marker{ display:none }
.page-content .pc-faq__item > summary::marker{ content:'' }

.page-content .pc-faq__item > summary::after{ content:'⌄'; margin-left:auto; flex:none;
    font-size:1.15rem; line-height:1; color:var(--surface-dim,#94a3b8); transform:translateY(-2px);
    transition:transform .2s, color .15s }
.page-content .pc-faq__item[open] > summary::after{ transform:translateY(2px) rotate(180deg);
    color:var(--color-primary,#6366f1) }
.page-content .pc-faq__item > summary:hover{ color:var(--color-primary,#6366f1) }
.page-content .pc-faq__item > summary:focus-visible{ outline:2px solid var(--color-primary,#6366f1);
    outline-offset:-2px }

.page-content .pc-faq{ counter-reset:pc-faq }
.page-content .pc-faq__item{ counter-increment:pc-faq }
.page-content .pc-faq__item > summary::before{ content:counter(pc-faq); flex:none;
    display:flex; align-items:center; justify-content:center; width:1.5rem; height:1.5rem;
    font-size:.7rem; font-weight:800; color:var(--color-primary,#6366f1);
    background:color-mix(in srgb, var(--color-primary,#6366f1) 12%, var(--surface,#eef2ff)) }
.page-content .pc-faq__item[open] > summary::before{ color:var(--on-accent,#fff);
    background:var(--color-primary,#6366f1) }

.page-content .pc-faq__item > :not(summary){ margin:0 1.15rem .95rem;
    padding-left:2.25rem; color:var(--surface-ink,#475569); line-height:1.6 }
.page-content .pc-faq__item > summary + *{ margin-top:.15rem }

:root.dark .page-content .pc-faq__item{ background:#111827; border-color:var(--surface-ink,#1f2937) }
:root.dark .page-content .pc-faq__item > summary{ color:#f3f4f6 }
:root.dark .page-content .pc-faq__item > :not(summary){ color:#cbd5e1 }
:root.dark .page-content .pc-faq__item > summary::before{ background:#1e1b4b }

@media (max-width:640px){
    .page-content .pc-faq__item > summary{ padding:.8rem .9rem; font-size:.95rem }
    .page-content .pc-faq__item > :not(summary){ margin:0 .9rem .8rem; padding-left:2.25rem }
}

.page-content .pc-faq-bar{ display:flex; align-items:center; gap:.5rem; flex-wrap:wrap;
    margin:1.5rem 0 .75rem }
.page-content .pc-faq-bar__input{ flex:1 1 14rem; min-width:0; height:42px;
    padding:0 .9rem; font-size:.9rem; color:var(--surface-ink,#0f172a);
    background:var(--surface,#fff); border:1px solid var(--surface-bd,#e2e8f0) }
.page-content .pc-faq-bar__input:focus{ outline:none; border-color:var(--color-primary,#6366f1);
    box-shadow:0 0 0 3px rgba(99,102,241,.15) }
.page-content .pc-faq-bar__count{ flex:none; font-size:.8rem; color:var(--surface-mute,#64748b);
    font-variant-numeric:tabular-nums }
.page-content .pc-faq-bar__btn{ flex:none; height:42px; padding:0 .85rem;
    font-size:.82rem; font-weight:600; color:var(--surface-ink,#334155);
    background:var(--surface,#fff); border:1px solid var(--surface-bd,#e2e8f0); cursor:pointer;
    transition:border-color .15s, color .15s }
.page-content .pc-faq-bar__btn:hover{ border-color:var(--color-primary,#6366f1);
    color:var(--color-primary,#6366f1) }
.page-content .pc-faq-bar__btn:focus-visible{ outline:2px solid var(--color-primary,#6366f1);
    outline-offset:2px }

.page-content .pc-faq-empty{ margin:1.5rem 0; padding:1.5rem; text-align:center;
    color:var(--surface-mute,#64748b); background:var(--surface-2,#f8fafc); border:1px dashed #cbd5e1 }

:root.dark .page-content .pc-faq-bar__input,
:root.dark .page-content .pc-faq-bar__btn{ color:#e2e8f0; background:#111827; border-color:var(--surface-ink,#1f2937) }
:root.dark .page-content .pc-faq-empty{ color:var(--surface-dim,#94a3b8); background:#0b1220; border-color:var(--surface-ink,#334155) }

@media (max-width:640px){
    .page-content .pc-faq-bar__input{ flex:1 1 100% }
    .page-content .pc-faq-bar__count{ order:3; flex:1 1 100%; text-align:center }
    .page-content .pc-faq-bar__btn{ flex:1 1 0 }
}


.mce-content-body details.pc-faq__item > *:not(summary){ display:block !important }

.mce-content-body details.pc-faq__item > summary::after{ display:none }

.mce-content-body .pc-faq{ position:relative; padding-top:1.6rem;
    border-top:1px dashed #c7d2fe }
.mce-content-body .pc-faq::before{ content:'Вопросы и ответы — на сайте свёрнуты в список';
    position:absolute; top:.25rem; left:0; font-size:.7rem; font-weight:600;
    letter-spacing:.03em; color:#818cf8 }

.mce-content-body details.pc-faq__item{ border-color:#c7d2fe }
.mce-content-body details.pc-faq__item > summary{ cursor:text }


.page-content .pc-contacts{ display:grid;
    grid-template-columns:repeat(auto-fit,minmax(16rem,1fr)); gap:1rem;
    margin:1.5rem 0; padding:0; list-style:none }

.page-content .pc-contacts li{ position:relative; margin:0;
    padding:1.1rem 3.4rem 1.1rem 1.25rem;
    background:var(--surface,#fff); border:1px solid var(--surface-bd,#eef2f7); transition:border-color .15s }
.page-content .pc-contacts li:hover{ border-color:var(--color-primary,#6366f1) }

.page-content .pc-contacts li > span:not(.pc-ico){ display:block; margin-bottom:.3rem;
    font-size:.7rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase;
    color:var(--surface-dim,#94a3b8) }
.page-content .pc-contacts li > b,
.page-content .pc-contacts li > strong{ display:block; font-size:1.05rem;
    font-weight:700; color:var(--surface-ink,#111827); line-height:1.35 }
.page-content .pc-contacts a{ color:inherit; text-decoration:none }
.page-content .pc-contacts a:hover{ color:var(--color-primary,#6366f1) }
.page-content .pc-contacts small{ display:block; margin-top:.3rem; font-size:.82rem;
    color:var(--surface-mute,#64748b) }

.page-content .pc-copy{ position:absolute; top:.9rem; right:.9rem; display:inline-flex;
    align-items:center; justify-content:center; width:32px; height:32px;
    font-size:.75rem; color:var(--surface-mute,#64748b); background:var(--surface-2,#f8fafc); border:1px solid var(--surface-bd,#e2e8f0);
    cursor:pointer; transition:color .15s, border-color .15s }
.page-content .pc-copy:hover{ color:var(--color-primary,#6366f1);
    border-color:var(--color-primary,#6366f1) }
.page-content .pc-copy:focus-visible{ outline:2px solid var(--color-primary,#6366f1);
    outline-offset:2px }
.page-content .pc-copy.is-done{ color:var(--on-accent,#fff); background:var(--color-primary,#6366f1);
    border-color:var(--color-primary,#6366f1) }

:root.dark .page-content .pc-contacts li{ background:#111827; border-color:var(--surface-ink,#1f2937) }
:root.dark .page-content .pc-contacts li > b,
:root.dark .page-content .pc-contacts li > strong{ color:#f3f4f6 }
:root.dark .page-content .pc-copy{ color:var(--surface-dim,#94a3b8); background:#0b1220; border-color:var(--surface-ink,#1f2937) }

.page-content .pc-map{ position:relative; margin:1.5rem 0; overflow:hidden;
    background:color-mix(in srgb, var(--color-primary,#6366f1) 12%, var(--surface,#eef2ff)); border:1px solid color-mix(in srgb, var(--color-primary,#6366f1) 26%, var(--surface,#e0e7ff)) }
.page-content .pc-map__stub{ display:flex; flex-direction:column; align-items:center;
    justify-content:center; gap:.75rem; min-height:18rem; padding:2rem 1rem;
    text-align:center; color:color-mix(in srgb, var(--color-primary,#6366f1) 45%, var(--surface-ink,#4338ca)) }
.page-content .pc-map__note{ max-width:32rem; font-size:.85rem; color:var(--surface-mute,#64748b) }
.page-content .pc-map__btn{ padding:.65rem 1.4rem; font-size:.9rem; font-weight:700;
    color:var(--on-accent,#fff); background:var(--color-primary,#6366f1); border:0; cursor:pointer }
body.fx-theme-dark .page-content .pc-map__btn{ color:var(--color-bg) }
.page-content .pc-map__btn:hover{ filter:brightness(1.07) }
.page-content .pc-map iframe{ display:block; width:100%; margin:0; border:0;
    height:clamp(20rem, 58vh, 34rem) }


.page-content .pc-actions{ display:flex; flex-wrap:wrap; align-items:stretch;
    gap:.6rem; margin:1.5rem 0; padding:0; list-style:none }
.page-content .pc-actions li{ margin:0; flex:0 1 auto }
.page-content .pc-actions a{ display:flex; align-items:center; justify-content:center;
    gap:.55rem; box-sizing:border-box; height:44px; padding:0 1.15rem;
    font-size:.9rem; font-weight:700; white-space:nowrap; line-height:1;
    color:var(--on-accent,#fff); text-decoration:none;
    background:linear-gradient(135deg,var(--color-primary,#6366f1),var(--color-accent,#8b5cf6));
    transition:filter .15s, transform .15s }
.page-content .pc-actions a:hover{ filter:brightness(1.07); transform:translateY(-1px) }
.page-content .pc-actions a:focus-visible{ outline:2px solid var(--color-primary,#6366f1);
    outline-offset:2px }

.page-content .pc-actions li.is-plain a{ color:var(--surface-ink,#334155); background:var(--surface,#fff);
    border:1px solid var(--surface-bd,#e2e8f0) }
.page-content .pc-actions li.is-plain a:hover{ color:var(--color-primary,#6366f1);
    border-color:var(--color-primary,#6366f1); filter:none }
:root.dark .page-content .pc-actions li.is-plain a{ color:#cbd5e1; background:#111827;
    border-color:var(--surface-ink,#1f2937) }

@media (max-width: 640px){
    .page-content .pc-actions li{ flex:1 1 100% }
    .page-content .pc-actions a{ height:48px }
}

.page-content .pc-now{ display:inline-flex; align-items:center; gap:.4rem;
    margin-top:.45rem; padding:.16rem .55rem; font-size:.72rem; font-weight:700;
    color:color-mix(in srgb, #16a34a 62%, var(--surface-ink,#166534));
    background:color-mix(in srgb, #16a34a 18%, var(--surface,#dcfce7)) }
.page-content .pc-now::before{ content:''; width:.45rem; height:.45rem; flex:none;
    border-radius:9999px; background:#22c55e }
.page-content .pc-now.is-closed{
    color:color-mix(in srgb, #ea580c 62%, var(--surface-ink,#9a3412));
    background:color-mix(in srgb, #ea580c 18%, var(--surface,#ffedd5)) }
.page-content .pc-now.is-closed::before{ background:#f97316 }

.page-content .pc-contacts .pc-ico{ width:2rem; height:2rem; margin-bottom:.6rem;
    font-size:.8rem }

.page-content .pc-sitemap{ display:grid;
    grid-template-columns:repeat(auto-fit,minmax(15rem,1fr)); gap:1.25rem; margin:1.5rem 0 }
.page-content .pc-sitemap__group{ padding:1.1rem 1.25rem; background:var(--surface,#fff);
    border:1px solid var(--surface-bd,#eef2f7) }
.page-content .pc-sitemap__group h3{ margin:0 0 .6rem; font-size:.72rem; font-weight:700;
    letter-spacing:.08em; text-transform:uppercase; color:var(--surface-dim,#94a3b8) }
.page-content .pc-sitemap__group ul{ margin:0; padding:0; list-style:none;
    display:grid; gap:.35rem }
.page-content .pc-sitemap__group li{ margin:0 }
.page-content .pc-sitemap__group a{ display:inline-flex; align-items:center; gap:.45rem;
    font-size:.92rem; color:var(--surface-ink,#334155); text-decoration:none; line-height:1.4 }
.page-content .pc-sitemap__group a::before{ content:''; width:.3rem; height:.3rem; flex:none;
    background:var(--color-primary,#6366f1) }
.page-content .pc-sitemap__group a:hover{ color:var(--color-primary,#6366f1) }

:root.dark .page-content .pc-sitemap__group{ background:#111827; border-color:var(--surface-ink,#1f2937) }
:root.dark .page-content .pc-sitemap__group a{ color:#cbd5e1 }


.page-content .pc-file {
    margin: 1.1rem 0;
}

.page-content .pc-file a {
    display: flex;
    align-items: center;
    gap: .85rem;
    padding: .8rem 1rem;
    text-decoration: none;
    color:var(--surface-ink,#1f2937);
    background: var(--surface-2, #f8fafc);
    border: 1px solid #e5e7eb;
    transition: border-color .15s ease, background .15s ease;
}

.page-content .pc-file a:hover {
    border-color: #6366f1;
    background: #eef2ff;
}

.page-content .pc-file__ext {
    flex: 0 0 auto;
    min-width: 2.9rem;
    padding: .3rem .4rem;
    font: 700 .7rem/1 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    text-align: center;
    text-transform: uppercase;
    color: #fff;
    background: #6366f1;
}

.page-content .pc-file__name {
    flex: 1 1 auto;
    min-width: 0;
    font-weight: 600;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.page-content .pc-file__size {
    flex: 0 0 auto;
    font-size: .8rem;
    color:var(--surface-ink,#6b7280);
}

.page-content video,
.page-content audio,
.page-content iframe {
    max-width: 100%;
}

.page-content audio {
    width: 100%;
}



.page-content .pc-player,
.page-content .pc-chapters {
    --pc-accent: var(--color-primary, #6366f1);
    --pc-surface: #ffffff;
    --pc-border: #e2e5ee;
    --pc-ink: #111827;
    --pc-muted: #6b7280;
    --pc-rail: #e8eaf1;

    margin: 1.6rem 0;
}


.page-content .pc-player--video {
    background: #0b1020;
    border: 1px solid var(--pc-border);
    box-shadow: 0 1px 2px rgba(17, 24, 39, .06), 0 8px 24px -14px rgba(17, 24, 39, .35);
    transition: border-color .18s ease, box-shadow .18s ease;
}

.page-content .pc-player--video:hover {
    border-color: var(--pc-accent);
    box-shadow: 0 1px 2px rgba(17, 24, 39, .08), 0 14px 32px -14px rgba(99, 102, 241, .45);
}

.page-content .pc-player--video video {
    display: block;
    width: 100%;
    background: #0b1020;
}


.page-content .pc-audio {
    --pc-audio-accent: var(--pc-accent);

    display: flex;
    align-items: center;
    gap: 12px;
    padding: 13px 16px;

    box-sizing: border-box;
    background: var(--pc-surface);
    border: 1px solid var(--pc-border);

    border-left: 3px solid var(--pc-accent);
    box-shadow: 0 1px 2px rgba(17, 24, 39, .05);
    transition: border-color .18s ease, box-shadow .18s ease;
}

.page-content .pc-audio:not([style*="width"]) {
    max-width: 560px;
}

.page-content .pc-audio:hover {
    box-shadow: 0 1px 2px rgba(17, 24, 39, .07), 0 10px 26px -16px rgba(99, 102, 241, .5);
}

.page-content .pc-audio__ui {
    display: none;
    align-items: center;
    gap: 14px;
    width: 100%;
}

.page-content .pc-audio.is-ready audio {
    display: none;
}

.page-content .pc-audio.is-ready .pc-audio__ui {
    display: flex;
}


.page-content .pc-audio__play {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 40px;
    height: 40px;
    padding: 0;
    color: #fff;
    background: var(--pc-accent);
    border: 0;
    cursor: pointer;
    transition: background .15s ease, box-shadow .15s ease, transform .06s ease;
}

.page-content .pc-audio__play:hover {
    background: color-mix(in srgb, var(--pc-accent) 86%, #000);
    box-shadow: 0 6px 16px -6px rgba(99, 102, 241, .7);
}

.page-content .pc-audio__play:active { transform: translateY(1px) }

.page-content .pc-audio__play:focus-visible {
    outline: 2px solid var(--pc-accent);
    outline-offset: 2px;
}

.page-content .pc-audio__play svg {
    width: 14px;
    height: 14px;
    margin-left: 1px;
    fill: currentColor;
}

.page-content .pc-audio__body {
    display: flex;
    flex-direction: column;
    gap: 7px;
    flex: 1 1 auto;
    min-width: 0;
}


.page-content .pc-audio__track {
    position: relative;
    height: 18px;
    display: flex;
    align-items: center;
    cursor: pointer;
    touch-action: none;
}

.page-content .pc-audio__rail {
    position: relative;
    width: 100%;
    height: 5px;
    background: var(--pc-rail);
    transition: height .14s ease;
}

.page-content .pc-audio__track:hover .pc-audio__rail,
.page-content .pc-audio__track:focus-visible .pc-audio__rail { height: 7px }

.page-content .pc-audio__fill {
    position: absolute;
    inset: 0 auto 0 0;
    width: 0;
    background: linear-gradient(90deg,
                color-mix(in srgb, var(--pc-accent) 60%, #fff),
                var(--pc-accent));
}

.page-content .pc-audio__knob {
    position: absolute;
    top: 50%;
    left: 0;
    width: 3px;
    height: 16px;
    margin: -8px 0 0 -1px;
    background: var(--pc-accent);
    box-shadow: 0 0 0 2px var(--pc-surface);
    pointer-events: none;
    transition: height .14s ease, margin-top .14s ease;
}

.page-content .pc-audio__track:hover .pc-audio__knob,
.page-content .pc-audio__track:focus-visible .pc-audio__knob {
    height: 20px;
    margin-top: -10px;
}

.page-content .pc-audio__track:focus-visible {
    outline: 2px solid var(--pc-accent);
    outline-offset: 3px;
}


.page-content .pc-audio__meta {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: .78rem;
    line-height: 1;
    color: var(--pc-muted);
    font-variant-numeric: tabular-nums;
}

.page-content .pc-audio__time {
    flex: 0 0 auto;
    color: var(--pc-ink);
    font-weight: 600;
    letter-spacing: .01em;
}

.page-content .pc-audio__name {
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    opacity: .85;
}

.page-content .pc-audio__rate {
    flex: 0 0 auto;
    padding: 3px 8px;
    font: inherit;
    font-size: .72rem;
    font-weight: 600;
    line-height: 1;
    color: var(--pc-muted);
    background: transparent;
    border: 1px solid var(--pc-border);
    cursor: pointer;
    transition: color .15s ease, border-color .15s ease, background .15s ease;
}

.page-content .pc-audio__rate:hover {
    color: var(--pc-accent);
    background: color-mix(in srgb, var(--pc-accent) 8%, transparent);
    border-color: var(--pc-accent);
}

.page-content .pc-audio__mute {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 32px;
    height: 32px;
    padding: 0;
    color: var(--pc-muted);
    background: transparent;
    border: 0;
    cursor: pointer;
    transition: color .15s ease, background .15s ease;
}

.page-content .pc-audio__mute:hover {
    color: var(--pc-accent);
    background: color-mix(in srgb, var(--pc-accent) 8%, transparent);
}

.page-content .pc-audio__mute svg { width: 16px; height: 16px; fill: currentColor }

@media (max-width: 520px) {
    .page-content .pc-audio__name,
    .page-content .pc-audio__rate { display: none }

    .page-content .pc-audio { padding: 11px 13px; gap: 10px }
    .page-content .pc-audio__play { width: 36px; height: 36px }
}

body.fx-theme-dark .page-content .pc-player,
body.fx-theme-dark .page-content .pc-chapters {
    --pc-surface: #151922;
    --pc-border: #2c3342;
    --pc-ink: #e8ecf3;
    --pc-muted: #94a1b5;
    --pc-rail: #2a303d;
}

@media (max-width: 1024px) {
    .page-content .pc-contacts li > span:not(.pc-ico),
    .page-content .pc-contacts small,
    .page-content .pc-now,
    .page-content .pc-note small { font-size: 12px; }
    .page-content .pc-sitemap__group h3 { font-size: 12px; }
}

.page-content pre,
.news-content pre {
    margin: 1.5rem 0;
    padding: 1rem 1.15rem;
    background: #0f172a;
    color: #e5e7eb;
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: .9rem;
    line-height: 1.7;
    white-space: pre-wrap;
    word-break: break-word;
    overflow-x: auto;
}

.page-content pre code,
.news-content pre code {
    background: none;
    padding: 0;
    color: inherit;
    font-size: inherit;
}

.page-content :not(pre) > code,
.news-content :not(pre) > code {
    padding: .1em .35em;
    background: var(--surface-2, #f1f5f9);
    border: 1px solid var(--surface-bd, #e2e8f0);
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: .92em;
    word-break: break-word;
}

@media (max-width: 1024px) {
    .page-content pre,
    .news-content pre { padding: .85rem .9rem; }
}

.page-content .pc-table,
.news-content .pc-table {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    margin: 1.4rem 0;
    border: 1px solid var(--surface-bd, #e2e8f0);
}

.page-content table,
.news-content table {
    width: 100%;
    border-collapse: collapse;
    font-size: .92rem;
    background: var(--surface, #fff);
}

.page-content th,
.news-content th {
    padding: .8rem .9rem;
    text-align: left;
    font-weight: 700;
    color: var(--surface-ink, #0f172a);
    background: var(--surface-2, #f8fafc);
    border-bottom: 2px solid var(--surface-bd, #e2e8f0);
    white-space: nowrap;
}

.page-content .pc-table table,
.news-content .pc-table table {
    display: table;
    table-layout: fixed;
    width: 100%;
}

@media (max-width: 1024px) {
    .page-content .pc-table table,
    .news-content .pc-table table {
        display: block;
        overflow-x: auto;
        table-layout: auto;
        -webkit-overflow-scrolling: touch;
    }
}

.page-content .pc-table th,
.news-content .pc-table th { white-space: normal }

.page-content .pc-table th:first-child,
.news-content .pc-table th:first-child { width: 28% }

.page-content td,
.news-content td {
    padding: .75rem .9rem;
    vertical-align: top;
    border-bottom: 1px solid var(--surface-bd, #eef2f7);
    overflow-wrap: break-word;
}

.page-content tbody tr:last-child td,
.news-content tbody tr:last-child td { border-bottom: 0 }

.page-content tbody td:first-child,
.news-content tbody td:first-child {
    font-weight: 600;
    color: var(--surface-ink, #0f172a);
}

.page-content .is-us,
.news-content .is-us {
    background: color-mix(in srgb, var(--color-primary, #6366f1) 7%, transparent);
}

.page-content th.is-us,
.news-content th.is-us {
    background: color-mix(in srgb, var(--color-primary, #6366f1) 14%, transparent);
    color: color-mix(in srgb, var(--color-primary, #6366f1) 75%, var(--surface-ink, #0f172a));
}

.page-content .yes, .news-content .yes { color: #15803d; font-weight: 700 }
.page-content .no,  .news-content .no  { color: #b91c1c; font-weight: 700 }
.page-content .mid, .news-content .mid { color: #a16207; font-weight: 700 }

@media (max-width: 1024px) {
    .page-content table,
    .news-content table { font-size: .86rem }

    .page-content th, .news-content th,
    .page-content td, .news-content td { padding: .6rem .7rem }
}


.ru-code-off {
    margin: 1em 0;
    padding: .9em 1em;
    overflow-x: auto;
    font: 13px/1.55 ui-monospace, SFMono-Regular, Consolas, monospace;
    white-space: pre-wrap;
    word-break: break-word;
    color: #334155;
    background: #f1f5f9;
    border-left: 3px solid #94a3b8;
}

.ru-code-error {
    margin: 1em 0;
    padding: .9em 1em;
    overflow-x: auto;
    font: 13px/1.55 ui-monospace, SFMono-Regular, Consolas, monospace;
    white-space: pre-wrap;
    word-break: break-word;
    color: #7f1d1d;
    background: #fef2f2;
    border-left: 3px solid #dc2626;
}


.page-content .pc-toc {
    margin: 1.6rem 0;
    padding: 14px 18px;
    background: var(--pc-toc-bg, #f7f8fb);
    border-left: 3px solid var(--color-primary, #6366f1);
}

.page-content .pc-toc__title {
    margin: 0 0 8px;
    font-size: .74rem;
    font-weight: 700;
    letter-spacing: .09em;
    text-transform: uppercase;
    color: var(--pc-toc-mute, #6b7280);
}

.page-content .pc-toc__list {
    margin: 0;
    padding: 0;
    list-style: none;
    counter-reset: раздел;
}

.page-content .pc-toc__list li {
    margin: 0;

    break-inside: avoid;
}

@media (min-width: 640px) {
    .page-content .pc-toc__list {
        columns: 2;
        column-gap: 2rem;
    }
}

.page-content .pc-toc__list a {
    display: block;
    padding: 5px 0;
    color: var(--pc-toc-ink, #111827);
    text-decoration: none;
    line-height: 1.4;

    min-height: 24px;
    box-sizing: border-box;
}

.page-content .pc-toc__list a:hover,
.page-content .pc-toc__list a:focus-visible {
    color: var(--color-primary, #6366f1);
    text-decoration: underline;
}

.page-content .pc-toc__sub a {
    padding-left: 1.1rem;
    font-size: .93em;
    color: var(--pc-toc-mute, #6b7280);
}


.page-content .pc-anchor {
    margin-left: .35em;
    color: var(--color-primary, #6366f1);
    text-decoration: none;
    font-weight: 400;
    user-select: none;
    -webkit-user-select: none;

    opacity: 0;
    transition: opacity .15s ease;
}

.page-content :is(h2, h3):hover > .pc-anchor,
.page-content .pc-anchor:focus-visible {
    opacity: 1;
}

.page-content :is(h2, h3):target {
    box-shadow: inset 3px 0 0 var(--color-primary, #6366f1);
    padding-left: 12px;
}

.page-content :is(h2, h3)[id] {
    scroll-margin-top: 5rem;
}

@media (max-width: 1024px), (max-height: 500px) {
    .page-content .pc-anchor {
        opacity: .45;

        padding: .35em .45em;
        margin-left: 0;
    }

    .page-content .pc-toc__title { font-size: 12px }
    .page-content .pc-toc__list a { min-height: 32px; padding: 7px 0 }
}

body.fx-theme-dark .page-content .pc-toc {
    --pc-toc-bg: #151922;
    --pc-toc-ink: #e8ecf3;
    --pc-toc-mute: #94a1b5;
}


.page-content .pc-gallery{ display:grid; margin:1.6rem 0;
    grid-template-columns:4.5rem minmax(0, 1fr); grid-auto-rows:3.3rem; gap:.4rem .5rem }
.page-content .pc-gallery > img{ grid-column:1; width:100%; height:100%; aspect-ratio:auto;
    object-fit:cover; display:block; margin:0; background:var(--pc-soft,#f8fafc) }
.page-content .pc-gallery > img:first-child{ grid-column:2; grid-row:1 / span 6; object-fit:contain }

.page-content .pc-gallery.is-live{ grid-template-columns:4.75rem minmax(0, 1fr);
    grid-auto-rows:auto; gap:.5rem }

.page-content .pc-gal__thumbs{ grid-column:1; grid-row:1; contain:size; display:flex;
    flex-direction:column; gap:.4rem; overflow-y:auto; overscroll-behavior:contain;
    scrollbar-width:thin }
.page-content .pc-gal__thumb{ flex:none; display:block; width:100%; aspect-ratio:1; padding:0;
    overflow:hidden; cursor:pointer; opacity:.7;
    background:var(--pc-soft,#f8fafc); border:2px solid transparent }
.page-content .pc-gal__thumb:hover,
.page-content .pc-gal__thumb:focus-visible{ opacity:1 }
.page-content .pc-gal__thumb.is-on{ opacity:1; border-color:var(--color-primary,#6366f1) }
.page-content .pc-gal__thumb img{ width:100%; height:100%; aspect-ratio:auto; max-height:none;
    object-fit:cover; display:block; margin:0 }

.page-content .pc-gal__view{ grid-column:2; grid-row:1; position:relative; min-width:0;
    overflow:hidden; background:var(--pc-soft,#f8fafc); touch-action:pan-y;
    cursor:grab; -webkit-user-select:none; user-select:none }
.page-content .pc-gal__view.is-dragging{ cursor:grabbing }

.page-content .pc-gal__track{ display:flex; height:100%; transition:transform .3s ease }
.page-content .pc-gal__frame{ flex:0 0 100%; min-width:0; min-height:14rem;
    display:flex; align-items:center; justify-content:center }
.page-content .pc-gal__frame img{ aspect-ratio:auto; width:auto; max-width:100%; max-height:32rem;
    object-fit:contain; display:block; margin:0 }

.page-content .pc-gal__arrow{ position:absolute; top:50%; margin-top:-1.35rem;
    width:2.7rem; height:2.7rem; display:flex; align-items:center;
    justify-content:center; font-size:1.1rem; line-height:1;
    color:var(--pc-ink,#111827); background:rgba(255,255,255,.86);
    border:0; cursor:pointer }
.page-content .pc-gal__arrow:hover{ background:#fff }
.page-content .pc-gal__arrow--prev{ left:.4rem }
.page-content .pc-gal__arrow--next{ right:.4rem }

.page-content .pc-gal__num{ position:absolute; right:.5rem; top:.5rem;
    padding:.15rem .5rem; font-size:.75rem; font-weight:600;
    color:#fff; background:rgba(15,23,42,.6) }

@media (max-width: 1024px), (max-height: 500px){
    .page-content .pc-gal__arrow{ display:none }
}

@media (max-width: 640px){
    .page-content .pc-gallery{ grid-template-columns:3.4rem minmax(0, 1fr); grid-auto-rows:2.6rem }
    .page-content .pc-gallery.is-live{ grid-template-columns:3.6rem minmax(0, 1fr); gap:.4rem }
    .page-content .pc-gal__frame{ min-height:11rem }
    .page-content .pc-gal__frame img{ max-height:24rem }
}

@media (prefers-reduced-motion: reduce){
    .page-content .pc-gal__track{ transition:none }
}

.page-content .pc-lead{ max-width:58rem; font-size:clamp(1.08rem, 1.55vw, 1.24rem); line-height:1.62;
    color:var(--surface-ink,#1f2937) }

.page-content .pc-eyebrow{ display:flex; align-items:center; gap:.6rem; margin:3rem 0 .55rem;
    font-size:.75rem; font-weight:800; line-height:1.3; letter-spacing:.14em; text-transform:uppercase;
    color:var(--color-primary,#6366f1) }
.page-content .pc-eyebrow::before{ content:''; flex:none; width:1.75rem; height:2px; background:currentColor }
.page-content > .pc-eyebrow:first-child{ margin-top:0 }
.page-content .pc-eyebrow + h2{ margin-top:0 }
.page-content .pc-eyebrow + h2 + p{ max-width:52rem; font-size:1.04rem; color:var(--surface-mute,#475569) }

.page-content .pc-grid--2{ grid-template-columns:repeat(2, minmax(0, 1fr)) }
.page-content .pc-grid--3{ grid-template-columns:repeat(3, minmax(0, 1fr)) }
.page-content .pc-grid--4{ grid-template-columns:repeat(4, minmax(0, 1fr)) }

.page-content .pc-card{ position:relative; padding:1.35rem 1.45rem 1.4rem }
.page-content .pc-card::before{ content:''; position:absolute; left:-1px; right:-1px; top:-1px; height:3px;
    background:linear-gradient(90deg, var(--color-primary,#6366f1), var(--color-accent,#8b5cf6));
    transform:scaleX(0); transform-origin:left center; transition:transform .35s ease }
.page-content .pc-card:hover::before{ transform:scaleX(1) }
.page-content .pc-card--accent{ background:color-mix(in srgb, var(--color-primary,#6366f1) 6%, var(--surface,#fff));
    border-color:color-mix(in srgb, var(--color-primary,#6366f1) 28%, var(--surface,#fff)) }
.page-content .pc-card--pic{ padding:0; overflow:hidden }
.page-content .pc-card--pic > img{ display:block; width:100%; height:auto; aspect-ratio:16 / 10; object-fit:cover;
    margin:0; transition:transform .6s ease }
.page-content .pc-card--pic:hover > img{ transform:scale(1.04) }
.page-content .pc-card--pic > :not(img){ margin-left:1.45rem; margin-right:1.45rem }
.page-content .pc-card--pic > img + *{ margin-top:1.15rem }
.page-content .pc-card--pic > :last-child{ margin-bottom:1.4rem }

.page-content .pc-stats li{ display:flex; flex-direction:column; align-items:center; justify-content:center;
    padding:1.6rem 1rem 1.4rem }
.page-content .pc-stats li > b,
.page-content .pc-stats li > strong{ order:1; font-size:clamp(1.9rem, 3.2vw, 2.6rem); letter-spacing:-.03em }
.page-content .pc-stats li > span{ order:2; margin-top:.45rem; font-size:.82rem; line-height:1.4 }

.page-content .pc-steps li{ padding:1.35rem 1.4rem 1.35rem 4.1rem }
.page-content .pc-steps li::before{ left:1.15rem; top:1.2rem; width:2.2rem; height:2.2rem; font-size:.95rem;
    background:linear-gradient(135deg, var(--color-primary,#6366f1), var(--color-accent,#8b5cf6)) }
.page-content .pc-steps--line{ grid-template-columns:minmax(0, 1fr); gap:0 }
.page-content .pc-steps--line li{ padding:0 0 1.7rem 3.7rem; background:none; border:0 }
.page-content .pc-steps--line li::before{ left:0; top:0 }
.page-content .pc-steps--line li::after{ content:''; position:absolute; left:1.05rem; top:2.6rem; bottom:.35rem;
    width:2px; background:color-mix(in srgb, var(--color-primary,#6366f1) 22%, var(--surface,#fff)) }
.page-content .pc-steps--line li:last-child{ padding-bottom:0 }
.page-content .pc-steps--line li:last-child::after{ display:none }

.page-content .pc-split{ gap:2.75rem; margin:2.75rem 0 }
.page-content .pc-split img{ border:0;
    box-shadow:14px 14px 0 color-mix(in srgb, var(--color-primary,#6366f1) 14%, var(--surface-2,#f1f5f9)) }
.page-content .pc-split--rev > :first-child{ order:2 }

.page-content .pc-cta{ grid-template-columns:minmax(0, 1fr) auto; gap:.35rem 2.25rem; margin:2.75rem 0 1rem;
    padding:1.8rem 2rem; color:var(--surface-ink,#111827);
    border:1px solid color-mix(in srgb, var(--color-primary,#6366f1) 26%, var(--surface,#fff));
    border-left:4px solid var(--color-primary,#6366f1);
    background:linear-gradient(120deg,
        color-mix(in srgb, var(--color-primary,#6366f1) 9%, var(--surface,#fff)),
        color-mix(in srgb, var(--color-accent,#8b5cf6) 6%, var(--surface,#fff))) }
.page-content .pc-cta > *{ grid-column:1 }
.page-content .pc-cta > :last-child{ grid-column:2; grid-row:1 / span 6; align-self:center;
    display:flex; flex-wrap:wrap; gap:.6rem; justify-content:flex-end }
.page-content .pc-cta h3{ font-size:clamp(1.15rem, 1.8vw, 1.35rem); color:var(--surface-ink,#111827) }
.page-content .pc-cta p{ font-size:.98rem; color:var(--surface-mute,#475569) }
.page-content .pc-cta a{ color:var(--on-primary,#fff); background:var(--color-primary,#6366f1);
    border:1px solid var(--color-primary,#6366f1); box-shadow:none }
.page-content .pc-cta a:hover{ color:var(--on-primary,#fff); background:var(--color-primary,#6366f1);
    filter:brightness(1.08) }
.page-content .pc-cta a + a{ color:var(--surface-ink,#111827); background:var(--surface,#fff);
    border-color:var(--surface-bd,#cbd5e1) }
.page-content .pc-cta a + a::after{ content:none }
.page-content .pc-cta a + a:hover{ color:var(--color-primary,#6366f1); background:var(--surface,#fff); filter:none }

.page-content .pc-btn{ display:inline-flex; align-items:center; justify-content:center; gap:.5rem;
    min-height:46px; padding:.7rem 1.35rem; font-size:.95rem; font-weight:700; line-height:1.2;
    text-decoration:none; color:var(--on-primary,#fff); background:var(--color-primary,#6366f1);
    border:1px solid var(--color-primary,#6366f1); transition:filter .15s, transform .15s }
.page-content .pc-btn:hover{ color:var(--on-primary,#fff); text-decoration:none; filter:brightness(1.08);
    transform:translateY(-1px) }
.page-content .pc-btn--ghost{ color:var(--surface-ink,#111827); background:transparent;
    border-color:var(--surface-bd,#cbd5e1) }
.page-content .pc-btn--ghost:hover{ color:var(--color-primary,#6366f1); border-color:var(--color-primary,#6366f1);
    filter:none }

.page-content .pc-plans{ display:grid; grid-template-columns:repeat(auto-fit, minmax(16rem, 1fr));
    gap:1.25rem; margin:2.25rem 0; align-items:stretch }
.page-content .pc-plan{ position:relative; display:flex; flex-direction:column; min-width:0;
    padding:1.7rem 1.55rem 1.55rem; background:var(--surface,#fff); border:1px solid var(--surface-bd,#e5e7eb) }
.page-content .pc-plan--hit{ border:2px solid var(--color-primary,#6366f1);
    background:color-mix(in srgb, var(--color-primary,#6366f1) 4%, var(--surface,#fff));
    box-shadow:0 22px 44px -28px color-mix(in srgb, var(--color-primary,#6366f1) 70%, transparent) }
.page-content .pc-plan > :first-child{ margin-top:0 }
.page-content .pc-plan__tag{ position:absolute; top:-.8rem; left:1.5rem; margin:0; padding:.25rem .65rem;
    font-size:.75rem; font-weight:800; line-height:1.2; letter-spacing:.06em; text-transform:uppercase;
    color:var(--on-primary,#fff); background:var(--color-primary,#6366f1) }
.page-content .pc-plan__name{ margin:0 0 .4rem; font-size:.8rem; font-weight:800; letter-spacing:.12em;
    text-transform:uppercase; color:var(--color-primary,#6366f1) }
.page-content .pc-plan__price{ margin:0 0 .6rem; font-size:clamp(1.9rem, 3vw, 2.45rem); font-weight:800;
    line-height:1.08; letter-spacing:-.03em; color:var(--surface-ink,#111827); font-variant-numeric:tabular-nums }
.page-content .pc-plan__price small{ display:block; margin-top:.35rem; font-size:.82rem; font-weight:600;
    letter-spacing:0; color:var(--surface-mute,#64748b) }
.page-content .pc-plan > p:not([class]){ font-size:.95rem; line-height:1.6 }
.page-content .pc-plan .pc-check{ grid-template-columns:minmax(0, 1fr); gap:.5rem; margin:.9rem 0 1.35rem;
    font-size:.93rem }
.page-content .pc-plan > :last-child{ margin-top:auto; margin-bottom:0 }
.page-content .pc-plan .pc-btn{ width:100% }

.page-content .pc-quote{ position:relative; margin:2.75rem 0; padding:1.85rem 2rem 1.65rem 4.6rem;
    background:var(--surface-2,#f8fafc); border-left:4px solid var(--color-accent,#8b5cf6) }
.page-content .pc-quote::before{ content:'\201C'; position:absolute; left:1.25rem; top:.55rem;
    font-family:Georgia, 'Times New Roman', serif; font-size:4.6rem; line-height:1;
    color:var(--color-accent,#8b5cf6); opacity:.5 }
.page-content .pc-quote blockquote{ margin:0; padding:0; border:0; font-style:normal;
    font-size:clamp(1.1rem, 1.75vw, 1.3rem); font-weight:600; line-height:1.55; color:var(--surface-ink,#111827) }
.page-content .pc-quote blockquote p{ margin:0; line-height:inherit }
.page-content .pc-quote figcaption{ margin-top:.95rem; font-size:.88rem; line-height:1.45;
    color:var(--surface-mute,#64748b) }
.page-content .pc-quote figcaption strong{ color:var(--surface-ink,#111827) }

.page-content .pc-vs{ display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:1.1rem; margin:2.25rem 0 }
.page-content .pc-vs > div{ min-width:0; padding:1.45rem 1.55rem; background:var(--surface,#fff);
    border:1px solid var(--surface-bd,#e5e7eb) }
.page-content .pc-vs > .pc-vs__was{ background:var(--surface-2,#f8fafc) }
.page-content .pc-vs > .pc-vs__now{ border:2px solid var(--color-primary,#6366f1);
    background:color-mix(in srgb, var(--color-primary,#6366f1) 5%, var(--surface,#fff)) }
.page-content .pc-vs h3{ margin:0 0 .85rem; font-size:1.06rem }
.page-content .pc-vs ul{ display:grid; gap:.6rem; margin:0; padding:0; list-style:none }
.page-content .pc-vs li{ position:relative; margin:0; padding-left:1.65rem; line-height:1.55 }
.page-content .pc-vs li::before{ position:absolute; left:0; top:0; font-weight:800 }
.page-content .pc-vs__was li::before{ content:'\2715'; color:#b91c1c }
.page-content .pc-vs__now li::before{ content:'\2713'; color:var(--color-primary,#6366f1) }

.page-content .pc-features{ display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:1.35rem 2.25rem;
    margin:2rem 0; padding:0; list-style:none }
.page-content .pc-features li{ display:flex; align-items:flex-start; gap:.95rem; margin:0 }
.page-content .pc-features li > i{ flex:none; display:inline-flex; align-items:center; justify-content:center;
    width:2.5rem; height:2.5rem; font-size:1rem; color:var(--color-primary,#6366f1);
    background:color-mix(in srgb, var(--color-primary,#6366f1) 10%, var(--surface,#fff)) }
.page-content .pc-features li > div{ min-width:0; font-size:.96rem; line-height:1.6 }
.page-content .pc-features strong{ display:block; margin-bottom:.15rem; color:var(--surface-ink,#111827) }

.page-content .pc-photo{ margin:2.5rem 0; padding:0 }
.page-content .pc-photo img{ display:block; width:100%; height:auto; aspect-ratio:21 / 9; object-fit:cover; margin:0 }
.page-content .pc-photo figcaption{ margin-top:.65rem; font-size:.86rem; line-height:1.5;
    color:var(--surface-mute,#64748b) }

.page-content .pc-panel{ margin:2.5rem 0; padding:1.9rem 2rem; background:var(--surface-2,#f8fafc);
    border:1px solid var(--surface-bd,#eef2f7) }
.page-content .pc-panel > :first-child{ margin-top:0 }
.page-content .pc-panel > :last-child{ margin-bottom:0 }
.page-content .pc-panel .pc-card,
.page-content .pc-panel .pc-plan{ background:var(--surface,#fff) }

.page-content .pc-note--tip{ background:#f0fdf4; border-left-color:#16a34a }
.page-content .pc-note--warn{ background:#fffbeb; border-left-color:#d97706 }

.page-content .pc-yes{ font-weight:800; color:#15803d }
.page-content .pc-no{ font-weight:800; color:#b91c1c }
.page-content th.is-us,
.page-content td.is-us{ background:color-mix(in srgb, var(--color-primary,#6366f1) 7%, var(--surface,#fff)) }
.page-content th.is-us{ color:var(--color-primary,#6366f1) }

:root.dark .page-content .pc-cta,
:root.dark .page-content .pc-plan,
:root.dark .page-content .pc-vs > div,
:root.dark .page-content .pc-panel{ background:#111827; border-color:#1f2937 }
:root.dark .page-content .pc-plan--hit,
:root.dark .page-content .pc-vs > .pc-vs__now{ border-color:var(--color-primary,#6366f1) }
:root.dark .page-content .pc-quote{ background:#0b1220 }
:root.dark .page-content .pc-cta h3,
:root.dark .page-content .pc-plan__price,
:root.dark .page-content .pc-quote blockquote,
:root.dark .page-content .pc-features strong{ color:#f3f4f6 }
:root.dark .page-content .pc-note--tip{ background:#052e16 }
:root.dark .page-content .pc-note--warn{ background:#2b1d05 }

@media (max-width: 1024px){
    .page-content .pc-grid--3,
    .page-content .pc-grid--4{ grid-template-columns:repeat(2, minmax(0, 1fr)) }
    .page-content .pc-split{ gap:2rem }
}
@media (max-width: 768px){
    .page-content .pc-split--rev > :first-child{ order:0 }
    .page-content .pc-split img{ box-shadow:8px 8px 0 color-mix(in srgb, var(--color-primary,#6366f1) 14%, var(--surface-2,#f1f5f9)) }
    .page-content .pc-cta{ grid-template-columns:minmax(0, 1fr); padding:1.4rem 1.3rem }
    .page-content .pc-cta > :last-child{ grid-column:1; grid-row:auto; justify-content:stretch; margin-top:.65rem }
    .page-content .pc-cta a{ flex:1 1 100% }
}
@media (max-width: 640px){
    .page-content .pc-grid--2,
    .page-content .pc-grid--3,
    .page-content .pc-grid--4,
    .page-content .pc-vs,
    .page-content .pc-features{ grid-template-columns:minmax(0, 1fr) }
    .page-content .pc-quote{ padding:1.5rem 1.25rem 1.35rem 3.4rem }
    .page-content .pc-quote::before{ left:.75rem; font-size:3.6rem }
    .page-content .pc-panel{ padding:1.35rem 1.15rem }
    .page-content .pc-photo img{ aspect-ratio:16 / 10 }
    .page-content .pc-eyebrow{ margin-top:2.25rem }
}
@media (max-width: 1024px), (max-height: 500px){
    .page-content .pc-plan__tag,
    .page-content .pc-plan__name,
    .page-content .pc-eyebrow,
    .page-content .pc-stats li > span{ font-size:12px }
    .page-content .pc-btn{ min-height:48px }
}
@media (prefers-reduced-motion: reduce){
    .page-content .pc-card::before,
    .page-content .pc-card--pic > img,
    .page-content .pc-btn{ transition:none }
    .page-content .pc-card--pic:hover > img{ transform:none }
}

/* ═══════════════════════════════════════════════════════════════════════
   ПРЕМИАЛЬНЫЙ СЛОЙ ШАБЛОНОВ (P0, 08.11.2026)
   «Редакционный премиум»: крупная типографика, воздух, волосяные линии,
   крупные фотографии, аккуратные состояния. Подключается на всех страницах
   сайта; перебивает утилиты и правила шкурок за счёт более точных
   селекторов (article header.nx-hero ...), а не !important.
   ═══════════════════════════════════════════════════════════════════════ */

/* ── Каркас материала: герой ─────────────────────────────────────────── */
article header.nx-hero{
    display:block;
    padding:clamp(1.35rem,3vw,2.7rem);
    border-color:var(--surface-line,#e8ebf0);
}
article header.nx-hero > .crumbs{ margin-bottom:1.1rem }
article header.nx-hero h1{
    font-size:clamp(2.05rem,3.7vw,3.25rem);
    line-height:1.06;
    letter-spacing:-.032em;
    font-weight:800;
    text-wrap:balance;
    max-width:24ch;
}
article header.nx-hero .nx-head__sign .fx-badge,
article header.nx-hero > .nx-head .fx-badge{
    width:2.4rem;height:2.4rem;font-size:1.05rem;
}
article header.nx-hero .nx-lead{
    margin-top:1.05rem;
    max-width:46rem;
    font-size:1.16rem;
    line-height:1.6;
    color:#334155;
}
article header.nx-hero .nx-meta{
    margin-top:1.15rem;
    padding-top:1rem;
    border-top:1px solid var(--surface-line,#e8ebf0);
    font-size:.83rem;
    color:#5b667a;
}
/* Обложка — full-bleed 21:9 под текстом героя, а не маленьким блоком справа */
article header.nx-hero > .nx-head__pic{
    order:0;
    margin:1.9rem calc(-1 * clamp(1.35rem,3vw,2.7rem)) calc(-1 * clamp(1.35rem,3vw,2.7rem));
    border-top:1px solid var(--surface-line,#e8ebf0);
    background:#f3f4f8;
}
article header.nx-hero > .nx-head__pic img{
    display:block;width:100%;height:auto;
    min-height:0;aspect-ratio:21/9;object-fit:cover;
}
article header.nx-hero:hover > .nx-head__pic img{ transform:none }

@media (max-width:1023.98px){
    article header.nx-hero{ padding:1.1rem 1.1rem 0 }
    article header.nx-hero > .nx-head__pic{
        order:-1;
        margin:0 -1.1rem 1.1rem;
        border-top:0;
    }
    article header.nx-hero > .nx-head__pic img{ aspect-ratio:4/3 }
    article header.nx-hero h1{ font-size:clamp(1.75rem,6.5vw,2.4rem) }
}

/* ── Текст материала: ширина строки и иерархия ───────────────────────── */
.nx-body .page-content{
    max-width:80ch;
    margin-inline:auto;
    font-size:1.08rem;
    line-height:1.78;
}
.nx-body .page-content > p{ margin:0 0 1.15em }
.nx-body .page-content > p:first-child{ margin-top:0 }
.nx-body .page-content h2{
    margin:2.3rem 0 .8rem;
    font-size:clamp(1.42rem,2.1vw,1.85rem);
    line-height:1.24;
    letter-spacing:-.022em;
    font-weight:800;
}
.nx-body .page-content h3{
    margin:1.9rem 0 .6rem;
    font-size:clamp(1.16rem,1.6vw,1.32rem);
    line-height:1.3;
    font-weight:700;
}
.nx-body .page-content ul,
.nx-body .page-content ol{ margin:0 0 1.2em; padding-left:1.35em }
.nx-body .page-content li{ margin:.45em 0 }
.nx-body .page-content ul > li::marker{ color:var(--color-primary,#6366f1) }
.nx-body .page-content blockquote{
    margin:1.7rem 0; padding:1.15rem 1.35rem;
    border-left:3px solid var(--color-primary,#6366f1);
    background:var(--surface-2,#f7f8fb);
    font-size:1.1rem; line-height:1.6; color:#243044;
}
.nx-body .page-content figure{ margin:1.9rem 0 }
.nx-body .page-content figure img{ margin:0 auto }
.nx-body .page-content figcaption{
    margin-top:.55rem; font-size:.83rem; line-height:1.5; color:#6b7280;
}
.nx-body .page-content table{ font-size:.95rem }
.nx-body .page-content thead th{ text-align:left; font-weight:700 }
.nx-body .page-content pre{ border:1px solid #1f2937 }

/* ── Соседние материалы: карточки-ссылки с состоянием ────────────────── */
a.fx-card{
    transition:transform .18s cubic-bezier(.22,.61,.36,1),
               box-shadow .18s ease, border-color .18s ease;
}
a.fx-card:hover{
    transform:translateY(-2px);
    border-color:color-mix(in srgb, var(--color-primary,#6366f1) 35%, var(--surface-line,#e8ebf0));
    box-shadow:0 22px 44px -30px rgba(15,23,42,.45);
}
a.fx-card img{ transition:transform .35s cubic-bezier(.22,.61,.36,1) }
a.fx-card:hover img{ transform:scale(1.035) }

/* ── Товарные карточки: премиальная витрина ──────────────────────────── */
.pr-card{
    transition:transform .18s cubic-bezier(.22,.61,.36,1),
               box-shadow .18s ease, border-color .18s ease;
}
.pr-card:hover{
    transform:translateY(-3px);
    border-color:color-mix(in srgb, var(--color-primary,#6366f1) 35%, var(--surface-line,#e8ebf0));
    box-shadow:0 26px 50px -32px rgba(15,23,42,.5);
}
.pr-card__media{ aspect-ratio:4/5 }
.pr-card__media img{ transition:transform .4s cubic-bezier(.22,.61,.36,1) }
.pr-card:hover .pr-card__media img{ transform:scale(1.045) }
.pr-card__title{ font-size:1.02rem; line-height:1.32; letter-spacing:-.012em }
.pr-card__price{
    font-size:1.28rem; font-weight:800; letter-spacing:-.02em;
    font-variant-numeric:tabular-nums;
}
.pr-card__price small{ font-size:.72em; font-weight:600 }
.pr-grid{ gap:1.15rem }
@media (max-width:640px){ .pr-card__media{ aspect-ratio:1/1 } }

/* ── Магазин: витрина ────────────────────────────────────────────────── */
.shop .shop-title{
    font-size:clamp(1.9rem,3.2vw,2.55rem);
    letter-spacing:-.03em; font-weight:800;
}
.shop .shop-title + .shop-total{ font-size:.9rem; color:#5b667a }
.shop .shop-layout{ gap:1.75rem }
@media (min-width:900px){ .shop .shop-filters{ top:5.5rem } }
.shop .shop-total{ font-variant-numeric:tabular-nums }
.shop .shop-cat.is-on{ background:color-mix(in srgb, var(--color-primary,#6366f1) 10%, transparent) }

/* ── Карточка товара: галерея, покупка, доверие ──────────────────────── */
.buy-panel{
    border:1px solid var(--surface-line,#e8ebf0);
    background:var(--surface,#fff);
    padding:1.1rem 1.15rem;
}
@media (min-width:1024px){
    .buy-panel{ position:sticky; top:5.5rem }
}
@media (max-width:1023.98px){
    .buy-panel{
        position:sticky; bottom:.5rem; z-index:30;
        box-shadow:0 -14px 34px -24px rgba(15,23,42,.55);
    }
}
.buy-price__now{
    font-size:2.05rem; font-weight:800; letter-spacing:-.03em;
    font-variant-numeric:tabular-nums;
}
.buy-price__was{ font-size:.95rem }
.buy-stock__dot{ width:.55rem;height:.55rem }
.nx-gal__thumbs{ gap:.5rem }
.nx-gal__thumb{ outline-offset:2px }
.nx-gal__thumb img{ transition:opacity .15s ease }

/* ── Общие состояния и типографские детали ───────────────────────────── */
:where(a, button, summary, input, select, textarea):focus-visible{
    outline:2px solid var(--color-primary,#6366f1);
    outline-offset:2px;
}
time, .fx-meta, .nx-meta, [class*="price"]{ font-variant-numeric:tabular-nums }
@media (prefers-reduced-motion: reduce){
    a.fx-card, .pr-card, a.fx-card img, .pr-card__media img{ transition:none !important }
    a.fx-card:hover, .pr-card:hover{ transform:none }
    a.fx-card:hover img, .pr-card:hover .pr-card__media img{ transform:none }
}

/* ═══ P0.1 — общий каркас для ВСЕХ шаблонов ═══════════════════════════
   Шапка материала у части шаблонов — сетка «текст слева, обложка справа»
   без класса .nx-hero, а шкурки задают её своими селекторами и подключены
   ПОСЛЕ этого файла. Поэтому кадр переводим в поток точечно и жёстко:
   крупный заголовок, лид, мета, обложка полосой 21:9 под текстом. */
article[class*="news--"] > header.fx-card,
article > header.fx-card{
    display:block !important;
    padding:clamp(1.35rem,3vw,2.7rem) !important;
}
article[class*="news--"] > header.fx-card h1,
article > header.fx-card h1{
    font-size:clamp(2.05rem,3.7vw,3.25rem) !important;
    line-height:1.06 !important;
    letter-spacing:-.032em !important;
    text-wrap:balance;
    max-width:24ch !important;
    text-align:left !important;
}
article[class*="news--"] > header.fx-card .nx-lead,
article > header.fx-card .nx-lead{
    margin-top:1.05rem !important;
    max-width:46rem !important;
    font-size:1.16rem !important;
    line-height:1.6 !important;
    color:#334155 !important;
}
article[class*="news--"] > header.fx-card .nx-meta,
article > header.fx-card .nx-meta{
    margin-top:1.15rem !important;
    padding-top:1rem !important;
    border-top:1px solid var(--surface-line,#e8ebf0);
    font-size:.83rem !important;
}
article[class*="news--"] > header.fx-card .nx-head__pic,
article > header.fx-card .nx-head__pic{
    order:0 !important;
    float:none !important;
    width:auto !important;
    margin:1.9rem calc(-1 * clamp(1.35rem,3vw,2.7rem)) calc(-1 * clamp(1.35rem,3vw,2.7rem)) !important;
    border-top:1px solid var(--surface-line,#e8ebf0);
    background:#f3f4f8;
    overflow:hidden;
}
article[class*="news--"] > header.fx-card .nx-head__pic img,
article > header.fx-card .nx-head__pic img{
    display:block !important;
    width:100% !important;
    height:auto !important;
    min-height:0 !important;
    aspect-ratio:21/9 !important;
    object-fit:cover !important;
}
@media (max-width:1023.98px){
    article[class*="news--"] > header.fx-card,
    article > header.fx-card{ padding:1.1rem 1.1rem 0 !important }
    article[class*="news--"] > header.fx-card .nx-head__pic,
    article > header.fx-card .nx-head__pic{
        order:-1 !important;
        margin:0 -1.1rem 1.1rem !important;
        border-top:0;
    }
    article[class*="news--"] > header.fx-card .nx-head__pic img,
    article > header.fx-card .nx-head__pic img{ aspect-ratio:4/3 !important }
    article[class*="news--"] > header.fx-card h1,
    article > header.fx-card h1{ font-size:clamp(1.75rem,6.5vw,2.4rem) !important }
}

/* Текст материала — читаемая колонка, а не полотно на всю карточку. */
.nx-body .page-content,
.nx-body .news-content{
    max-width:80ch !important;
    margin-inline:auto !important;
}

/* Размытые «ambient» полосы вокруг обложек — дешёвый приём, убираем:
   обложка должна быть крупной и резкой. */
.cv-amb{ display:none !important }

/* ═══ P0.2 — обложки и мобильные мелочи ═════════════════════════════════
   Второй слой «ambient» (размытая копия обложки) — убрать: обложка должна
   быть крупной и резкой. Плюс на телефоне панель покупки не должна
   прилипать поверх текста: она остаётся в потоке. */
.nx-amb{ display:none !important }
.nx-cover{ background:#f3f4f8 !important }
.nx-cover img:not(.nx-amb){
    display:block !important;
    width:100% !important;
    height:auto !important;
    aspect-ratio:21/9 !important;
    object-fit:cover !important;
}
@media (max-width:1023.98px){
    .nx-cover img:not(.nx-amb){ aspect-ratio:4/3 !important }
    .buy-panel{
        position:static !important;
        box-shadow:none !important;
    }
}

/* ═══ P1 — жанровые модули шаблонов ═══════════════════════════════════ */
.npx-module{
    margin:1.4rem 0 0;
    padding:1.35rem 1.45rem;
    background:var(--surface,#fff);
    border:1px solid var(--surface-line,#e8ebf0);
}
.npx-eyebrow{
    margin:0 0 .8rem;
    font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
    font-size:.72rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase;
    color:var(--color-primary,#6366f1);
}
.npx-note{ margin:.35rem 0 0; font-size:.92rem; line-height:1.55; color:#5b667a }
.npx-btn{
    display:inline-flex; align-items:center; gap:.45rem;
    min-height:44px; padding:.7rem 1.15rem;
    font-weight:700; font-size:.95rem; text-decoration:none;
    color:#fff; background:var(--color-primary,#6366f1);
    border:1px solid var(--color-primary,#6366f1);
    transition:filter .18s ease, transform .18s ease;
}
.npx-btn:hover{ filter:brightness(1.08); transform:translateY(-1px) }
.npx-btn--ghost{ color:var(--surface-ink,#0f172a); background:transparent; border-color:var(--surface-line,#cbd5e1) }
.npx-btn--ghost:hover{ color:var(--color-primary,#6366f1); border-color:var(--color-primary,#6366f1); filter:none }

/* Услуги: этапы и заявка */
.npx-steps{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1px;
    background:var(--surface-line,#e8ebf0); border:1px solid var(--surface-line,#e8ebf0) }
.npx-steps > li{ display:flex; flex-direction:column; gap:.4rem; padding:1rem; background:var(--surface,#fff) }
.npx-steps__n{ font-family:ui-monospace,monospace; font-size:.78rem; font-weight:700; color:var(--color-primary,#6366f1) }
.npx-steps strong{ font-size:.98rem; line-height:1.35 }
.npx-steps > li > span:last-child{ font-size:.86rem; line-height:1.5; color:#5b667a }
.npx-module--cta{ display:flex; align-items:center; justify-content:space-between; gap:1.5rem; flex-wrap:wrap }
.npx-price{ margin:0; font-size:1.7rem; font-weight:800; letter-spacing:-.02em; font-variant-numeric:tabular-nums }
.npx-price small{ font-size:.8rem; font-weight:600; color:#5b667a }
.npx-cta-row{ display:flex; gap:.6rem; flex-wrap:wrap }

/* Вопросы: поиск */
.npx-search{ position:relative; display:block }
.npx-search input{
    width:100%; min-height:48px; padding:.7rem 8.5rem .7rem 2.6rem;
    font-size:1rem; color:var(--surface-ink,#111827);
    border:1px solid var(--surface-line,#e8ebf0); background:var(--surface,#fff);
}
.npx-search input:focus{ outline:2px solid var(--color-primary,#6366f1); outline-offset:1px }
.npx-search::before{ content:'⌕'; position:absolute; left:.9rem; top:50%; transform:translateY(-50%);
    font-size:1.1rem; color:#6b7280; pointer-events:none }
.npx-search__count{ position:absolute; right:.9rem; top:50%; transform:translateY(-50%);
    font-size:.8rem; color:#5b667a; font-variant-numeric:tabular-nums }

/* Отзывы: сводка и сортировка */
.rv-summary{ display:grid; grid-template-columns:minmax(0,15rem) minmax(0,1fr); gap:1.6rem; align-items:center }
.rv-summary__score b{ display:block; font-size:3rem; line-height:1; letter-spacing:-.04em; font-variant-numeric:tabular-nums }
.rv-stars{ display:flex; gap:.15rem; margin:.35rem 0 .2rem; color:var(--color-accent,#8b5cf6) }
.rv-stars .fa-star{ opacity:.25; font-size:.95rem }
.rv-stars .fa-star.is-on{ opacity:1 }
.rv-dist{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:.3rem }
.rv-dist li{ display:grid; grid-template-columns:1.2rem 1rem minmax(0,1fr) 2rem; align-items:center; gap:.5rem; font-size:.82rem; color:#5b667a }
.rv-dist .fa-star{ font-size:.7rem; color:var(--color-accent,#8b5cf6) }
.rv-dist__bar{ display:block; height:6px; background:var(--surface-2,#eef1f5); overflow:hidden }
.rv-dist__bar > span{ display:block; height:100%; background:var(--color-primary,#6366f1); opacity:.7 }
.rv-dist b{ text-align:right; font-variant-numeric:tabular-nums; color:var(--surface-ink,#0f172a) }
.rv-sort{ display:flex; gap:.5rem; flex-wrap:wrap }
.rv-sort button{
    min-height:40px; padding:.5rem .9rem; font-size:.9rem; font-weight:600; cursor:pointer;
    color:#334155; background:var(--surface,#fff); border:1px solid var(--surface-line,#e8ebf0);
    transition:background .15s, color .15s, border-color .15s;
}
.rv-sort button:hover{ border-color:var(--color-primary,#6366f1); color:var(--color-primary,#6366f1) }
.rv-sort button.is-on{ background:var(--color-primary,#6366f1); border-color:var(--color-primary,#6366f1); color:#fff }

/* Выпуски: хронология и подписка */
.news--release .als__grid{ grid-template-columns:minmax(0,1fr) }
.news--release .als-card{ border-left:3px solid var(--color-accent,#8b5cf6) }

/* Уроки: оглавление не уезжает при чтении */
@media (min-width:1024px){ .lsn-toc{ position:sticky; top:5rem; align-self:start } }

/* Игры: оценка — главный акцент карточки */
.news--gaming .nx-score__value{ font-size:1.5rem; font-weight:800 }

@media (max-width:767.98px){
    .npx-steps{ grid-template-columns:minmax(0,1fr) }
    .rv-summary{ grid-template-columns:minmax(0,1fr); gap:1rem }
}

/* ═══ P2 — портальная полировка: мобильный порядок, слайдер, мета ══════ */
/* Статья на телефоне: сначала крошки, заголовок и лид — потом обложка.
   Фото впереди заголовка сбивает: неясно, что открыто. */
@media (max-width:1023.98px){
    article[class*="news--"] > header.fx-card .nx-head__pic,
    article > header.fx-card .nx-head__pic{
        order:0 !important;
        margin:1.15rem -1.1rem -0 !important;
        border-top:1px solid var(--surface-line,#e8ebf0);
        border-bottom:0;
    }
}

/* Слайдер: точки-пагинация должны попадать пальцем (44px), активная —
   заметно шире. Стрелки — не меньше 44px. */
.ru-swiper .swiper-pagination-bullets{ gap:.15rem; bottom:.35rem !important }
.ru-swiper .swiper-pagination-bullet{
    width:10px !important; height:10px !important; border-radius:999px !important;
    margin:0 .32rem !important; position:relative;
}
.ru-swiper .swiper-pagination-bullet::after{
    content:''; position:absolute; inset:-17px; /* зона нажатия 44×44 */
}
.ru-swiper .swiper-pagination-bullet.swiper-pagination-bullet-active{
    width:28px !important; background:var(--color-primary,#6366f1) !important;
}
.ru-nav{ min-width:44px !important; min-height:44px !important }

/* Баннер: подписи крупнее, служебный мелкий текст не теряется. */
.ru-slide__capInner{ font-size:clamp(.95rem,1.05vw,1.05rem) !important; line-height:1.45 }
.ru-slide__capInner strong, .ru-slide__capInner b{ font-size:1.08em }
@media (max-width:640px){
    .ru-slide__capInner{ font-size:.9rem !important }
    .ru-swiper .swiper-pagination-bullet{ width:8px !important; height:8px !important }
    .ru-swiper .swiper-pagination-bullet.swiper-pagination-bullet-active{ width:22px !important }
}

/* Мелкие служебные подписи карточек — до читаемых 13px. */
.nw-card__meta, .mag-lead__meta, .pr-card__meta, .lsn-nav{ font-size:.82rem }
.nw-card__meta .fx-ico, .pr-card__meta .fx-ico{ width:1em; height:1em }

/* ═══════════════════════════════════════════════════════════════════
   БЛОКИ ПОД МАТЕРИАЛОМ — ЕДИНАЯ РАМКА (правило проекта).
   Всё, что стоит после текста (похожие, отзывы, обсуждение, служебные
   действия, шаблонные модули), держит те же горизонтальные поля, что и
   карточка статьи, и отделено воздухом сверху. Раньше каждый шаблон
   задавал это сам — и на части страниц блоки прилипали к краю карточки.
   ═══════════════════════════════════════════════════════════════════ */
article[class*="news--"] > :is(.als, .rv, .ds, .nx-actions, .npx-module, .ow-process, .ow-book, .cl-how, .cl-info){
    box-sizing:border-box;
    padding-inline:clamp(1.25rem, 3vw, 2.5rem);
}
article[class*="news--"] > :is(.als, .rv, .ds){ margin-block:clamp(1.6rem, 3vw, 2.6rem) 0 }
article[class*="news--"] > :is(.nx-actions, .npx-module, .ow-process, .ow-book, .cl-how, .cl-info){
    margin-block:clamp(1.2rem, 2.4vw, 2rem) 0;
}
@media (max-width: 767.98px){
    article[class*="news--"] > :is(.als, .rv, .ds, .nx-actions, .npx-module, .ow-process, .ow-book, .cl-how, .cl-info){
        padding-inline:1rem;
    }
}

/* ═══════════════════════════════════════════════════════════════════
   ОТСТУПЫ — ПОСТОЯННОЕ ПРАВИЛО ПРОЕКТА (3.10.68).
   Владелец: «на глобальном уровне допиши постоянную проблему отступов,
   чтобы постоянно тебе об этом не писать». Поэтому поля блоков задаются
   ЗДЕСЬ, один раз, и шаблонам не нужно повторять это самим:
   • любой блок под материалом держит поля-поля (--nx-gutter);
   • поле с иконкой (поиск) оставляет под иконкой место — текст не липнет;
   • минимальный воздух сверху/снизу у служебных модулей.
   ═══════════════════════════════════════════════════════════════════ */
:root{ --nx-gutter:clamp(1.25rem, 3vw, 2.5rem); }

article[class*="news--"] > :is(.als, .rv, .ds, .nx-actions, .npx-module, .ow-process, .ow-book, .cl-how, .cl-info, .lsn, .rv-summary, .gm-related){
    box-sizing:border-box;
    padding-inline:var(--nx-gutter) !important;
}
article[class*="news--"] > :is(.als, .rv, .ds){ margin-block:clamp(1.6rem,3vw,2.6rem) 0 !important }
article[class*="news--"] > :is(.nx-actions, .npx-module, .ow-process, .ow-book, .cl-how, .cl-info){
    margin-block:clamp(1.2rem,2.4vw,2rem) 0 !important;
}
article[class*="news--"] > .npx-module{ padding-block:clamp(1.2rem,2.4vw,1.8rem) !important }
/* Сводка отзывов: подпись и число не прилипают к краю карточки. */
body article[class*="news--"] .npx-module.rv-summary{ padding-inline:var(--nx-gutter) !important }

/* Поле поиска с иконкой: иконка слева, текст — после неё. */
body .fq .fq-search__input,
.npx-search input,
.nx-search input{
    padding-left:4.7rem !important;
}
body .fq .fq-search i,
.npx-search i,
.nx-search i{
    left:1.35rem !important;
}
@media (max-width:767.98px){
    article[class*="news--"] > :is(.als, .rv, .ds, .nx-actions, .npx-module, .ow-process, .ow-book, .cl-how, .cl-info, .lsn, .rv-summary){
        padding-inline:1rem !important;
    }
}