@charset "utf-8";

/*
 * Porady-spadkowe.pl - redesign UX/UI.
 * B09: wspolny shell desktop/mobile i pelna warstwa responsive.
 * Legacy desktop CSS pozostaje pod spodem tylko jako warstwa kompatybilnosci.
 */
@media screen and (min-width: 1024px) {
    :root {
        --ps-navy: #17344e;
        --ps-navy-2: #214965;
        --ps-navy-soft: #edf3f6;
        --ps-accent: #b58a54;
        --ps-accent-dark: #8e693d;
        --ps-paper: #ffffff;
        --ps-canvas: #f3f1ed;
        --ps-warm: #fbf7ef;
        --ps-line: #dedbd5;
        --ps-line-strong: #cbc6bd;
        --ps-text: #2b333a;
        --ps-muted: #687078;
        --ps-success: #4f725d;
        --ps-shell: 1200px;
        --ps-sidebar: 330px;
        --ps-gap: 16px;
        --ps-nav-h: 58px;
    }

    body.ps-redesign,
    body.ps-redesign * {
        box-sizing: border-box;
    }

    body.ps-redesign {
        margin: 0;
        background: var(--ps-canvas);
        color: var(--ps-text);
        font-family: Lato, "Open Sans", Arial, sans-serif;
        font-size: 16px;
        line-height: 1.65;
        -webkit-font-smoothing: antialiased;
    }

    body.ps-redesign a {
        color: var(--ps-navy-2);
    }

    body.ps-redesign img {
        max-width: 100%;
        height: auto;
    }

    body.ps-redesign .fix {
        clear: both;
    }

    .ps-shell,
    body.ps-redesign .holder-site {
        width: calc(100% - 32px);
        max-width: var(--ps-shell);
        margin-left: auto;
        margin-right: auto;
    }

    /* Header */
    .ps-site-header {
        background: var(--ps-paper);
    }

    .ps-topbar {
        border-bottom: 1px solid #ece9e3;
        background: var(--ps-paper);
    }

    .ps-header-inner {
        min-height: 92px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 32px;
    }

    .ps-brand,
    .ps-brand:link,
    .ps-brand:visited,
    .ps-brand:hover {
        display: inline-flex;
        flex-direction: column;
        gap: 2px;
        min-width: 290px;
        text-decoration: none;
    }

    .ps-brand-name {
        color: var(--ps-navy);
        font-family: Georgia, "Times New Roman", serif;
        font-size: 29px;
        line-height: 1.05;
        font-weight: 700;
        letter-spacing: -0.45px;
    }

    .ps-brand-name em {
        color: var(--ps-accent-dark);
        font: inherit;
        font-style: normal;
    }

    .ps-brand-subtitle {
        color: var(--ps-muted);
        font-size: 12px;
        line-height: 1.3;
        font-weight: 700;
        letter-spacing: .08em;
        text-transform: uppercase;
    }

    .ps-header-actions {
        display: flex;
        align-items: center;
        gap: 22px;
    }

    .ps-header-trust {
        text-align: right;
    }

    .ps-header-trust strong {
        display: block;
        color: var(--ps-navy);
        font-size: 14px;
        line-height: 1.3;
    }

    .ps-header-trust span {
        display: block;
        margin-top: 3px;
        color: var(--ps-muted);
        font-size: 12px;
        line-height: 1.3;
    }

    .ps-header-cta,
    .ps-header-cta:link,
    .ps-header-cta:visited {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-height: 46px;
        padding: 0 21px;
        border: 1px solid var(--ps-navy);
        border-radius: 5px;
        background: var(--ps-navy);
        color: #fff;
        font-size: 14px;
        line-height: 1.2;
        font-weight: 700;
        text-decoration: none;
        transition: background-color .15s ease, border-color .15s ease;
    }

    .ps-header-cta:hover {
        background: var(--ps-navy-2);
        border-color: var(--ps-navy-2);
        text-decoration: none;
    }

    /* Sticky navigation */
    .ps-main-nav {
        position: -webkit-sticky;
        position: sticky;
        top: 0;
        z-index: 5000;
        height: var(--ps-nav-h);
        background: var(--ps-navy);
        border-bottom: 1px solid rgba(0, 0, 0, .18);
        box-shadow: 0 2px 7px rgba(24, 39, 51, .08);
    }

    .ps-nav-inner {
        position: relative;
        height: var(--ps-nav-h);
        display: flex;
        align-items: stretch;
        gap: 0;
    }

    .ps-nav-cta,
    .ps-nav-cta:link,
    .ps-nav-cta:visited {
        display: inline-flex;
        align-self: center;
        align-items: center;
        justify-content: center;
        min-height: 38px;
        margin: 0 7px 0 auto;
        padding: 0 16px;
        border: 1px solid #f0d09a;
        border-radius: 4px;
        background: #f0d09a;
        color: var(--ps-navy);
        font-size: 13px;
        line-height: 1.2;
        font-weight: 800;
        text-decoration: none;
        white-space: nowrap;
        visibility: hidden;
        opacity: 0;
        transform: translateY(-4px);
        pointer-events: none;
        transition: opacity .14s ease, transform .14s ease, background-color .14s ease, border-color .14s ease;
    }

    .ps-main-nav.ps-nav-is-sticky .ps-nav-cta {
        visibility: visible;
        opacity: 1;
        transform: translateY(0);
        pointer-events: auto;
    }

    .ps-main-nav.ps-nav-is-sticky .ps-nav-cta:hover {
        border-color: #fff3dc;
        background: #fff3dc;
        color: var(--ps-navy);
        text-decoration: none;
    }

    .ps-nav-link,
    .ps-nav-link:link,
    .ps-nav-link:visited,
    .ps-nav-categories-toggle {
        min-height: var(--ps-nav-h);
        display: inline-flex;
        align-items: center;
        justify-content: center;
        padding: 0 19px;
        border: 0;
        border-left: 1px solid rgba(255, 255, 255, .10);
        background: transparent;
        color: #fff;
        font: inherit;
        font-size: 14px;
        line-height: 1.2;
        font-weight: 700;
        text-decoration: none;
        white-space: nowrap;
        cursor: pointer;
    }

    .ps-nav-link:hover,
    .ps-nav-categories:hover .ps-nav-categories-toggle,
    .ps-nav-categories:focus-within .ps-nav-categories-toggle {
        background: rgba(255, 255, 255, .08);
        color: #fff;
        text-decoration: none;
    }

    .ps-nav-categories {
        position: relative;
    }

    .ps-nav-categories-toggle {
        padding-left: 21px;
        padding-right: 21px;
    }

    .ps-nav-chevron {
        margin-left: 8px;
        color: #d9c19e;
        font-size: 12px;
        transition: transform .15s ease;
    }

    .ps-nav-categories:hover .ps-nav-chevron,
    .ps-nav-categories:focus-within .ps-nav-chevron {
        transform: rotate(180deg);
    }

    .ps-category-dropdown {
        position: absolute;
        top: 100%;
        left: 0;
        width: 340px;
        padding: 8px;
        visibility: hidden;
        opacity: 0;
        transform: translateY(5px);
        border: 1px solid var(--ps-line-strong);
        border-top: 3px solid var(--ps-accent);
        border-radius: 0 0 5px 5px;
        background: #fff;
        box-shadow: 0 12px 26px rgba(34, 45, 54, .14);
        transition: opacity .12s ease, transform .12s ease, visibility .12s ease;
    }

    .ps-nav-categories:hover .ps-category-dropdown,
    .ps-nav-categories:focus-within .ps-category-dropdown {
        visibility: visible;
        opacity: 1;
        transform: translateY(0);
    }

    .ps-category-dropdown a,
    .ps-category-dropdown a:link,
    .ps-category-dropdown a:visited {
        display: block;
        padding: 10px 12px;
        border-radius: 3px;
        color: var(--ps-text);
        font-size: 14px;
        line-height: 1.35;
        font-weight: 600;
        text-decoration: none;
    }

    .ps-category-dropdown a:hover {
        background: var(--ps-navy-soft);
        color: var(--ps-navy);
        text-decoration: none;
    }

    /* Main two-column shell */
    body.ps-redesign .holder-site-up {
        width: calc(100% - 32px);
        max-width: var(--ps-shell);
        margin: 10px auto 0;
        background: transparent;
    }

    body.ps-redesign .holder-site {
        display: grid;
        grid-template-columns: minmax(0, 1fr) var(--ps-sidebar);
        gap: var(--ps-gap);
        align-items: start;
        margin-top: 10px;
    }

    body.ps-redesign .holder-site.ps-layout-single {
        grid-template-columns: minmax(0, 1fr);
    }

    body.ps-redesign .ps-main-column {
        min-width: 0;
        padding: 32px 38px 38px;
        border: 1px solid var(--ps-line);
        border-radius: 4px;
        background: var(--ps-paper);
        box-shadow: 0 1px 2px rgba(34, 45, 54, .025);
        overflow-wrap: anywhere;
    }

    body.ps-redesign .ps-main-column > .holder-content {
        float: none;
        width: auto;
        min-width: 0;
        margin: 0;
        padding: 0;
        border: 0;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
    }

    body.ps-redesign .holder-left {
        float: none;
        width: var(--ps-sidebar);
        min-width: 0;
        margin: 0;
        align-self: stretch;
    }

    /* Typography/content */
    body.ps-redesign .ps-main-column > h1,
    body.ps-redesign .ps-main-column > h2,
    body.ps-redesign .ps-main-column > h3,
    body.ps-redesign .ps-main-column > h4 {
        color: var(--ps-navy);
        text-shadow: none;
    }

    body.ps-redesign .ps-main-column > h1 {
        margin: 0 0 14px;
        font-family: Georgia, "Times New Roman", serif;
        font-size: 32px;
        line-height: 1.2;
        text-align: left;
    }

    body.ps-redesign .ps-main-column > p,
    body.ps-redesign .ps-main-column > ul,
    body.ps-redesign .ps-main-column > ol {
        max-width: 100%;
    }

    body.ps-redesign .holder-content h1,
    body.ps-redesign .holder-content h2,
    body.ps-redesign .holder-content h3,
    body.ps-redesign .holder-content h4 {
        color: var(--ps-navy);
        text-shadow: none;
    }

    body.ps-redesign .holder-content h1,
    body.ps-redesign .holder-content h1.pytanie-title {
        margin: 0 0 14px;
        padding: 0;
        font-family: Georgia, "Times New Roman", serif;
        font-size: 32px;
        line-height: 1.2;
        font-weight: 700;
        letter-spacing: -.25px;
        text-align: left;
    }

    body.ps-redesign .holder-content h2 {
        margin: 28px 0 12px;
        font-size: 22px;
        line-height: 1.3;
        font-weight: 700;
    }

    body.ps-redesign .holder-content h3 {
        margin: 22px 0 8px;
        font-size: 18px;
        line-height: 1.35;
        font-weight: 700;
    }

    body.ps-redesign .holder-content p,
    body.ps-redesign .holder-content li {
        color: var(--ps-text);
        line-height: 1.72;
    }

    body.ps-redesign .holder-content p {
        margin: 0 0 13px;
    }

    body.ps-redesign .holder-content ul,
    body.ps-redesign .holder-content ol {
        margin: 10px 0 18px 22px;
    }

    body.ps-redesign .holder-content a:hover {
        color: var(--ps-accent-dark);
    }

    body.ps-redesign .holder-navi,
    body.ps-redesign ol.breadcrumb {
        height: auto;
        margin: 0 0 18px;
        padding: 0;
        border: 0;
        background: transparent;
    }

    body.ps-redesign ol.breadcrumb li,
    body.ps-redesign ol.breadcrumb li a {
        color: var(--ps-muted);
        font-size: 12px;
        line-height: 1.35;
    }

    body.ps-redesign .sub-quest {
        line-height: inherit;
    }

    body.ps-redesign .sub-quest .item {
        margin: 0;
        padding: 0;
    }

    body.ps-redesign .sub-quest .dane-publikacji,
    body.ps-redesign .dane-publikacji {
        margin: 0 0 20px;
        padding: 0 0 15px;
        border-bottom: 1px solid #ece9e3;
        color: var(--ps-muted);
        font-size: 12px;
        line-height: 1.5;
        text-align: left;
    }

    body.ps-redesign .dane-publikacji p,
    body.ps-redesign .dane-publikacji a {
        color: var(--ps-muted);
        font-size: inherit;
    }

    body.ps-redesign .sub-quest .quest,
    body.ps-redesign .quest {
        margin: 0 0 22px;
        padding: 0 0 0 18px;
        border-left: 3px solid #d7c3a5;
        color: #3b444b;
        font-size: 17px;
        line-height: 1.7;
    }

    body.ps-redesign .sub-quest .answer,
    body.ps-redesign .answer {
        margin: 0;
        padding: 0;
    }

    body.ps-redesign .answer > p {
        padding: 0;
    }

    body.ps-redesign .answer img,
    body.ps-redesign .sub-quest img {
        border-radius: 3px;
    }

    /* TOC */
    body.ps-redesign .lextoc {
        display: block;
        margin: 24px 0 28px;
    }

    body.ps-redesign .lextoc:empty {
        display: none;
    }

    body.ps-redesign fieldset.tocinside {
        margin: 0;
        padding: 15px 18px 12px;
        border: 1px solid var(--ps-line);
        border-radius: 4px;
        background: #fafafa;
    }

    body.ps-redesign fieldset.tocinside legend {
        padding: 0 8px;
        color: var(--ps-navy);
        font-size: 13px;
        line-height: 1.3;
        font-weight: 800;
        letter-spacing: .035em;
        text-transform: uppercase;
    }

    body.ps-redesign fieldset.tocinside ul,
    body.ps-redesign fieldset.tocinside ol {
        margin: 0 0 0 18px;
        padding: 0;
    }

    body.ps-redesign fieldset.tocinside li {
        margin: 5px 0;
        padding-left: 2px;
        font-size: 14px;
        line-height: 1.45;
    }

    body.ps-redesign fieldset.tocinside a {
        text-decoration: none;
    }

    body.ps-redesign fieldset.tocinside a:hover {
        text-decoration: underline;
    }

    /* Homepage + category hubs */
    .ps-section-eyebrow {
        display: inline-block;
        margin: 0 0 8px;
        color: var(--ps-accent-dark);
        font-size: 11px;
        line-height: 1.3;
        font-weight: 800;
        letter-spacing: .075em;
        text-transform: uppercase;
    }

    .ps-section-heading {
        display: flex;
        align-items: flex-end;
        justify-content: space-between;
        gap: 28px;
        margin: 0 0 18px;
    }

    .ps-section-heading > div {
        min-width: 0;
    }

    .ps-section-heading h2 {
        margin: 0;
        color: var(--ps-navy);
        font-family: Georgia, "Times New Roman", serif;
        font-size: 24px;
        line-height: 1.24;
        letter-spacing: -.15px;
    }

    .ps-section-heading > p {
        max-width: 320px;
        margin: 0;
        color: var(--ps-muted);
        font-size: 13px;
        line-height: 1.55;
        text-align: right;
    }

    .ps-section-heading-compact {
        align-items: center;
    }

    .ps-home-hero {
        margin: 0 0 32px;
        padding: 27px 29px 25px;
        border: 1px solid #e2ddd4;
        border-left: 4px solid #d2b27d;
        border-radius: 4px;
        background: #faf8f4;
    }

    .ps-home-hero h1 {
        margin: 0 0 14px;
        color: var(--ps-navy);
        font-family: Georgia, "Times New Roman", serif;
        font-size: 32px;
        line-height: 1.18;
        letter-spacing: -.3px;
    }

    .ps-home-hero p {
        max-width: 735px;
        margin: 0 0 10px;
        color: #404950;
        font-size: 15px;
        line-height: 1.7;
    }

    .ps-home-hero p:last-child {
        margin-bottom: 0;
    }

    .ps-home-hero .ps-home-lead {
        color: #303a42;
        font-size: 17px;
        line-height: 1.65;
    }

    .ps-home-categories,
    .ps-home-latest {
        margin: 0 0 36px;
    }

    .ps-category-grid {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }

    .ps-category-card,
    .ps-category-card:link,
    .ps-category-card:visited {
        position: relative;
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        grid-template-rows: auto auto;
        align-items: center;
        gap: 4px 16px;
        min-height: 94px;
        padding: 17px 18px;
        border: 1px solid var(--ps-line);
        border-radius: 4px;
        background: #fff;
        color: var(--ps-text);
        text-decoration: none;
        transition: border-color .14s ease, background-color .14s ease, transform .14s ease;
    }

    .ps-category-card:hover {
        border-color: #cab794;
        background: #fdfbf7;
        color: var(--ps-text);
        text-decoration: none;
        transform: translateY(-1px);
    }

    .ps-category-card-title {
        min-width: 0;
        color: var(--ps-navy);
        font-size: 16px;
        line-height: 1.32;
        font-weight: 800;
    }

    .ps-category-card-meta {
        grid-column: 1;
        color: var(--ps-muted);
        font-size: 11px;
        line-height: 1.35;
    }

    .ps-category-card-link {
        grid-column: 2;
        grid-row: 1 / span 2;
        align-self: center;
        color: var(--ps-accent-dark);
        font-size: 12px;
        line-height: 1.35;
        font-weight: 800;
        white-space: nowrap;
    }

    .ps-category-card-link span {
        margin-left: 3px;
        font-size: 17px;
        vertical-align: -1px;
    }

    .ps-article-list {
        border-top: 1px solid var(--ps-line);
    }

    .ps-list-card {
        display: flex;
        align-items: flex-start;
        gap: 18px;
        margin: 0;
        padding: 20px 0;
        border-bottom: 1px solid #ece9e3;
    }

    .ps-list-card-thumb,
    .ps-list-card-thumb:link,
    .ps-list-card-thumb:visited {
        flex: 0 0 132px;
        width: 132px;
        height: 88px;
        margin: 1px 0 0;
        overflow: hidden;
        border-radius: 3px;
        background: #eef0f1;
        text-decoration: none;
    }

    .ps-list-card-thumb img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
        border-radius: 0;
    }

    .ps-list-card-body {
        flex: 1 1 auto;
        min-width: 0;
    }

    .ps-list-card-meta {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 6px 12px;
        min-height: 16px;
        margin: 0 0 5px;
        color: var(--ps-muted);
        font-size: 10px;
        line-height: 1.4;
        font-weight: 700;
        letter-spacing: .025em;
        text-transform: uppercase;
    }

    .ps-list-card-meta span + time::before,
    .ps-list-card-meta span + span::before {
        content: "•";
        margin-right: 12px;
        color: #b8b2a8;
    }

    .ps-list-card h3 {
        margin: 0 0 7px;
        padding: 0;
        font-size: 18px;
        line-height: 1.34;
        font-weight: 800;
    }

    .ps-list-card h3 a,
    .ps-list-card h3 a:link,
    .ps-list-card h3 a:visited {
        color: var(--ps-navy);
        text-decoration: none;
    }

    .ps-list-card h3 a:hover {
        color: var(--ps-accent-dark);
        text-decoration: underline;
        text-decoration-thickness: 1px;
        text-underline-offset: 2px;
    }

    .ps-list-card p {
        margin: 0;
        color: #505960;
        font-size: 13px;
        line-height: 1.6;
    }

    .ps-section-more {
        margin: 15px 0 0;
        text-align: right;
    }

    .ps-section-more a {
        color: var(--ps-navy);
        font-size: 13px;
        font-weight: 800;
        text-decoration: none;
    }

    .ps-section-more a:hover {
        color: var(--ps-accent-dark);
        text-decoration: underline;
    }

    .ps-home-services {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 28px;
        margin: 2px 0 0;
        padding: 23px 25px;
        border: 1px solid #d5dfe4;
        border-radius: 4px;
        background: var(--ps-navy-soft);
    }

    .ps-home-services h2 {
        margin: 0 0 6px;
        color: var(--ps-navy);
        font-family: Georgia, "Times New Roman", serif;
        font-size: 21px;
        line-height: 1.28;
    }

    .ps-home-services p {
        max-width: 500px;
        margin: 0;
        color: #4c5961;
        font-size: 13px;
        line-height: 1.55;
    }

    .ps-home-services-actions {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 8px;
        flex: 0 0 182px;
    }

    .ps-home-service-primary,
    .ps-home-service-primary:link,
    .ps-home-service-primary:visited,
    .ps-home-service-secondary,
    .ps-home-service-secondary:link,
    .ps-home-service-secondary:visited {
        display: flex;
        align-items: center;
        justify-content: center;
        min-height: 38px;
        padding: 0 13px;
        border: 1px solid var(--ps-navy);
        border-radius: 4px;
        font-size: 12px;
        line-height: 1.2;
        font-weight: 800;
        text-decoration: none;
    }

    .ps-home-service-primary,
    .ps-home-service-primary:link,
    .ps-home-service-primary:visited {
        background: var(--ps-navy);
        color: #fff;
    }

    .ps-home-service-secondary,
    .ps-home-service-secondary:link,
    .ps-home-service-secondary:visited {
        background: #fff;
        color: var(--ps-navy);
    }

    .ps-home-service-primary:hover {
        background: var(--ps-navy-2);
        color: #fff;
    }

    .ps-home-service-secondary:hover {
        border-color: var(--ps-accent);
        color: var(--ps-accent-dark);
    }

    /* Category page */
    .ps-category-hero {
        margin: 0 0 31px;
        padding: 0 0 25px;
        border-bottom: 1px solid var(--ps-line);
    }

    .ps-category-hero-meta {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 20px;
        margin: 0 0 7px;
    }

    .ps-category-hero-meta .ps-section-eyebrow {
        margin-bottom: 0;
    }

    .ps-category-count {
        display: inline-flex;
        align-items: center;
        min-height: 27px;
        padding: 0 10px;
        border: 1px solid #e1ddd6;
        border-radius: 14px;
        background: #faf9f7;
        color: var(--ps-muted);
        font-size: 10px;
        line-height: 1;
        font-weight: 800;
        letter-spacing: .025em;
        text-transform: uppercase;
        white-space: nowrap;
    }

    .ps-category-hero h1,
    .ps-category-copy h1 {
        margin: 0 0 13px;
        padding: 0;
        color: var(--ps-navy);
        font-family: Georgia, "Times New Roman", serif;
        font-size: 31px;
        line-height: 1.2;
        letter-spacing: -.25px;
    }

    .ps-category-hero p,
    .ps-category-copy p {
        max-width: 735px;
        margin: 0 0 10px;
        color: #444d54;
        font-size: 15px;
        line-height: 1.7;
    }

    .ps-category-hero p:last-child,
    .ps-category-copy p:last-child {
        margin-bottom: 0;
    }

    .ps-category-materials {
        margin: 0;
    }

    .ps-category-article-list .ps-list-card:first-child {
        padding-top: 18px;
    }

    .ps-pagination {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: center;
        gap: 7px;
        margin: 28px 0 1px;
        padding-top: 22px;
        border-top: 1px solid var(--ps-line);
    }

    .ps-pagination-label {
        margin-right: 4px;
        color: var(--ps-muted);
        font-size: 12px;
        font-weight: 700;
    }

    .ps-page-link,
    .ps-page-link:link,
    .ps-page-link:visited {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: 34px;
        height: 34px;
        padding: 0 9px;
        border: 1px solid var(--ps-line-strong);
        border-radius: 4px;
        background: #fff;
        color: var(--ps-navy);
        font-size: 12px;
        font-weight: 800;
        text-decoration: none;
    }

    .ps-page-link:hover {
        border-color: var(--ps-accent);
        color: var(--ps-accent-dark);
        text-decoration: none;
    }

    .ps-page-current {
        border-color: var(--ps-navy);
        background: var(--ps-navy);
        color: #fff;
    }

    /* Breadcrumbs - current pretty URLs, compact desktop treatment */
    body.ps-redesign .holder-navi {
        margin: -3px 0 18px;
    }

    body.ps-redesign ol.breadcrumb {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 5px 0;
        margin: 0;
        padding: 0;
        list-style: none;
    }

    body.ps-redesign ol.breadcrumb li {
        display: inline-flex;
        align-items: center;
        margin: 0;
        padding: 0;
        color: var(--ps-muted);
        font-size: 11px;
        line-height: 1.4;
    }

    body.ps-redesign ol.breadcrumb li + li::before {
        content: "›";
        margin: 0 7px;
        color: #aaa49a;
    }

    body.ps-redesign ol.breadcrumb li a {
        color: var(--ps-muted);
        font-size: inherit;
        line-height: inherit;
        text-decoration: none;
    }

    body.ps-redesign ol.breadcrumb li a:hover {
        color: var(--ps-accent-dark);
        text-decoration: underline;
    }

    /* Legacy list styling retained for sitemap and pages not yet migrated. */
    body.ps-redesign .zap-home-intro,
    body.ps-redesign .zap-category-intro {
        margin: 0 0 26px;
        padding: 0 0 24px;
        border: 0;
        border-bottom: 1px solid var(--ps-line);
        border-radius: 0;
        background: transparent;
    }

    body.ps-redesign .zap-home-intro h1,
    body.ps-redesign .zap-category-intro h1 {
        margin-bottom: 14px;
        color: var(--ps-navy);
        font-family: Georgia, "Times New Roman", serif;
        font-size: 32px;
        line-height: 1.2;
    }

    body.ps-redesign .zap-latest-title {
        margin: 0 0 8px;
        color: var(--ps-navy);
        font-size: 21px;
    }

    body.ps-redesign .main-quest .item {
        margin: 0;
        padding: 20px 0;
        border-bottom: 1px solid #ece9e3;
    }

    body.ps-redesign .main-quest .item:first-child {
        padding-top: 10px;
    }

    body.ps-redesign .main-quest .item:last-child {
        border-bottom: 0;
    }

    body.ps-redesign .main-quest .item .date {
        display: block;
        margin-bottom: 5px;
        color: var(--ps-muted);
        font-size: 11px;
        line-height: 1.4;
    }

    body.ps-redesign .main-quest h2.title,
    body.ps-redesign .main-quest h2.title p {
        margin: 0 0 7px;
        padding: 0;
    }

    body.ps-redesign .main-quest a.title {
        color: var(--ps-navy);
        font-size: 19px;
        line-height: 1.35;
        font-weight: 700;
    }

    body.ps-redesign .main-quest .item > p {
        margin: 0;
        color: #4c555c;
        font-size: 14px;
        line-height: 1.65;
        text-align: left;
    }

    /* Sidebar */
    .ps-sidebar-cta {
        margin: 0 0 12px;
        padding: 22px 21px;
        border: 1px solid #dfd1bb;
        border-radius: 4px;
        background: var(--ps-warm);
    }

    .ps-sidebar-eyebrow {
        display: block;
        margin: 0 0 7px;
        color: var(--ps-accent-dark);
        font-size: 11px;
        line-height: 1.3;
        font-weight: 800;
        letter-spacing: .07em;
        text-transform: uppercase;
    }

    .ps-sidebar-cta h2 {
        margin: 0 0 9px;
        color: var(--ps-navy);
        font-family: Georgia, "Times New Roman", serif;
        font-size: 21px;
        line-height: 1.25;
        font-weight: 700;
    }

    .ps-sidebar-cta p {
        margin: 0 0 14px;
        color: #50585e;
        font-size: 13px;
        line-height: 1.55;
    }

    .ps-sidebar-button,
    .ps-sidebar-button:link,
    .ps-sidebar-button:visited {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        min-height: 44px;
        padding: 10px 15px;
        border: 1px solid var(--ps-navy);
        border-radius: 4px;
        background: var(--ps-navy);
        color: #fff;
        font-size: 14px;
        line-height: 1.25;
        font-weight: 800;
        text-decoration: none;
    }

    .ps-sidebar-button:hover {
        background: var(--ps-navy-2);
        color: #fff;
        text-decoration: none;
    }

    .ps-sidebar-meta {
        display: block;
        margin-top: 10px;
        color: var(--ps-muted);
        font-size: 11px;
        line-height: 1.45;
        text-align: center;
    }

    .ps-sidebar-sticky {
        position: -webkit-sticky;
        position: sticky;
        top: calc(var(--ps-nav-h) + 12px);
        z-index: 20;
        max-height: calc(100vh - var(--ps-nav-h) - 24px);
        overflow-y: auto;
        overscroll-behavior: contain;
    }

    /* Vertical form */
    body.ps-redesign #formularz_pionowy.ps-side-form {
        width: 100%;
        margin: 0;
        padding: 0 0 15px;
        overflow: hidden;
        border: 1px solid var(--ps-line-strong);
        border-top: 3px solid var(--ps-accent);
        border-radius: 4px;
        background: #fff;
        color: var(--ps-text);
        box-shadow: 0 2px 7px rgba(34, 45, 54, .045);
    }

    .ps-side-form-fields {
        padding: 14px 14px 0;
    }

    body.ps-redesign .ps-side-form textarea,
    body.ps-redesign .ps-side-form input[type="text"],
    body.ps-redesign .ps-side-form input[type="email"] {
        display: block;
        width: 100%;
        margin: 0 0 9px;
        padding: 10px 11px;
        border: 1px solid #cfd3d5;
        border-radius: 3px;
        background: #fff;
        color: var(--ps-text);
        font: inherit;
        font-size: 13px;
        line-height: 1.4;
        box-shadow: inset 0 1px 1px rgba(0, 0, 0, .025);
    }

    body.ps-redesign .ps-side-form textarea {
        min-height: 145px;
        resize: vertical;
    }

    body.ps-redesign .ps-side-form textarea:focus,
    body.ps-redesign .ps-side-form input[type="text"]:focus,
    body.ps-redesign .ps-side-form input[type="email"]:focus {
        border-color: #8ca1af;
        box-shadow: 0 0 0 2px rgba(23, 52, 78, .08);
    }

    .ps-side-form-files {
        margin: 2px 0 0;
        padding: 10px 14px 4px;
        border-top: 1px solid #ece9e3;
    }

    .ps-side-file-list {
        display: flex;
        flex-direction: column;
        gap: 7px;
    }

    .ps-side-file-row {
        position: relative;
        display: flex;
        align-items: center;
        gap: 8px;
        min-width: 0;
    }

    .ps-side-file-button {
        flex: 0 0 auto;
        min-height: 32px;
        padding: 6px 10px;
        border: 1px solid #c5a16f;
        border-radius: 3px;
        background: var(--ps-warm);
        color: var(--ps-navy);
        font: inherit;
        font-size: 11px;
        line-height: 1.2;
        font-weight: 800;
        cursor: pointer;
        transition: background-color .14s ease, border-color .14s ease;
    }

    .ps-side-file-button:hover,
    .ps-side-file-button:focus {
        border-color: var(--ps-accent-dark);
        background: #f5ead9;
        outline: 0;
    }

    .ps-side-file-name {
        min-width: 0;
        flex: 1 1 auto;
        overflow: hidden;
        color: var(--ps-muted);
        font-size: 10px;
        line-height: 1.3;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .ps-side-file-row.has-file .ps-side-file-name {
        color: var(--ps-text);
        font-weight: 600;
    }

    body.ps-redesign .ps-side-form input.ps-side-file-input[type="file"] {
        position: absolute;
        width: 1px;
        height: 1px;
        margin: -1px;
        padding: 0;
        overflow: hidden;
        clip: rect(0 0 0 0);
        clip-path: inset(50%);
        border: 0;
        white-space: nowrap;
    }

    .ps-side-form-consents {
        padding: 7px 14px 0;
    }

    body.ps-redesign .ps-side-form .send-holder {
        width: auto;
        margin: 0;
        padding: 0;
    }

    body.ps-redesign .ps-side-form .info-regulamin {
        margin: 0 0 7px;
        padding: 0;
    }

    body.ps-redesign .ps-side-form label.regulamin {
        display: block;
        margin: 0;
        padding: 0;
        color: #626a70;
        font-size: 10px;
        line-height: 1.45;
        font-weight: 400;
    }

    body.ps-redesign .ps-side-form label.regulamin a,
    body.ps-redesign .ps-side-form label.regulamin span {
        color: inherit;
        font-size: inherit;
    }

    body.ps-redesign .ps-side-form label.regulamin a {
        color: var(--ps-navy-2);
        text-decoration: underline;
    }

    body.ps-redesign .ps-side-form input[type="checkbox"] {
        position: relative;
        top: 2px;
        margin: 0 5px 0 0;
    }

    body.ps-redesign .ps-side-form .ps-consent-warning {
        display: none;
        margin-right: 4px;
        padding: 1px 3px;
        background: #fff4cf;
        color: #a73d2d;
        font-size: 10px;
        font-weight: 800;
    }

    body.ps-redesign .ps-side-form .mainbuttonpion {
        display: block;
        width: calc(100% - 28px);
        min-height: 45px;
        margin: 10px 14px 0;
        padding: 10px 14px;
        border: 1px solid var(--ps-accent-dark);
        border-radius: 4px;
        background: var(--ps-accent-dark);
        color: #fff;
        font: inherit;
        font-size: 14px;
        line-height: 1.2;
        font-weight: 800;
        text-shadow: none;
        cursor: pointer;
    }

    body.ps-redesign .ps-side-form .mainbuttonpion:hover {
        background: #79572f;
        border-color: #79572f;
    }

    .ps-side-form-note {
        margin: 9px 14px 0;
        color: var(--ps-muted);
        font-size: 10px;
        line-height: 1.45;
        text-align: center;
    }

    /* Article end CTA */
    .ps-article-end-cta {
        margin: 30px 0 10px;
        padding: 21px 23px;
        border: 1px solid #dfd1bb;
        border-radius: 4px;
        background: var(--ps-warm);
    }

    .ps-article-end-cta h2 {
        margin: 0 0 7px !important;
        color: var(--ps-navy);
        font-size: 21px !important;
    }

    .ps-article-end-cta p {
        margin: 0 0 13px !important;
        color: #50585e !important;
        font-size: 14px;
    }

    .ps-article-end-cta a,
    .ps-article-end-cta a:link,
    .ps-article-end-cta a:visited {
        display: inline-flex;
        min-height: 42px;
        align-items: center;
        justify-content: center;
        padding: 9px 16px;
        border-radius: 4px;
        background: var(--ps-navy);
        color: #fff;
        font-size: 13px;
        font-weight: 800;
        text-decoration: none;
    }

    .ps-article-end-cta a:hover {
        background: var(--ps-navy-2);
        color: #fff;
        text-decoration: none;
    }

    /* Related content */
    body.ps-redesign aside.polecane.ps-related {
        margin: 30px 0 0;
        padding: 0;
    }

    body.ps-redesign .ps-related fieldset.polecaneinside {
        margin: 0;
        padding: 14px 18px 8px;
        border: 1px solid var(--ps-line);
        border-radius: 4px;
        background: #fafafa;
    }

    body.ps-redesign .ps-related legend {
        padding: 0 7px;
        color: var(--ps-navy);
        font-size: 13px;
        font-weight: 800;
        letter-spacing: .035em;
        text-transform: uppercase;
    }

    body.ps-redesign .ps-related h3.polecane-materialy {
        margin: 0;
        padding: 8px 0;
        border-bottom: 1px solid #ebe8e2;
        font-size: 14px;
        line-height: 1.45;
        font-weight: 600;
    }

    body.ps-redesign .ps-related h3.polecane-materialy:last-child {
        border-bottom: 0;
    }

    body.ps-redesign .ps-related h3.polecane-materialy a {
        text-decoration: none;
    }

    /* Footer */
    .ps-footer {
        margin-top: 42px;
        border-top: 1px solid #273f52;
        background: #122b40;
        color: #d9e1e6;
    }

    .ps-footer-main {
        display: grid;
        grid-template-columns: 1.45fr 1fr 1fr 1fr;
        gap: 38px;
        padding-top: 34px;
        padding-bottom: 32px;
    }

    .ps-footer-brand {
        margin: 0 0 8px;
        color: #fff;
        font-family: Georgia, "Times New Roman", serif;
        font-size: 21px;
        line-height: 1.25;
        font-weight: 700;
    }

    .ps-footer-copy {
        max-width: 330px;
        margin: 0;
        color: #b8c5ce;
        font-size: 12px;
        line-height: 1.6;
    }

    .ps-footer h2 {
        margin: 0 0 10px;
        color: #fff;
        font-size: 12px;
        line-height: 1.3;
        font-weight: 800;
        letter-spacing: .055em;
        text-transform: uppercase;
    }

    .ps-footer a,
    .ps-footer a:link,
    .ps-footer a:visited {
        display: block;
        margin: 5px 0;
        color: #cbd6dc;
        font-size: 12px;
        line-height: 1.45;
        text-decoration: none;
    }

    .ps-footer a:hover {
        color: #fff;
        text-decoration: underline;
    }

    .ps-footer-bottom {
        border-top: 1px solid rgba(255, 255, 255, .10);
    }

    .ps-footer-bottom-inner {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        gap: 30px;
        padding-top: 18px;
        padding-bottom: 21px;
    }

    .ps-footer-company,
    .ps-footer-contact {
        color: #9fb0ba;
        font-size: 10px;
        line-height: 1.55;
    }

    .ps-footer-contact {
        text-align: right;
    }

    .ps-footer-contact a {
        display: inline;
        margin: 0;
        color: #cbd6dc;
        font-size: inherit;
    }

    /* Remove desktop-only legacy UI now superseded by the shell. */
    body.ps-redesign #follow,
    body.ps-redesign .holder-middle,
    body.ps-redesign .menu-kategorii,
    body.ps-redesign .lawyers,
    body.ps-redesign .btn-szukamy-prawnikow {
        display: none;
    }

    @media screen and (max-width: 1120px) {
        :root {
            --ps-sidebar: 310px;
            --ps-gap: 14px;
        }

        body.ps-redesign .ps-main-column {
            padding-left: 30px;
            padding-right: 30px;
        }

        .ps-nav-link,
        .ps-nav-categories-toggle {
            padding-left: 14px;
            padding-right: 14px;
            font-size: 13px;
        }

        .ps-header-trust {
            display: none;
        }
    }
}

/* Batch 05: dedicated question form / porady_prawne desktop */
@media screen and (min-width: 1024px) {
    body.ps-redesign .mobile-przekierowanie {
        display: none;
    }

    body.ps-redesign .ps-form-page-layout .ps-main-column {
        padding: 0;
        overflow: visible;
    }

    body.ps-redesign .ps-question-page {
        display: block;
        width: 100%;
        margin: 0;
        padding: 0;
    }

    .ps-question-hero {
        padding: 34px 38px 27px;
        border-bottom: 1px solid var(--ps-line);
        background: #fbfaf8;
    }

    .ps-question-eyebrow,
    .ps-question-summary-eyebrow {
        display: block;
        margin: 0 0 7px;
        color: var(--ps-accent-dark);
        font-size: 11px;
        line-height: 1.3;
        font-weight: 800;
        letter-spacing: .085em;
        text-transform: uppercase;
    }

    .ps-question-hero h1 {
        max-width: 800px;
        margin: 0;
        color: var(--ps-navy);
        font-family: Georgia, "Times New Roman", serif;
        font-size: 32px;
        line-height: 1.18;
        font-weight: 700;
        letter-spacing: -.25px;
        text-align: left;
    }

    .ps-question-hero > p {
        max-width: 850px;
        margin: 12px 0 0;
        color: #4d565d;
        font-size: 15px;
        line-height: 1.65;
    }

    .ps-question-quick-trust {
        display: flex;
        flex-wrap: wrap;
        gap: 8px 22px;
        margin-top: 18px;
    }

    .ps-question-quick-trust span {
        position: relative;
        padding-left: 17px;
        color: #50606b;
        font-size: 12px;
        line-height: 1.4;
        font-weight: 700;
    }

    .ps-question-quick-trust span::before {
        content: "";
        position: absolute;
        top: .42em;
        left: 0;
        width: 7px;
        height: 7px;
        border: 2px solid var(--ps-accent);
        border-radius: 50%;
        background: #fff;
    }

    body.ps-redesign .ps-question-form {
        display: block;
        width: auto;
        margin: 0;
        padding: 0;
        border: 0;
        background: #fff;
    }

    .ps-question-form-grid {
        display: grid;
        grid-template-columns: minmax(0, 1fr) 342px;
        gap: 28px;
        align-items: start;
        padding: 30px 38px 34px;
    }

    .ps-question-form-fields {
        min-width: 0;
    }

    .ps-question-section-heading {
        display: flex;
        align-items: flex-start;
        gap: 12px;
        margin: 0 0 15px;
    }

    .ps-question-section-heading-contact,
    .ps-question-section-heading-files {
        margin-top: 27px;
        padding-top: 25px;
        border-top: 1px solid #ece9e3;
    }

    .ps-question-step-badge {
        display: inline-flex;
        flex: 0 0 28px;
        width: 28px;
        height: 28px;
        align-items: center;
        justify-content: center;
        margin-top: 1px;
        border: 1px solid #d7c2a2;
        border-radius: 50%;
        background: var(--ps-warm);
        color: var(--ps-accent-dark);
        font-size: 12px;
        line-height: 1;
        font-weight: 800;
    }

    .ps-question-section-heading h2 {
        margin: 0;
        color: var(--ps-navy);
        font-size: 18px;
        line-height: 1.3;
        font-weight: 800;
    }

    .ps-question-section-heading h2 span {
        color: var(--ps-muted);
        font-size: 12px;
        font-weight: 600;
    }

    .ps-question-section-heading p {
        margin: 3px 0 0;
        color: var(--ps-muted);
        font-size: 12px;
        line-height: 1.5;
    }

    .ps-question-field {
        position: relative;
        min-width: 0;
    }

    .ps-question-field > label {
        display: block;
        margin: 0 0 6px;
        color: #3d4952;
        font-size: 12px;
        line-height: 1.35;
        font-weight: 800;
    }

    .ps-question-field > label span {
        color: var(--ps-muted);
        font-weight: 600;
    }

    body.ps-redesign .ps-question-field textarea,
    body.ps-redesign .ps-question-field input[type="text"],
    body.ps-redesign .ps-question-field input[type="email"] {
        display: block;
        float: none;
        width: 100%;
        max-width: none;
        min-width: 0;
        height: auto;
        margin: 0;
        padding: 11px 12px;
        border: 1px solid #cbd0d4;
        border-radius: 4px;
        background: #fff;
        color: var(--ps-text);
        font: inherit;
        font-size: 14px;
        line-height: 1.45;
        letter-spacing: normal;
        box-shadow: inset 0 1px 1px rgba(0, 0, 0, .02);
    }

    body.ps-redesign .ps-question-field textarea {
        min-height: 210px;
        resize: vertical;
    }

    body.ps-redesign .ps-question-field textarea:focus,
    body.ps-redesign .ps-question-field input[type="text"]:focus,
    body.ps-redesign .ps-question-field input[type="email"]:focus {
        border-color: #879caa;
        outline: 0;
        box-shadow: 0 0 0 3px rgba(23, 52, 78, .08);
    }

    .ps-question-help {
        display: block;
        margin-top: 6px;
        color: #768087;
        font-size: 10.5px;
        line-height: 1.45;
    }

    .ps-question-contact-grid {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 15px 16px;
    }

    .ps-question-field-phone {
        grid-column: 1 / -1;
        max-width: calc(50% - 8px);
    }

    body.ps-redesign .ps-question-field .validate {
        display: none;
    }

    .ps-form-error {
        margin: 0 0 6px;
        padding: 6px 8px;
        border-left: 3px solid #a84b3f;
        background: #fbefed;
        color: #7c352c;
        font-size: 11px;
        line-height: 1.35;
        font-weight: 700;
    }

    .ps-main-file-list {
        display: flex;
        flex-direction: column;
        gap: 8px;
        max-width: 610px;
    }

    .ps-main-file-row {
        position: relative;
        display: flex;
        min-width: 0;
        min-height: 40px;
        align-items: center;
        gap: 10px;
        padding: 5px 6px;
        border: 1px solid #e0ddd7;
        border-radius: 4px;
        background: #fbfaf8;
    }

    .ps-main-file-button {
        flex: 0 0 auto;
        min-width: 118px;
        min-height: 30px;
        padding: 6px 11px;
        border: 1px solid #c5a16f;
        border-radius: 3px;
        background: var(--ps-warm);
        color: var(--ps-navy);
        font: inherit;
        font-size: 11px;
        line-height: 1.2;
        font-weight: 800;
        cursor: pointer;
    }

    .ps-main-file-button:hover,
    .ps-main-file-button:focus {
        border-color: var(--ps-accent-dark);
        background: #f5ead9;
        outline: 0;
    }

    .ps-main-file-name {
        min-width: 0;
        overflow: hidden;
        color: var(--ps-muted);
        font-size: 11px;
        line-height: 1.3;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .ps-main-file-row.has-file .ps-main-file-name {
        color: var(--ps-text);
        font-weight: 700;
    }

    body.ps-redesign input.ps-main-file-input[type="file"] {
        position: absolute;
        width: 1px;
        height: 1px;
        margin: -1px;
        padding: 0;
        overflow: hidden;
        clip: rect(0 0 0 0);
        clip-path: inset(50%);
        border: 0;
        white-space: nowrap;
    }

    .ps-question-form-summary {
        position: -webkit-sticky;
        position: sticky;
        top: calc(var(--ps-nav-h) + 13px);
        min-width: 0;
        max-height: calc(100vh - var(--ps-nav-h) - 26px);
        overflow-y: auto;
        overscroll-behavior: contain;
        padding: 18px;
        border: 1px solid var(--ps-line-strong);
        border-top: 3px solid var(--ps-accent);
        border-radius: 4px;
        background: #fbfaf8;
    }

    .ps-question-process-card {
        padding-bottom: 14px;
        border-bottom: 1px solid #e6e2db;
    }

    .ps-question-process-list {
        margin: 0;
        padding: 0;
        list-style: none;
        counter-reset: ps-form-process;
    }

    .ps-question-process-list li {
        position: relative;
        margin: 0;
        padding: 0 0 13px 34px;
        counter-increment: ps-form-process;
    }

    .ps-question-process-list li:last-child {
        padding-bottom: 0;
    }

    .ps-question-process-list li::before {
        content: counter(ps-form-process);
        position: absolute;
        top: 0;
        left: 0;
        display: inline-flex;
        width: 23px;
        height: 23px;
        align-items: center;
        justify-content: center;
        border-radius: 50%;
        background: var(--ps-navy-soft);
        color: var(--ps-navy);
        font-size: 10px;
        line-height: 1;
        font-weight: 800;
    }

    .ps-question-process-list strong,
    .ps-question-process-list span {
        display: block;
    }

    .ps-question-process-list strong {
        color: #39454e;
        font-size: 12px;
        line-height: 1.35;
    }

    .ps-question-process-list span {
        margin-top: 2px;
        color: #707980;
        font-size: 10.5px;
        line-height: 1.45;
    }

    .ps-question-consents {
        margin-top: 15px;
    }

    body.ps-redesign .ps-question-consents .info-regulamin {
        margin: 0 0 9px;
        padding: 0;
        background: transparent;
    }

    body.ps-redesign .ps-question-consents label.regulamin {
        display: block;
        margin: 0;
        padding: 0;
        color: #606a71;
        font-size: 10px;
        line-height: 1.5;
        font-weight: 400;
    }

    body.ps-redesign .ps-question-consents label.regulamin a {
        color: var(--ps-navy-2);
        font-size: inherit;
        text-decoration: underline;
    }

    body.ps-redesign .ps-question-consents input[type="checkbox"] {
        position: relative;
        top: 2px;
        margin: 0 5px 0 0;
    }

    body.ps-redesign .ps-question-consents .privacy-more-content {
        display: none;
        margin-top: 5px;
        padding: 8px 9px;
        border: 1px solid #e2ddd3;
        border-radius: 3px;
        background: #fff;
        color: #626c73;
        font-size: 9.5px;
        line-height: 1.45;
    }

    body.ps-redesign .ps-question-consents .privacy-more-content.show {
        display: block;
    }

    body.ps-redesign .ps-question-submit {
        display: block;
        width: 100%;
        min-height: 47px;
        margin: 15px 0 0;
        padding: 10px 14px;
        border: 1px solid var(--ps-navy);
        border-radius: 4px;
        background: var(--ps-navy);
        color: #fff;
        font: inherit;
        font-size: 14px;
        line-height: 1.2;
        font-weight: 800;
        text-shadow: none;
        cursor: pointer;
    }

    body.ps-redesign .ps-question-submit:hover {
        border-color: var(--ps-navy-2);
        background: var(--ps-navy-2);
    }

    .ps-question-submit-note {
        margin: 10px 0 0;
        color: #49545c;
        font-size: 10.5px;
        line-height: 1.45;
        text-align: center;
    }

    .ps-question-time-note {
        margin: 6px 0 0;
        color: #788188;
        font-size: 9.5px;
        line-height: 1.45;
        text-align: center;
    }

    .ps-question-proof-strip {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        border-top: 1px solid var(--ps-line);
        border-bottom: 1px solid var(--ps-line);
        background: #f7f6f3;
    }

    .ps-question-proof-strip > div {
        min-width: 0;
        padding: 17px 18px;
        text-align: center;
    }

    .ps-question-proof-strip > div + div {
        border-left: 1px solid #dedbd5;
    }

    .ps-question-proof-strip strong,
    .ps-question-proof-strip span {
        display: block;
    }

    .ps-question-proof-strip strong {
        color: var(--ps-navy);
        font-family: Georgia, "Times New Roman", serif;
        font-size: 21px;
        line-height: 1.15;
    }

    .ps-question-proof-strip span {
        margin-top: 4px;
        color: var(--ps-muted);
        font-size: 10px;
        line-height: 1.35;
        font-weight: 700;
    }

    body.ps-redesign .ps-question-page #rodoinfo {
        display: none;
        width: auto;
        max-width: none;
        margin: 24px 38px 0;
        padding: 20px 22px;
        border: 1px solid #ddd7cd;
        border-radius: 4px;
        background: #fbfaf8;
        color: #59636a;
        font-size: 10.5px;
        line-height: 1.55;
        column-count: 1;
    }

    body.ps-redesign .ps-question-page #rodoinfo > p:first-child {
        margin-top: 0;
        color: var(--ps-navy);
        font-size: 13px;
    }

    body.ps-redesign .ps-question-page #rodoinfo p {
        margin: 5px 0;
        font-size: inherit;
        line-height: inherit;
    }

    body.ps-redesign .ps-question-page #rodoinfo ol,
    body.ps-redesign .ps-question-page #rodoinfo ul {
        margin-top: 6px;
        margin-bottom: 9px;
    }

    body.ps-redesign .ps-question-page #rodoinfo a {
        color: var(--ps-navy-2);
    }

    body.ps-redesign .ps-form-page-layout .holder-content {
        width: auto;
        margin: 0;
        padding: 0 38px 38px;
    }

    body.ps-redesign .ps-legacy-answer-hook {
        display: none;
    }

    .ps-question-benefits {
        padding-top: 31px;
    }

    .ps-question-section-intro {
        max-width: 780px;
        margin-bottom: 18px;
    }

    .ps-question-section-intro h2 {
        margin: 0;
        color: var(--ps-navy);
        font-family: Georgia, "Times New Roman", serif;
        font-size: 24px;
        line-height: 1.25;
    }

    .ps-question-section-intro > p {
        margin: 8px 0 0;
        color: var(--ps-muted);
        font-size: 13px;
        line-height: 1.6;
    }

    .ps-question-benefit-grid {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
    }

    .ps-question-benefit-card {
        min-width: 0;
        padding: 16px 17px;
        border: 1px solid var(--ps-line);
        border-radius: 4px;
        background: #fbfaf8;
    }

    .ps-question-benefit-card strong {
        display: block;
        color: var(--ps-navy);
        font-size: 13px;
        line-height: 1.35;
    }

    .ps-question-benefit-card p {
        margin: 5px 0 0;
        color: #606a71;
        font-size: 11px;
        line-height: 1.55;
    }

    .ps-question-benefit-card a {
        font-weight: 700;
    }

    .ps-question-reviews {
        margin-top: 34px;
        padding-top: 30px;
        border-top: 1px solid var(--ps-line);
    }

    .ps-question-section-intro-reviews {
        margin-bottom: 16px;
    }

    .ps-question-review-grid {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
    }

    .ps-question-review-card {
        min-width: 0;
        padding: 15px 17px;
        border: 1px solid #e0ddd7;
        border-radius: 4px;
        background: #fff;
    }

    .ps-question-review-date {
        display: block;
        margin-bottom: 7px;
        color: #879097;
        font-size: 9px;
        line-height: 1.3;
        font-weight: 700;
        letter-spacing: .045em;
    }

    .ps-question-review-card > p {
        margin: 0;
        color: #4f5960;
        font-size: 11.5px;
        line-height: 1.6;
    }

    .ps-question-review-card .ps-question-review-note {
        margin-top: 7px;
        color: #6f777d;
        font-style: italic;
    }

    .ps-question-review-author {
        display: block;
        margin-top: 9px;
        color: var(--ps-navy);
        font-size: 10.5px;
        line-height: 1.35;
    }

    .ps-form-status {
        padding: 44px 42px 46px;
    }

    .ps-form-status h1 {
        max-width: 760px;
        margin: 0;
        color: var(--ps-navy);
        font-family: Georgia, "Times New Roman", serif;
        font-size: 30px;
        line-height: 1.2;
    }

    .ps-form-status > p,
    .ps-form-status-lead {
        max-width: 780px;
        margin: 12px 0 0;
        color: #556067;
        font-size: 14px;
        line-height: 1.65;
    }

    .ps-form-status-data {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
        max-width: 680px;
        margin-top: 22px;
    }

    .ps-form-status-data > div {
        min-width: 0;
        padding: 12px 14px;
        border: 1px solid var(--ps-line);
        border-radius: 4px;
        background: #fbfaf8;
    }

    .ps-form-status-data span,
    .ps-form-status-data strong {
        display: block;
    }

    .ps-form-status-data span {
        color: var(--ps-muted);
        font-size: 9px;
        line-height: 1.3;
        font-weight: 800;
        letter-spacing: .06em;
        text-transform: uppercase;
    }

    .ps-form-status-data strong {
        margin-top: 4px;
        overflow-wrap: anywhere;
        color: var(--ps-text);
        font-size: 13px;
        line-height: 1.4;
    }

    .ps-form-status-note {
        max-width: 780px;
        margin-top: 18px;
        padding: 13px 15px;
        border-left: 3px solid var(--ps-accent);
        background: var(--ps-warm);
    }

    .ps-form-status-note strong {
        color: var(--ps-navy);
        font-size: 12px;
    }

    .ps-form-status-note p {
        margin: 4px 0 0;
        color: #636c72;
        font-size: 11px;
        line-height: 1.5;
    }

    .ps-form-status-button,
    .ps-form-status-button:link,
    .ps-form-status-button:visited {
        display: inline-flex;
        min-height: 42px;
        align-items: center;
        justify-content: center;
        margin-top: 20px;
        padding: 8px 15px;
        border-radius: 4px;
        background: var(--ps-navy);
        color: #fff;
        font-size: 12px;
        line-height: 1.2;
        font-weight: 800;
        text-decoration: none;
    }

    .ps-form-status-button:hover {
        background: var(--ps-navy-2);
        color: #fff;
        text-decoration: none;
    }

    .ps-form-status-error {
        border-top: 3px solid #9d4c42;
    }

    .ps-form-status-success {
        border-top: 3px solid var(--ps-success);
    }

    @media screen and (max-width: 1120px) {
        .ps-question-form-grid {
            grid-template-columns: minmax(0, 1fr) 315px;
            gap: 22px;
            padding-left: 30px;
            padding-right: 30px;
        }

        .ps-question-hero {
            padding-left: 30px;
            padding-right: 30px;
        }

        body.ps-redesign .ps-form-page-layout .holder-content {
            padding-left: 30px;
            padding-right: 30px;
        }

        body.ps-redesign .ps-question-page #rodoinfo {
            margin-left: 30px;
            margin-right: 30px;
        }
    }
}


/* Batch 06: PM-style main question form + service pages */
@media screen and (min-width: 1024px) {
    body.ps-redesign .ps-form-page-layout .ps-main-column {
        padding: 32px 38px 40px;
        overflow: visible;
    }

    body.ps-redesign .ps-question-page-pm {
        max-width: 980px;
        margin: 0 auto;
    }

    .ps-question-pm-head {
        margin: 0 0 24px;
    }

    .ps-question-pm-head h1 {
        margin: 0;
        color: var(--ps-navy);
        font-family: Georgia, "Times New Roman", serif;
        font-size: 32px;
        line-height: 1.2;
        font-weight: 700;
        letter-spacing: -.015em;
    }

    body.ps-redesign .ps-question-form-pm {
        display: block;
        margin: 0;
        padding: 0;
        border: 0;
        background: transparent;
    }

    .ps-pm-form-step {
        margin: 0 0 18px;
        padding: 24px 26px 26px;
        border: 1px solid var(--ps-line);
        border-radius: 7px;
        background: #fff;
    }

    .ps-pm-step-heading {
        display: flex;
        align-items: center;
        gap: 12px;
        margin: 0 0 18px;
    }

    .ps-pm-step-number {
        display: inline-flex;
        flex: 0 0 32px;
        width: 32px;
        height: 32px;
        align-items: center;
        justify-content: center;
        border-radius: 50%;
        background: var(--ps-navy);
        color: #fff;
        font-size: 14px;
        line-height: 1;
        font-weight: 800;
    }

    .ps-pm-step-heading h2 {
        margin: 0;
        color: var(--ps-navy);
        font-family: Georgia, "Times New Roman", serif;
        font-size: 23px;
        line-height: 1.25;
    }

    .ps-pm-field {
        min-width: 0;
    }

    .ps-pm-field > label,
    .ps-pm-attachments h3 {
        display: block;
        margin: 0 0 7px;
        color: #263843;
        font-size: 13px;
        line-height: 1.35;
        font-weight: 800;
    }

    .ps-pm-field > label span,
    .ps-pm-attachments h3 span {
        color: var(--ps-muted);
        font-weight: 500;
    }

    body.ps-redesign .ps-pm-field textarea,
    body.ps-redesign .ps-pm-field input[type="text"],
    body.ps-redesign .ps-pm-field input[type="email"] {
        display: block;
        box-sizing: border-box;
        width: 100%;
        margin: 0;
        padding: 12px 13px;
        border: 1px solid #cbd3d8;
        border-radius: 5px;
        outline: 0;
        background: #fff;
        color: var(--ps-ink);
        font-family: Arial, Helvetica, sans-serif;
        font-size: 15px;
        line-height: 1.45;
        transition: border-color .15s ease, box-shadow .15s ease;
    }

    body.ps-redesign .ps-pm-field textarea {
        min-height: 210px;
        resize: vertical;
    }

    body.ps-redesign .ps-pm-field textarea:focus,
    body.ps-redesign .ps-pm-field input[type="text"]:focus,
    body.ps-redesign .ps-pm-field input[type="email"]:focus {
        border-color: var(--ps-accent-dark);
        box-shadow: 0 0 0 3px rgba(179, 139, 75, .12);
    }

    .ps-pm-attachments {
        margin-top: 17px;
        padding-top: 17px;
        border-top: 1px solid #edf0f1;
    }

    .ps-pm-attachments .ps-main-file-list {
        max-width: 560px;
    }

    .ps-pm-contact-grid {
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        gap: 16px 18px;
        align-items: start;
    }

    .ps-pm-field-phone {
        grid-column: 1;
    }

    .ps-pm-phone-note {
        grid-column: 2;
        margin: 0;
        padding: 12px 14px;
        border-left: 3px solid var(--ps-accent);
        background: #faf7f1;
        color: #50606a;
        font-size: 12px;
        line-height: 1.5;
    }

    .ps-pm-phone-note strong {
        display: block;
        margin-bottom: 3px;
        color: var(--ps-navy);
        font-size: 12px;
    }

    .ps-pm-phone-note p {
        margin: 0;
    }

    .ps-pm-consents {
        margin-top: 22px;
        padding-top: 18px;
        border-top: 1px solid #edf0f1;
    }

    body.ps-redesign .ps-pm-consents .info-regulamin {
        margin: 0 0 10px;
        padding: 0;
    }

    body.ps-redesign .ps-pm-consents label.regulamin {
        display: grid;
        grid-template-columns: auto minmax(0, 1fr);
        gap: 8px;
        align-items: start;
        color: #55636c;
        font-size: 11px;
        line-height: 1.5;
    }

    body.ps-redesign .ps-pm-consents label.regulamin input[type="checkbox"] {
        width: 17px;
        height: 17px;
        margin: 1px 0 0;
    }

    body.ps-redesign .ps-pm-consents a {
        color: var(--ps-link);
    }

    body.ps-redesign .ps-pm-submit {
        display: block;
        width: auto;
        min-width: 285px;
        margin: 20px auto 0;
        padding: 14px 24px;
        border: 0;
        border-radius: 5px;
        background: var(--ps-navy);
        color: #fff;
        cursor: pointer;
        font-size: 15px;
        line-height: 1.2;
        font-weight: 800;
    }

    body.ps-redesign .ps-pm-submit:hover {
        background: #132d3b;
    }

    .ps-pm-form-trust {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 5px 9px;
        margin: 13px 0 0;
        color: #66757e;
        font-size: 11px;
        line-height: 1.35;
        text-align: center;
    }

    .ps-pm-form-trust span + span::before {
        content: "·";
        margin-right: 9px;
        color: #a5adb2;
    }

    .ps-pm-how,
    .ps-pm-reviews {
        margin: 30px 0 0;
        padding: 0;
    }

    .ps-pm-how h2,
    .ps-pm-reviews h2 {
        margin: 0 0 17px;
        color: var(--ps-navy);
        font-family: Georgia, "Times New Roman", serif;
        font-size: 24px;
        line-height: 1.25;
    }

    .ps-pm-how-grid {
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 12px;
        margin: 0;
        padding: 0;
        list-style: none;
    }

    .ps-pm-how-grid li {
        display: flex;
        gap: 10px;
        min-width: 0;
        padding: 16px 14px;
        border: 1px solid var(--ps-line);
        border-radius: 6px;
        background: #fafbfb;
    }

    .ps-pm-how-grid li > span {
        display: inline-flex;
        flex: 0 0 26px;
        width: 26px;
        height: 26px;
        align-items: center;
        justify-content: center;
        border-radius: 50%;
        background: #eee5d6;
        color: var(--ps-navy);
        font-size: 12px;
        font-weight: 800;
    }

    .ps-pm-how-grid strong {
        display: block;
        margin: 0 0 5px;
        color: var(--ps-navy);
        font-size: 13px;
        line-height: 1.3;
    }

    .ps-pm-how-grid p {
        margin: 0;
        color: #64717a;
        font-size: 12px;
        line-height: 1.45;
    }

    .ps-pm-review-grid {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 12px;
    }

    .ps-pm-review-card {
        min-width: 0;
        padding: 17px 17px 16px;
        border: 1px solid var(--ps-line);
        border-radius: 6px;
        background: #fff;
    }

    .ps-pm-stars {
        margin: 0 0 8px;
        color: #9b743a;
        font-size: 13px;
        letter-spacing: .04em;
    }

    .ps-pm-review-card > p {
        margin: 0 0 10px;
        color: #46545d;
        font-size: 13px;
        line-height: 1.55;
    }

    .ps-pm-review-card > strong {
        display: block;
        color: var(--ps-navy);
        font-size: 12px;
    }

    .ps-pm-reviews-more {
        margin: 13px 0 0;
        text-align: right;
    }

    .ps-pm-reviews-more a {
        color: var(--ps-link);
        font-size: 13px;
        font-weight: 700;
    }

    .ps-pm-bottom-trust {
        margin: 26px 0 0;
        padding: 13px 16px;
        border-radius: 5px;
        background: #f7f4ee;
        color: #55636c;
        font-size: 12px;
        line-height: 1.4;
        text-align: center;
        font-weight: 700;
    }

    /* Category heading refinement */
    body.ps-redesign .ps-category-materials .ps-section-heading-compact > div {
        align-self: center;
    }

    /* Service pages */
    .ps-service-page {
        color: var(--ps-ink);
    }

    .ps-service-hero {
        margin: 0 0 28px;
        padding: 2px 0 24px;
        border-bottom: 1px solid var(--ps-line);
    }

    .ps-service-eyebrow {
        display: block;
        margin: 0 0 8px;
        color: var(--ps-accent-dark);
        font-size: 11px;
        line-height: 1.3;
        font-weight: 800;
        letter-spacing: .08em;
        text-transform: uppercase;
    }

    .ps-service-hero h1 {
        margin: 0;
        color: var(--ps-navy);
        font-family: Georgia, "Times New Roman", serif;
        font-size: 31px;
        line-height: 1.2;
        letter-spacing: -.012em;
    }

    .ps-service-hero p {
        max-width: 720px;
        margin: 13px 0 0;
        color: #4f5f68;
        font-size: 15px;
        line-height: 1.65;
    }

    .ps-service-section {
        margin: 30px 0;
    }

    .ps-service-section > h2,
    .ps-contact-card h2 {
        margin: 0 0 16px;
        color: var(--ps-navy);
        font-family: Georgia, "Times New Roman", serif;
        font-size: 23px;
        line-height: 1.3;
    }

    .ps-service-cards {
        display: grid;
        gap: 12px;
    }

    .ps-service-cards-2 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ps-service-cards-3 {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .ps-service-cards article {
        min-width: 0;
        padding: 17px 18px;
        border: 1px solid var(--ps-line);
        border-radius: 6px;
        background: #fafbfb;
    }

    .ps-service-cards strong {
        display: block;
        margin: 0 0 6px;
        color: var(--ps-navy);
        font-size: 14px;
        line-height: 1.35;
    }

    .ps-service-cards p {
        margin: 0;
        color: #5d6c75;
        font-size: 13px;
        line-height: 1.55;
    }

    .ps-service-steps {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px 14px;
        margin: 0;
        padding: 0;
        list-style: none;
    }

    .ps-service-steps li {
        display: flex;
        gap: 12px;
        min-width: 0;
        padding: 14px 15px;
        border-top: 1px solid #e6eaec;
    }

    .ps-service-steps li > span {
        display: inline-flex;
        flex: 0 0 28px;
        width: 28px;
        height: 28px;
        align-items: center;
        justify-content: center;
        border-radius: 50%;
        background: var(--ps-navy);
        color: #fff;
        font-size: 12px;
        font-weight: 800;
    }

    .ps-service-steps strong {
        display: block;
        margin: 0 0 4px;
        color: var(--ps-navy);
        font-size: 14px;
    }

    .ps-service-steps p {
        margin: 0;
        color: #63717a;
        font-size: 12px;
        line-height: 1.5;
    }

    .ps-service-list-grid {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px 12px;
    }

    .ps-service-list-grid > div {
        position: relative;
        padding: 12px 13px 12px 34px;
        border: 1px solid var(--ps-line);
        border-radius: 5px;
        background: #fff;
        color: #43535d;
        font-size: 13px;
        line-height: 1.4;
    }

    .ps-service-list-grid > div::before,
    .ps-service-checklist li::before {
        content: "✓";
        position: absolute;
        color: var(--ps-accent-dark);
        font-weight: 800;
    }

    .ps-service-list-grid > div::before {
        left: 13px;
        top: 11px;
    }

    .ps-service-checklist {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px 15px;
        margin: 0;
        padding: 0;
        list-style: none;
    }

    .ps-service-checklist li {
        position: relative;
        padding: 5px 0 5px 23px;
        color: #4e5e67;
        font-size: 13px;
        line-height: 1.5;
    }

    .ps-service-checklist li::before {
        left: 0;
        top: 5px;
    }

    .ps-price-highlight {
        display: grid;
        grid-template-columns: auto 1fr;
        gap: 3px 18px;
        margin: 0 0 30px;
        padding: 18px 20px;
        border: 1px solid #dfd4c2;
        border-radius: 6px;
        background: #faf7f1;
    }

    .ps-price-highlight > span {
        grid-row: 1 / 3;
        align-self: center;
        padding: 8px 10px;
        border-radius: 4px;
        background: #eee3d2;
        color: var(--ps-navy);
        font-size: 11px;
        font-weight: 800;
        text-transform: uppercase;
        letter-spacing: .05em;
    }

    .ps-price-highlight strong {
        color: var(--ps-navy);
        font-size: 19px;
        line-height: 1.3;
    }

    .ps-price-highlight p {
        margin: 0;
        color: #64717a;
        font-size: 12px;
        line-height: 1.45;
    }

    .ps-service-faq .ps-faq-item {
        padding: 15px 0;
        border-top: 1px solid var(--ps-line);
    }

    .ps-service-faq .ps-faq-item:last-child {
        border-bottom: 1px solid var(--ps-line);
    }

    .ps-service-faq h3 {
        margin: 0 0 6px;
        color: var(--ps-navy);
        font-size: 14px;
        line-height: 1.4;
    }

    .ps-service-faq p {
        margin: 0;
        color: #5d6c75;
        font-size: 13px;
        line-height: 1.6;
    }

    .ps-service-cta {
        margin: 34px 0 0;
        padding: 22px 23px;
        border: 1px solid #dfd4c2;
        border-radius: 6px;
        background: #faf7f1;
    }

    .ps-service-cta h2 {
        margin: 0 0 7px;
        color: var(--ps-navy);
        font-family: Georgia, "Times New Roman", serif;
        font-size: 21px;
        line-height: 1.3;
    }

    .ps-service-cta p {
        margin: 0 0 14px;
        color: #596871;
        font-size: 13px;
        line-height: 1.55;
    }

    .ps-service-cta > a,
    .ps-contact-action {
        display: inline-block;
        padding: 11px 16px;
        border-radius: 4px;
        background: var(--ps-navy);
        color: #fff;
        text-decoration: none;
        font-size: 13px;
        line-height: 1.25;
        font-weight: 800;
    }

    .ps-service-cta > a:hover,
    .ps-contact-action:hover {
        background: #132d3b;
        color: #fff;
    }

    .ps-contact-grid {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 14px;
        margin: 0 0 30px;
    }

    .ps-contact-card {
        padding: 19px 20px;
        border: 1px solid var(--ps-line);
        border-radius: 6px;
        background: #fafbfb;
    }

    .ps-contact-card-primary {
        border-color: #dfd4c2;
        background: #faf7f1;
    }

    .ps-contact-card h2 {
        margin-bottom: 9px;
        font-size: 19px;
    }

    .ps-contact-card p {
        margin: 0 0 12px;
        color: #56656e;
        font-size: 13px;
        line-height: 1.55;
    }

    .ps-contact-small {
        font-size: 11px;
    }

    .ps-company-box {
        padding: 17px 18px;
        border: 1px solid var(--ps-line);
        border-radius: 6px;
        background: #fafbfb;
    }

    .ps-company-box p {
        margin: 0 0 6px;
        color: #52616a;
        font-size: 13px;
        line-height: 1.5;
    }

    .ps-company-box p:last-child {
        margin-bottom: 0;
    }

    .ps-contact-details-grid {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 14px;
    }

    .ps-contact-details-grid > div {
        min-width: 0;
        padding: 16px 17px;
        border: 1px solid var(--ps-line);
        border-radius: 5px;
        background: #fff;
    }

    .ps-contact-details-grid strong {
        display: block;
        margin: 0 0 7px;
        color: var(--ps-navy);
        font-size: 13px;
    }

    .ps-contact-details-grid p {
        margin: 0 0 7px;
        color: #5b6972;
        font-size: 12px;
        line-height: 1.5;
        overflow-wrap: anywhere;
    }
}

/* Batch 07: form desktop split, article spacing/CTA polish, sitemap */
@media screen and (min-width: 1024px) {
    /* Accessible labels that should not occupy visual space. */
    .ps-sr-only,
    body.ps-redesign .ps-pm-field > label.ps-sr-only {
        position: absolute;
        width: 1px;
        height: 1px;
        padding: 0;
        margin: -1px;
        overflow: hidden;
        clip: rect(0, 0, 0, 0);
        white-space: nowrap;
        border: 0;
    }

    /* Dedicated question page: no global header/menu; form + proof in one shell. */
    body.ps-redesign .holder-site.ps-form-page-layout {
        margin-top: 12px;
    }

    body.ps-redesign .ps-form-page-layout .ps-main-column {
        padding: 30px 32px 36px;
        overflow: visible;
    }

    body.ps-redesign .ps-form-page-layout .holder-content {
        width: auto;
        margin: 0;
        padding: 0;
    }

    .ps-question-desktop-layout {
        display: grid;
        grid-template-columns: minmax(0, 1fr) 340px;
        gap: 22px;
        align-items: start;
    }

    .ps-question-desktop-form,
    .ps-question-desktop-side {
        min-width: 0;
    }

    body.ps-redesign .ps-question-desktop-form .ps-question-page-pm {
        max-width: none;
        margin: 0;
    }

    .ps-question-desktop-form .ps-question-pm-head {
        margin-bottom: 20px;
    }

    .ps-question-desktop-form .ps-question-pm-head h1 {
        font-size: 30px;
    }

    .ps-question-desktop-form .ps-pm-form-step {
        padding: 22px 23px 24px;
    }

    .ps-question-desktop-form .ps-pm-contact-grid {
        grid-template-columns: minmax(0, .9fr) minmax(0, 1.2fr) minmax(0, 1fr);
        gap: 12px;
        align-items: start;
    }

    .ps-question-desktop-form .ps-pm-field-phone {
        grid-column: auto;
    }

    .ps-question-desktop-form .ps-pm-phone-note {
        grid-column: 1 / -1;
        margin-top: 2px;
        padding: 11px 13px;
    }

    .ps-question-desktop-side {
        display: grid;
        gap: 16px;
    }

    .ps-question-side-card {
        padding: 20px 20px 19px;
        border: 1px solid var(--ps-line);
        border-radius: 6px;
        background: #fafbfb;
    }

    .ps-question-side-card h2 {
        margin: 0 0 16px;
        padding: 0;
        color: var(--ps-navy);
        font-family: Georgia, "Times New Roman", serif;
        font-size: 21px;
        line-height: 1.25;
        font-weight: 700;
        text-align: left;
    }

    .ps-question-side-steps {
        margin: 0;
        padding: 0;
        list-style: none;
    }

    .ps-question-side-steps li {
        display: grid;
        grid-template-columns: 30px minmax(0, 1fr);
        gap: 10px;
        padding: 0 0 15px;
        margin: 0 0 15px;
        border-bottom: 1px solid #e4e8ea;
    }

    .ps-question-side-steps li:last-child {
        margin-bottom: 0;
        padding-bottom: 0;
        border-bottom: 0;
    }

    .ps-question-side-steps li > span {
        display: inline-flex;
        width: 28px;
        height: 28px;
        align-items: center;
        justify-content: center;
        border-radius: 50%;
        background: #eee5d6;
        color: var(--ps-navy);
        font-size: 12px;
        line-height: 1;
        font-weight: 800;
    }

    .ps-question-side-steps strong {
        display: block;
        margin: 1px 0 4px;
        color: var(--ps-navy);
        font-size: 13px;
        line-height: 1.35;
    }

    .ps-question-side-steps p {
        margin: 0;
        color: #617079;
        font-size: 12px;
        line-height: 1.5;
    }

    .ps-question-side-reviews {
        background: #fff;
    }

    .ps-question-side-review-list {
        display: grid;
        gap: 0;
    }

    .ps-question-side-review {
        padding: 0 0 15px;
        margin: 0 0 15px;
        border-bottom: 1px solid #eceeef;
    }

    .ps-question-side-review:last-child {
        padding-bottom: 0;
        margin-bottom: 0;
        border-bottom: 0;
    }

    .ps-question-side-review .ps-pm-stars {
        margin-bottom: 6px;
    }

    .ps-question-side-review > p {
        margin: 0 0 8px;
        color: #4d5b64;
        font-size: 12.5px;
        line-height: 1.55;
    }

    .ps-question-side-review > p.ps-question-side-review-note {
        color: #66747c;
        font-size: 11.5px;
    }

    .ps-question-side-review > strong {
        display: block;
        color: var(--ps-navy);
        font-size: 12px;
        line-height: 1.4;
    }

    .ps-question-side-more {
        margin: 14px 0 0;
        padding-top: 13px;
        border-top: 1px solid #eceeef;
        text-align: right;
    }

    .ps-question-side-more a {
        color: var(--ps-link);
        font-size: 12px;
        font-weight: 700;
    }

    /* Article headings: neutralize legacy .answer h2 padding-top:4em. */
    body.ps-redesign .holder-content .answer h2 {
        margin: 30px 0 11px;
        padding: 0;
        color: var(--ps-navy);
        font-size: 22px;
        line-height: 1.32;
        font-weight: 700;
        text-align: left;
    }

    body.ps-redesign .holder-content .answer h2:first-child {
        margin-top: 8px;
    }

    /* Legacy placeholder CTA. */
    body.ps-redesign .answer .krkbutton,
    body.ps-redesign .answer a.krkbutton:link,
    body.ps-redesign .answer a.krkbutton:visited {
        display: inline-flex;
        min-height: 42px;
        max-width: 92%;
        align-items: center;
        justify-content: center;
        box-sizing: border-box;
        margin: 8px auto 4px;
        padding: 10px 17px;
        border: 1px solid var(--ps-navy);
        border-radius: 5px;
        background: var(--ps-navy);
        color: #fff;
        box-shadow: none;
        text-shadow: none;
        font-size: 13px;
        line-height: 1.35;
        font-weight: 800;
        text-decoration: none;
    }

    body.ps-redesign .answer a.krkbutton:hover {
        border-color: var(--ps-navy-2);
        background: var(--ps-navy-2);
        color: #fff;
        text-decoration: none;
    }

    /* CTA blocks stored as rich HTML in newer articles. Inline styles require a precise override. */
    body.ps-redesign .answer div:has(> a[href*="zapytaj_prawnika"]) {
        margin: 28px 0 !important;
        padding: 20px 22px !important;
        border: 1px solid #ded4c5 !important;
        border-left: 4px solid var(--ps-accent) !important;
        border-radius: 6px !important;
        background: #fbf8f2 !important;
        box-shadow: none !important;
        text-align: left !important;
    }

    body.ps-redesign .answer div:has(> a[href*="zapytaj_prawnika"]) > p:first-child {
        margin: 0 0 11px !important;
        color: var(--ps-navy) !important;
        font-family: Georgia, "Times New Roman", serif;
        font-size: 19px !important;
        line-height: 1.35 !important;
        font-weight: 700 !important;
    }

    body.ps-redesign .answer div:has(> a[href*="zapytaj_prawnika"]) > p:last-child {
        margin: 9px 0 0 !important;
        color: #66737b !important;
        font-size: 11.5px !important;
        line-height: 1.45 !important;
    }

    body.ps-redesign .answer a[href*="zapytaj_prawnika"][style] {
        display: inline-flex !important;
        min-height: 42px !important;
        max-width: 100% !important;
        align-items: center !important;
        justify-content: center !important;
        box-sizing: border-box !important;
        padding: 10px 17px !important;
        border: 1px solid var(--ps-navy) !important;
        border-radius: 5px !important;
        background: var(--ps-navy) !important;
        color: #fff !important;
        box-shadow: none !important;
        font-size: 13px !important;
        line-height: 1.35 !important;
        font-weight: 800 !important;
        text-decoration: none !important;
    }

    body.ps-redesign .answer a[href*="zapytaj_prawnika"][style]:hover {
        border-color: var(--ps-navy-2) !important;
        background: var(--ps-navy-2) !important;
        color: #fff !important;
    }

    body.ps-redesign .answer .szary {
        margin: 22px 0;
        padding: 17px 19px;
        border: 1px solid #dce2e5;
        border-left: 4px solid #8ca0ad;
        border-radius: 5px;
        background: #f7f9fa;
    }

    .ps-article-end-cta {
        margin: 28px 0 10px;
        padding: 20px 22px;
        border: 1px solid #ded4c5;
        border-left: 4px solid var(--ps-accent);
        border-radius: 6px;
        background: #fbf8f2;
    }

    .ps-article-end-cta a,
    .ps-article-end-cta a:link,
    .ps-article-end-cta a:visited {
        background: var(--ps-navy);
    }

    /* Sitemap: all links remain present in HTML; JS only filters the visible list. */
    .ps-sitemap-head {
        margin: 0 0 20px;
        padding: 0 0 20px;
        border-bottom: 1px solid var(--ps-line);
    }

    .ps-sitemap-head h1 {
        margin: 5px 0 0;
        padding: 0;
        color: var(--ps-navy);
        font-family: Georgia, "Times New Roman", serif;
        font-size: 31px;
        line-height: 1.2;
        text-align: left;
    }

    .ps-sitemap-head p {
        max-width: 740px;
        margin: 10px 0 0;
        color: #56656e;
        font-size: 14px;
        line-height: 1.6;
    }

    .ps-sitemap-categories {
        display: flex;
        flex-wrap: wrap;
        gap: 7px;
        margin: 0 0 18px;
    }

    .ps-sitemap-categories a {
        display: inline-flex;
        padding: 7px 10px;
        border: 1px solid #d9dfe2;
        border-radius: 4px;
        background: #f8f9f9;
        color: var(--ps-navy);
        font-size: 12px;
        line-height: 1.25;
        font-weight: 700;
        text-decoration: none;
    }

    .ps-sitemap-categories a:hover {
        border-color: #c9b18b;
        background: #faf6ef;
        color: var(--ps-navy);
        text-decoration: none;
    }

    .ps-sitemap-search {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 12px;
        align-items: center;
        margin: 0 0 13px;
    }

    .ps-sitemap-search input[type="search"] {
        width: 100%;
        box-sizing: border-box;
        padding: 11px 13px;
        border: 1px solid #cbd3d8;
        border-radius: 5px;
        outline: 0;
        background: #fff;
        color: var(--ps-ink);
        font: inherit;
        font-size: 14px;
    }

    .ps-sitemap-search input[type="search"]:focus {
        border-color: var(--ps-accent-dark);
        box-shadow: 0 0 0 3px rgba(179, 139, 75, .12);
    }

    .ps-sitemap-count {
        min-width: 95px;
        color: var(--ps-muted);
        font-size: 11px;
        line-height: 1.3;
        font-weight: 700;
        text-align: right;
    }

    .ps-sitemap-list {
        display: grid;
        border-top: 1px solid var(--ps-line);
    }

    .ps-sitemap-item {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 14px;
        align-items: center;
        padding: 12px 3px;
        border-bottom: 1px solid var(--ps-line);
    }

    .ps-sitemap-item[hidden] {
        display: none;
    }

    .ps-sitemap-item a {
        display: inline-block;
        color: var(--ps-navy);
        font-size: 14px;
        line-height: 1.4;
        font-weight: 700;
        text-decoration: none;
    }

    .ps-sitemap-item a:hover {
        color: var(--ps-accent-dark);
        text-decoration: underline;
    }

    .ps-sitemap-item div > span {
        display: block;
        margin-top: 3px;
        color: #87939a;
        font-size: 10.5px;
        line-height: 1.3;
    }

    .ps-sitemap-arrow {
        color: #9c7b49;
        font-size: 20px;
        line-height: 1;
    }

    .ps-sitemap-empty {
        margin: 18px 0 0;
        padding: 16px;
        border: 1px solid #ded4c5;
        border-radius: 5px;
        background: #fbf8f2;
        color: #5d6870;
        font-size: 13px;
        text-align: center;
    }

    @media screen and (max-width: 1120px) {
        .ps-question-desktop-layout {
            grid-template-columns: minmax(0, 1fr) 310px;
            gap: 16px;
        }

        .ps-question-desktop-form .ps-pm-contact-grid {
            gap: 10px;
        }
    }
}

@media screen and (min-width: 1024px) {
    /* Specificity guards against the generic legacy/content heading rules. */
    body.ps-redesign .holder-content .ps-question-side-card h2,
    body.ps-redesign .holder-content .ps-question-desktop-form .ps-pm-step-heading h2 {
        margin: 0 0 16px;
        padding: 0;
        color: var(--ps-navy);
        text-align: left;
    }

    body.ps-redesign .holder-content .ps-question-desktop-form .ps-pm-step-heading h2 {
        margin-bottom: 0;
        font-size: 23px;
    }

    body.ps-redesign .holder-content .ps-sitemap-head h1 {
        margin: 5px 0 0;
        padding: 0;
        color: var(--ps-navy);
        font-size: 31px;
        line-height: 1.2;
        text-align: left;
    }
}

/* Batch 09: unified responsive shell. One DOM for desktop, tablet and mobile. */
body.ps-redesign,
body.ps-redesign * {
    box-sizing: border-box;
}

body.ps-redesign img,
body.ps-redesign video,
body.ps-redesign iframe,
body.ps-redesign object,
body.ps-redesign embed {
    max-width: 100%;
}

.ps-mobile-menu-toggle {
    display: none;
}

@media screen and (min-width: 1024px) {
    .ps-nav-menu {
        display: flex;
        height: 100%;
        align-items: stretch;
        min-width: 0;
    }

    body.ps-redesign.ps-form-route .ps-site-header,
    body.ps-redesign.ps-form-route .ps-main-nav {
        display: none;
    }

    body.ps-redesign.ps-form-route .holder-site.ps-form-page-layout {
        margin-top: 12px;
    }
}

@media screen and (max-width: 1023px) {
    :root {
        --ps-navy: #17344e;
        --ps-navy-2: #214965;
        --ps-navy-soft: #edf3f6;
        --ps-accent: #b58a54;
        --ps-accent-dark: #8e693d;
        --ps-paper: #ffffff;
        --ps-canvas: #f3f1ed;
        --ps-warm: #fbf7ef;
        --ps-line: #dedbd5;
        --ps-line-strong: #cbc6bd;
        --ps-text: #2b333a;
        --ps-muted: #687078;
        --ps-success: #4f725d;
        --ps-nav-h: 54px;
    }

    html {
        -webkit-text-size-adjust: 100%;
    }

    body.ps-redesign {
        min-width: 0;
        margin: 0;
        overflow-x: hidden;
        background: var(--ps-canvas);
        color: var(--ps-text);
        font-family: Lato, "Open Sans", Arial, sans-serif;
        font-size: 16px;
        line-height: 1.62;
        -webkit-font-smoothing: antialiased;
    }

    body.ps-redesign a {
        color: var(--ps-navy-2);
    }

    body.ps-redesign img {
        height: auto;
    }

    body.ps-redesign .fix {
        clear: both;
    }

    .ps-shell,
    body.ps-redesign .holder-site {
        width: calc(100% - 20px);
        max-width: none;
        margin-left: auto;
        margin-right: auto;
    }

    /* Compact top. The sticky action lives in the navigation below. */
    .ps-site-header,
    .ps-topbar {
        background: var(--ps-paper);
    }

    .ps-topbar {
        border-bottom: 1px solid #ece9e3;
    }

    .ps-header-inner {
        min-height: 70px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 10px;
        padding-top: 8px;
        padding-bottom: 8px;
    }

    .ps-brand,
    .ps-brand:link,
    .ps-brand:visited,
    .ps-brand:hover {
        display: inline-flex;
        min-width: 0;
        flex: 1 1 auto;
        flex-direction: column;
        gap: 1px;
        text-decoration: none;
    }

    .ps-brand-name {
        color: var(--ps-navy);
        font-family: Georgia, "Times New Roman", serif;
        font-size: clamp(21px, 5.8vw, 27px);
        line-height: 1.05;
        font-weight: 700;
        letter-spacing: -.35px;
        white-space: nowrap;
    }

    .ps-brand-name em {
        color: var(--ps-accent-dark);
        font: inherit;
        font-style: normal;
    }

    .ps-brand-subtitle {
        color: var(--ps-muted);
        font-size: 9px;
        line-height: 1.25;
        font-weight: 700;
        letter-spacing: .055em;
        text-transform: uppercase;
        white-space: nowrap;
    }

    .ps-header-actions {
        flex: 0 0 auto;
    }

    .ps-header-trust,
    .ps-header-cta {
        display: none !important;
    }

    /* Sticky mobile/tablet navigation. */
    .ps-main-nav {
        position: -webkit-sticky;
        position: sticky;
        top: 0;
        z-index: 5000;
        height: var(--ps-nav-h);
        border-bottom: 1px solid rgba(0, 0, 0, .18);
        background: var(--ps-navy);
        box-shadow: 0 2px 7px rgba(24, 39, 51, .09);
    }

    .ps-nav-inner {
        position: relative;
        height: var(--ps-nav-h);
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 8px;
    }

    .ps-mobile-menu-toggle,
    .ps-mobile-menu-toggle:focus,
    .ps-mobile-menu-toggle:hover {
        display: inline-flex;
        min-width: 88px;
        height: 40px;
        align-items: center;
        justify-content: flex-start;
        gap: 9px;
        padding: 0 10px;
        border: 0;
        border-radius: 4px;
        outline: 0;
        background: transparent;
        color: #fff;
        font: inherit;
        font-size: 13px;
        line-height: 1;
        font-weight: 800;
        cursor: pointer;
    }

    .ps-mobile-menu-toggle:hover,
    .ps-main-nav.ps-nav-open .ps-mobile-menu-toggle {
        background: rgba(255,255,255,.08);
    }

    .ps-mobile-menu-icon {
        display: grid;
        width: 19px;
        gap: 4px;
    }

    .ps-mobile-menu-icon i {
        display: block;
        width: 19px;
        height: 2px;
        border-radius: 2px;
        background: #fff;
        transition: transform .16s ease, opacity .16s ease;
    }

    .ps-main-nav.ps-nav-open .ps-mobile-menu-icon i:nth-child(1) {
        transform: translateY(6px) rotate(45deg);
    }

    .ps-main-nav.ps-nav-open .ps-mobile-menu-icon i:nth-child(2) {
        opacity: 0;
    }

    .ps-main-nav.ps-nav-open .ps-mobile-menu-icon i:nth-child(3) {
        transform: translateY(-6px) rotate(-45deg);
    }

    .ps-nav-menu {
        position: absolute;
        top: 100%;
        left: -10px;
        right: -10px;
        display: none;
        max-height: calc(100vh - var(--ps-nav-h) - 12px);
        overflow-y: auto;
        overscroll-behavior: contain;
        padding: 7px 10px 12px;
        border-top: 1px solid rgba(255,255,255,.10);
        border-bottom: 1px solid #c8c4bd;
        background: #fff;
        box-shadow: 0 12px 24px rgba(26, 40, 50, .16);
    }

    .ps-main-nav.ps-nav-open .ps-nav-menu {
        display: block;
    }

    .ps-nav-link,
    .ps-nav-link:link,
    .ps-nav-link:visited,
    .ps-nav-categories-toggle {
        display: flex;
        width: 100%;
        min-height: 45px;
        align-items: center;
        justify-content: space-between;
        padding: 9px 11px;
        border: 0;
        border-bottom: 1px solid #ece9e3;
        background: transparent;
        color: var(--ps-navy);
        font: inherit;
        font-size: 14px;
        line-height: 1.3;
        font-weight: 700;
        text-align: left;
        text-decoration: none;
        cursor: pointer;
    }

    .ps-nav-link:hover,
    .ps-nav-categories-toggle:hover {
        background: var(--ps-navy-soft);
        color: var(--ps-navy);
        text-decoration: none;
    }

    .ps-nav-categories {
        position: relative;
    }

    .ps-nav-chevron {
        margin-left: auto;
        color: var(--ps-accent-dark);
        transition: transform .15s ease;
    }

    .ps-nav-categories.ps-categories-open .ps-nav-chevron {
        transform: rotate(180deg);
    }

    .ps-category-dropdown {
        position: static;
        display: none;
        width: auto;
        margin: 0;
        padding: 5px 7px 8px 17px;
        border: 0;
        background: #f8f8f7;
        box-shadow: none;
        visibility: visible;
        opacity: 1;
        transform: none;
    }

    .ps-nav-categories.ps-categories-open .ps-category-dropdown {
        display: block;
    }

    .ps-category-dropdown a,
    .ps-category-dropdown a:link,
    .ps-category-dropdown a:visited {
        display: block;
        padding: 8px 9px;
        border-bottom: 1px solid #e6e5e1;
        color: #3b4851;
        font-size: 13px;
        line-height: 1.35;
        font-weight: 600;
        text-decoration: none;
    }

    .ps-category-dropdown a:last-child {
        border-bottom: 0;
    }

    .ps-nav-cta,
    .ps-nav-cta:link,
    .ps-nav-cta:visited,
    .ps-main-nav.ps-nav-is-sticky .ps-nav-cta {
        display: inline-flex;
        min-height: 38px;
        flex: 0 0 auto;
        align-items: center;
        justify-content: center;
        margin: 0;
        padding: 0 13px;
        border: 1px solid #f0d09a;
        border-radius: 4px;
        background: #f0d09a;
        color: var(--ps-navy);
        font-size: 12px;
        line-height: 1.15;
        font-weight: 800;
        text-decoration: none;
        white-space: nowrap;
        visibility: visible;
        opacity: 1;
        transform: none;
        pointer-events: auto;
    }

    /* One content shell. Sidebar is intentionally absent below 1024px. */
    body.ps-redesign .holder-site,
    body.ps-redesign .holder-site.ps-layout-single,
    body.ps-redesign .holder-site.ps-form-page-layout {
        display: block;
        margin-top: 8px;
    }

    body.ps-redesign .ps-main-column {
        width: 100%;
        min-width: 0;
        margin: 0;
        padding: 19px 17px 25px;
        border: 1px solid var(--ps-line);
        border-radius: 4px;
        background: var(--ps-paper);
        box-shadow: none;
        overflow: hidden;
        overflow-wrap: anywhere;
    }

    body.ps-redesign .ps-main-column > .holder-content,
    body.ps-redesign .holder-content,
    body.ps-redesign .sub-quest,
    body.ps-redesign .sub-quest .item,
    body.ps-redesign .answer {
        float: none !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        height: auto;
        margin-left: 0 !important;
        margin-right: 0 !important;
        box-sizing: border-box;
    }

    body.ps-redesign .ps-main-column > .holder-content {
        margin: 0;
        padding: 0;
        border: 0;
        background: transparent;
    }

    body.ps-redesign .holder-left {
        display: none !important;
    }

    /* Mobile typography and resilient content. */
    body.ps-redesign .holder-content h1,
    body.ps-redesign .holder-content h1.pytanie-title,
    body.ps-redesign .ps-main-column > h1 {
        margin: 0 0 13px;
        padding: 0;
        color: var(--ps-navy);
        font-family: Georgia, "Times New Roman", serif;
        font-size: clamp(26px, 7vw, 31px);
        line-height: 1.17;
        font-weight: 700;
        letter-spacing: -.2px;
        text-align: left;
        text-shadow: none;
    }

    body.ps-redesign .holder-content h2,
    body.ps-redesign .holder-content .answer h2 {
        margin: 27px 0 10px;
        padding: 0;
        color: var(--ps-navy);
        font-size: 21px;
        line-height: 1.3;
        font-weight: 700;
        text-align: left;
        text-shadow: none;
    }

    body.ps-redesign .holder-content .answer h2:first-child {
        margin-top: 8px;
    }

    body.ps-redesign .holder-content h3 {
        margin: 20px 0 8px;
        padding: 0;
        color: var(--ps-navy);
        font-size: 18px;
        line-height: 1.32;
        text-align: left;
        text-shadow: none;
    }

    body.ps-redesign .holder-content p,
    body.ps-redesign .holder-content li,
    body.ps-redesign .answer,
    body.ps-redesign .quest {
        color: var(--ps-text);
        font-size: 16px;
        line-height: 1.7;
    }

    body.ps-redesign .holder-content p {
        margin: 0 0 13px;
    }

    body.ps-redesign .holder-content ul,
    body.ps-redesign .holder-content ol {
        max-width: 100%;
        margin: 10px 0 18px;
        padding-left: 22px;
    }

    body.ps-redesign .holder-content a,
    body.ps-redesign .answer a {
        overflow-wrap: anywhere;
    }

    body.ps-redesign .holder-navi,
    body.ps-redesign ol.breadcrumb {
        width: 100%;
        height: auto;
        margin: 0 0 13px;
        padding: 0;
        overflow: visible;
        border: 0;
        background: transparent;
    }

    body.ps-redesign ol.breadcrumb {
        display: flex;
        flex-wrap: wrap;
        gap: 3px 5px;
        list-style: none;
    }

    body.ps-redesign ol.breadcrumb li,
    body.ps-redesign ol.breadcrumb li a {
        color: var(--ps-muted);
        font-size: 11px;
        line-height: 1.4;
    }

    body.ps-redesign .dane-publikacji,
    body.ps-redesign .sub-quest .dane-publikacji {
        margin: 0 0 17px;
        padding: 0 0 12px;
        border-bottom: 1px solid #ece9e3;
        color: var(--ps-muted);
        font-size: 11px;
        line-height: 1.45;
        text-align: left;
    }

    body.ps-redesign .dane-publikacji p,
    body.ps-redesign .dane-publikacji a {
        color: var(--ps-muted);
        font-size: inherit;
        line-height: inherit;
    }

    body.ps-redesign .quest,
    body.ps-redesign .sub-quest .quest {
        margin: 0 0 20px;
        padding: 0 0 0 13px;
        border-left: 3px solid #d7c3a5;
        font-size: 16px;
        line-height: 1.65;
    }

    body.ps-redesign .answer > p {
        padding: 0;
    }

    body.ps-redesign .answer table,
    body.ps-redesign .holder-content table {
        display: block;
        width: 100% !important;
        max-width: 100% !important;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        border-collapse: collapse;
    }

    body.ps-redesign .answer img,
    body.ps-redesign .sub-quest img,
    .ps-content-infographic,
    .ps-author-article-image {
        max-width: 100% !important;
        height: auto !important;
        float: none !important;
    }

    .ps-article-image {
        width: 100%;
        margin: 18px auto 22px;
        text-align: center;
    }

    .ps-author-article-image {
        display: block;
        margin: 0 0 10px;
    }

    body.ps-redesign .lextoc {
        display: block;
        width: 100%;
        margin: 19px 0 22px;
        overflow: hidden;
    }

    body.ps-redesign .lextoc ol,
    body.ps-redesign .lextoc ul {
        margin: 0;
        padding-left: 20px;
    }

    /* Homepage. */
    .ps-home-hero {
        margin: 0 0 25px;
        padding: 20px 18px;
        border: 1px solid #ded4c5;
        border-left: 4px solid var(--ps-accent);
        border-radius: 5px;
        background: var(--ps-warm);
    }

    .ps-section-eyebrow,
    .ps-service-eyebrow,
    .ps-question-eyebrow {
        display: block;
        margin-bottom: 6px;
        color: var(--ps-accent-dark);
        font-size: 10px;
        line-height: 1.3;
        font-weight: 800;
        letter-spacing: .09em;
        text-transform: uppercase;
    }

    .ps-home-hero .ps-home-lead {
        color: #3e4b53;
        font-size: 17px;
        line-height: 1.58;
    }

    .ps-section-heading,
    .ps-section-heading-compact {
        display: flex;
        flex-wrap: wrap;
        align-items: end;
        justify-content: space-between;
        gap: 5px 12px;
        margin: 0 0 13px;
    }

    body.ps-redesign .holder-content .ps-section-heading h2 {
        margin: 0;
    }

    .ps-article-list {
        display: grid;
        gap: 0;
        border-top: 1px solid var(--ps-line);
    }

    .ps-list-card {
        display: grid;
        grid-template-columns: 92px minmax(0, 1fr);
        gap: 13px;
        margin: 0;
        padding: 15px 0;
        border-bottom: 1px solid var(--ps-line);
    }

    .ps-list-card:not(:has(.ps-list-card-thumb)) {
        grid-template-columns: minmax(0, 1fr);
    }

    .ps-list-card-thumb {
        display: block;
        width: 92px;
        height: 72px;
        overflow: hidden;
        border-radius: 4px;
        background: #eef0f1;
    }

    .ps-list-card-thumb img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .ps-list-card-body {
        min-width: 0;
    }

    .ps-list-card-meta {
        display: flex;
        flex-wrap: wrap;
        gap: 4px 8px;
        margin-bottom: 3px;
        color: #849098;
        font-size: 9.5px;
        line-height: 1.35;
        text-transform: uppercase;
    }

    body.ps-redesign .holder-content .ps-list-card h3 {
        margin: 0 0 5px;
        font-size: 17px;
        line-height: 1.3;
    }

    .ps-list-card h3 a {
        color: var(--ps-navy);
        text-decoration: none;
    }

    .ps-list-card p {
        display: none;
    }

    .ps-home-services {
        display: block;
        margin: 27px 0 0;
        padding: 19px 18px;
        border: 1px solid #d8dde0;
        border-radius: 5px;
        background: #f7f9fa;
    }

    body.ps-redesign .holder-content .ps-home-services h2 {
        margin: 4px 0 8px;
    }

    .ps-home-services-actions {
        display: grid;
        grid-template-columns: 1fr;
        gap: 8px;
        margin-top: 15px;
    }

    .ps-home-service-primary,
    .ps-home-service-secondary {
        display: flex;
        min-height: 43px;
        align-items: center;
        justify-content: center;
        padding: 9px 13px;
        border: 1px solid var(--ps-navy);
        border-radius: 4px;
        font-size: 13px;
        font-weight: 800;
        text-align: center;
        text-decoration: none;
    }

    .ps-home-service-primary {
        background: var(--ps-navy);
        color: #fff !important;
    }

    .ps-home-service-secondary {
        background: #fff;
        color: var(--ps-navy) !important;
    }

    /* Category hubs. */
    .ps-category-hero {
        margin: 0 0 22px;
        padding-bottom: 19px;
        border-bottom: 1px solid var(--ps-line);
    }

    .ps-category-hero-meta {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        gap: 5px 10px;
        margin-bottom: 7px;
    }

    .ps-category-count {
        color: var(--ps-muted);
        font-size: 11px;
        line-height: 1.35;
        font-weight: 700;
    }

    .ps-category-copy,
    .ps-category-copy * {
        max-width: 100%;
    }

    .ps-pagination {
        display: flex;
        flex-wrap: wrap;
        gap: 5px;
        align-items: center;
        margin: 21px 0 0;
    }

    .ps-pagination-label {
        margin-right: 3px;
        color: var(--ps-muted);
        font-size: 11px;
    }

    .ps-page-link {
        display: inline-flex;
        min-width: 36px;
        min-height: 36px;
        align-items: center;
        justify-content: center;
        border: 1px solid #d6dadd;
        border-radius: 4px;
        background: #fff;
        color: var(--ps-navy);
        font-size: 12px;
        font-weight: 700;
        text-decoration: none;
    }

    .ps-page-current {
        border-color: var(--ps-navy);
        background: var(--ps-navy);
        color: #fff;
    }

    /* Article CTA and related content. */
    body.ps-redesign .answer .krkbutton,
    body.ps-redesign .answer a.krkbutton:link,
    body.ps-redesign .answer a.krkbutton:visited,
    body.ps-redesign .answer a[href*="zapytaj_prawnika"][style] {
        display: inline-flex !important;
        width: auto !important;
        min-height: 42px !important;
        max-width: 100% !important;
        align-items: center !important;
        justify-content: center !important;
        margin: 7px 0 4px !important;
        padding: 10px 14px !important;
        border: 1px solid var(--ps-navy) !important;
        border-radius: 5px !important;
        background: var(--ps-navy) !important;
        color: #fff !important;
        box-shadow: none !important;
        text-shadow: none !important;
        font-size: 12px !important;
        line-height: 1.35 !important;
        font-weight: 800 !important;
        text-align: center !important;
        text-decoration: none !important;
    }

    body.ps-redesign .answer div:has(> a[href*="zapytaj_prawnika"]) {
        margin: 23px 0 !important;
        padding: 17px 16px !important;
        border: 1px solid #ded4c5 !important;
        border-left: 4px solid var(--ps-accent) !important;
        border-radius: 5px !important;
        background: #fbf8f2 !important;
        box-shadow: none !important;
        text-align: left !important;
    }

    .ps-article-end-cta {
        margin: 24px 0 8px;
        padding: 18px 17px;
        border: 1px solid #ded4c5;
        border-left: 4px solid var(--ps-accent);
        border-radius: 5px;
        background: #fbf8f2;
    }

    body.ps-redesign .holder-content .ps-article-end-cta h2 {
        margin: 0 0 8px;
        font-size: 20px;
    }

    .ps-article-end-cta a,
    .ps-article-end-cta a:link,
    .ps-article-end-cta a:visited {
        display: inline-flex;
        min-height: 42px;
        align-items: center;
        justify-content: center;
        margin-top: 5px;
        padding: 9px 14px;
        border-radius: 4px;
        background: var(--ps-navy);
        color: #fff;
        font-size: 12px;
        font-weight: 800;
        text-decoration: none;
    }

    body.ps-redesign .polecane.ps-related,
    body.ps-redesign .polecaneinside {
        width: 100%;
        max-width: 100%;
        margin-left: 0;
        margin-right: 0;
    }

    body.ps-redesign .polecane.ps-related {
        margin-top: 23px;
    }

    body.ps-redesign .polecaneinside {
        padding: 13px;
        border: 1px solid var(--ps-line);
        border-radius: 5px;
    }

    body.ps-redesign .polecaneinside legend {
        padding: 0 7px;
        color: var(--ps-navy);
        font-weight: 800;
    }

    body.ps-redesign .holder-content h3.polecane-materialy {
        margin: 9px 0;
        font-size: 15px;
        line-height: 1.4;
    }

    /* Service/static pages. */
    .ps-service-page {
        width: 100%;
    }

    .ps-service-hero {
        margin: 0 0 23px;
        padding: 0 0 20px;
        border-bottom: 1px solid var(--ps-line);
    }

    .ps-service-hero > p {
        color: #52616a;
        font-size: 16px;
        line-height: 1.65;
    }

    .ps-service-section {
        margin: 25px 0 0;
    }

    .ps-service-cards,
    .ps-service-cards-2,
    .ps-service-cards-3,
    .ps-service-list-grid,
    .ps-contact-grid,
    .ps-contact-details-grid {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        gap: 10px;
    }

    .ps-service-cards > article,
    .ps-service-list-grid > div,
    .ps-contact-card,
    .ps-contact-details-grid > div,
    .ps-company-box,
    .ps-faq-item {
        min-width: 0;
        padding: 15px;
        border: 1px solid #dfe3e5;
        border-radius: 5px;
        background: #fafbfb;
    }

    .ps-service-checklist {
        padding-left: 20px !important;
    }

    .ps-service-steps,
    .ps-question-side-steps {
        margin: 0 !important;
        padding: 0 !important;
        list-style: none;
    }

    .ps-service-steps li,
    .ps-question-side-steps li {
        display: grid;
        grid-template-columns: 31px minmax(0, 1fr);
        gap: 10px;
        margin: 0 0 11px;
        padding: 14px;
        border: 1px solid #e0e3e5;
        border-radius: 5px;
        background: #fafbfb;
    }

    .ps-service-steps li > span,
    .ps-question-side-steps li > span {
        display: inline-flex;
        width: 29px;
        height: 29px;
        align-items: center;
        justify-content: center;
        border-radius: 50%;
        background: #eee5d6;
        color: var(--ps-navy);
        font-size: 12px;
        font-weight: 800;
    }

    .ps-service-cta {
        margin: 27px 0 0;
        padding: 18px 17px;
        border: 1px solid #ded4c5;
        border-left: 4px solid var(--ps-accent);
        border-radius: 5px;
        background: var(--ps-warm);
    }

    body.ps-redesign .holder-content .ps-service-cta h2 {
        margin: 0 0 8px;
    }

    .ps-service-cta > a,
    .ps-contact-action {
        display: inline-flex;
        min-height: 42px;
        align-items: center;
        justify-content: center;
        margin-top: 5px;
        padding: 9px 14px;
        border: 1px solid var(--ps-navy);
        border-radius: 4px;
        background: var(--ps-navy);
        color: #fff !important;
        font-size: 12px;
        font-weight: 800;
        text-decoration: none;
    }

    .ps-price-highlight {
        max-width: 100%;
    }

    /* Main question form: same DOM, stacked below 1024px. */
    body.ps-redesign .holder-site.ps-form-page-layout {
        width: calc(100% - 12px);
        margin-top: 6px;
    }

    body.ps-redesign .ps-form-page-layout .ps-main-column {
        padding: 16px 12px 22px;
        overflow: hidden;
    }

    .ps-question-desktop-layout {
        display: flex;
        flex-direction: column;
        gap: 15px;
    }

    .ps-question-desktop-form,
    .ps-question-desktop-side,
    .ps-question-page-pm,
    .ps-question-form-pm {
        width: 100%;
        min-width: 0;
        max-width: 100%;
    }

    .ps-question-page-pm {
        margin: 0;
    }

    .ps-question-pm-head {
        margin: 0 0 15px;
    }

    body.ps-redesign .holder-content .ps-question-pm-head h1 {
        font-size: 27px;
    }

    .ps-pm-form-step {
        margin: 0 0 12px;
        padding: 16px 14px 17px;
        border: 1px solid #dfe3e5;
        border-radius: 5px;
        background: #fff;
    }

    .ps-pm-step-heading {
        display: flex;
        align-items: center;
        gap: 9px;
        margin-bottom: 12px;
    }

    .ps-pm-step-number {
        display: inline-flex;
        width: 29px;
        height: 29px;
        flex: 0 0 29px;
        align-items: center;
        justify-content: center;
        border-radius: 50%;
        background: #eee5d6;
        color: var(--ps-navy);
        font-size: 12px;
        font-weight: 800;
    }

    body.ps-redesign .holder-content .ps-pm-step-heading h2 {
        margin: 0;
        font-size: 20px;
    }

    .ps-pm-field textarea,
    .ps-pm-field input[type="text"],
    .ps-pm-field input[type="email"] {
        display: block;
        width: 100% !important;
        max-width: 100%;
        margin: 0;
        padding: 11px 12px;
        border: 1px solid #cbd3d8;
        border-radius: 4px;
        outline: 0;
        background: #fff;
        color: var(--ps-text);
        font: inherit;
        font-size: 16px;
        line-height: 1.4;
    }

    .ps-pm-field textarea {
        min-height: 190px;
        resize: vertical;
    }

    .ps-pm-field textarea:focus,
    .ps-pm-field input:focus {
        border-color: var(--ps-accent-dark);
        box-shadow: 0 0 0 3px rgba(181, 138, 84, .12);
    }

    .ps-pm-contact-grid {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        gap: 9px;
    }

    .ps-pm-phone-note {
        grid-column: auto;
        margin: 2px 0 0;
        padding: 11px 12px;
        border-radius: 4px;
        background: #f5f7f8;
        color: #627079;
        font-size: 11px;
        line-height: 1.45;
    }

    .ps-pm-phone-note p {
        margin: 2px 0 0 !important;
        font-size: inherit !important;
        line-height: inherit !important;
    }

    .ps-pm-attachments h3 {
        display: flex;
        align-items: baseline;
        gap: 6px;
        margin: 14px 0 7px !important;
        font-size: 14px !important;
    }

    .ps-pm-attachments h3 span {
        color: var(--ps-muted);
        font-size: 10px;
        font-weight: 400;
    }

    .ps-main-file-row,
    .ps-side-file-row {
        display: grid;
        grid-template-columns: auto minmax(0, 1fr);
        gap: 8px;
        align-items: center;
        margin: 0 0 7px;
    }

    .ps-main-file-button,
    .ps-side-file-button {
        min-height: 38px;
        padding: 7px 11px;
        border: 1px solid #c9b18b;
        border-radius: 4px;
        background: #faf6ef;
        color: var(--ps-navy);
        font: inherit;
        font-size: 11px;
        font-weight: 800;
    }

    .ps-main-file-name,
    .ps-side-file-name {
        min-width: 0;
        overflow: hidden;
        color: #77848c;
        font-size: 10.5px;
        line-height: 1.3;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .ps-main-file-input,
    .ps-side-file-input {
        position: absolute !important;
        width: 1px !important;
        height: 1px !important;
        overflow: hidden !important;
        clip: rect(0,0,0,0) !important;
        opacity: 0 !important;
        pointer-events: none !important;
    }

    .ps-question-consents {
        margin-top: 14px;
    }

    .ps-question-consents p,
    .ps-question-consents label,
    .ps-question-consents span {
        font-size: 11px !important;
        line-height: 1.45 !important;
    }

    .ps-question-submit,
    .ps-pm-submit {
        width: 100% !important;
        min-height: 47px;
        margin: 13px 0 0;
        padding: 10px 14px;
        border: 1px solid var(--ps-navy);
        border-radius: 4px;
        background: var(--ps-navy);
        color: #fff;
        font: inherit;
        font-size: 14px;
        font-weight: 800;
        cursor: pointer;
    }

    .ps-pm-form-trust {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 4px 10px;
        margin-top: 10px;
        color: var(--ps-muted);
        font-size: 9.5px;
        line-height: 1.35;
        text-align: center;
    }

    .ps-question-desktop-side {
        display: grid;
        gap: 12px;
    }

    .ps-question-side-card {
        padding: 16px;
        border: 1px solid var(--ps-line);
        border-radius: 5px;
        background: #fafbfb;
    }

    body.ps-redesign .holder-content .ps-question-side-card h2 {
        margin: 0 0 13px;
        font-family: Georgia, "Times New Roman", serif;
        font-size: 20px;
    }

    .ps-question-side-review {
        margin: 0 0 13px;
        padding: 0 0 13px;
        border-bottom: 1px solid #e7eaeb;
    }

    .ps-question-side-review:last-child {
        margin-bottom: 0;
        padding-bottom: 0;
        border-bottom: 0;
    }

    .ps-pm-stars {
        margin-bottom: 5px;
        color: #a97834;
        font-size: 13px;
        letter-spacing: 1px;
    }

    .ps-question-side-review p,
    .ps-question-side-review strong,
    .ps-question-side-more {
        font-size: 12px !important;
        line-height: 1.5 !important;
    }

    .ps-question-side-more {
        margin: 12px 0 0 !important;
        padding-top: 10px;
        border-top: 1px solid #e7eaeb;
        text-align: right;
    }

    #rodoinfo {
        max-width: 100%;
        overflow-wrap: anywhere;
        font-size: 12px;
        line-height: 1.5;
    }

    #rodoinfo p,
    #rodoinfo li {
        font-size: 12px !important;
        line-height: 1.5 !important;
    }

    .ps-form-status {
        padding: 8px 0;
    }

    .ps-form-status-data {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        gap: 8px;
    }

    /* Sitemap. */
    .ps-sitemap-head {
        margin: 0 0 17px;
        padding: 0 0 17px;
        border-bottom: 1px solid var(--ps-line);
    }

    body.ps-redesign .holder-content .ps-sitemap-head h1 {
        margin: 4px 0 0;
    }

    .ps-sitemap-categories {
        display: flex;
        flex-wrap: wrap;
        gap: 6px;
        margin: 0 0 15px;
    }

    .ps-sitemap-categories a {
        display: inline-flex;
        padding: 6px 8px;
        border: 1px solid #d9dfe2;
        border-radius: 4px;
        background: #f8f9f9;
        color: var(--ps-navy);
        font-size: 10.5px;
        line-height: 1.25;
        font-weight: 700;
        text-decoration: none;
    }

    .ps-sitemap-search {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        gap: 5px;
        margin-bottom: 10px;
    }

    .ps-sitemap-search input[type="search"] {
        width: 100%;
        min-height: 43px;
        padding: 9px 11px;
        border: 1px solid #cbd3d8;
        border-radius: 4px;
        font: inherit;
        font-size: 16px;
    }

    .ps-sitemap-count {
        color: var(--ps-muted);
        font-size: 10px;
        text-align: left;
    }

    .ps-sitemap-list {
        display: grid;
        border-top: 1px solid var(--ps-line);
    }

    .ps-sitemap-item {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 8px;
        align-items: center;
        padding: 11px 1px;
        border-bottom: 1px solid var(--ps-line);
    }

    .ps-sitemap-item a {
        color: var(--ps-navy);
        font-size: 13px;
        line-height: 1.4;
        font-weight: 700;
        text-decoration: none;
    }

    .ps-sitemap-item div > span {
        display: block;
        margin-top: 2px;
        color: #87939a;
        font-size: 9px;
    }

    /* Unified footer. */
    .ps-footer {
        margin-top: 16px;
        border-top: 3px solid var(--ps-navy);
        background: #fff;
    }

    .ps-footer-main {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        gap: 18px;
        padding-top: 25px;
        padding-bottom: 24px;
    }

    .ps-footer-brand {
        margin: 0 0 7px;
        color: var(--ps-navy);
        font-family: Georgia, "Times New Roman", serif;
        font-size: 22px;
        line-height: 1.2;
        font-weight: 700;
    }

    .ps-footer-copy {
        margin: 0;
        color: #67737a;
        font-size: 12px;
        line-height: 1.55;
    }

    .ps-footer h2 {
        margin: 0 0 8px;
        color: var(--ps-navy);
        font-size: 12px;
        line-height: 1.3;
        font-weight: 800;
        text-transform: uppercase;
        letter-spacing: .04em;
    }

    .ps-footer-main a {
        display: block;
        margin: 0 0 5px;
        color: #53636c;
        font-size: 12px;
        line-height: 1.45;
        text-decoration: none;
    }

    .ps-footer-bottom {
        border-top: 1px solid #e3e1dc;
        background: #f5f4f1;
    }

    .ps-footer-bottom-inner {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        gap: 10px;
        padding-top: 14px;
        padding-bottom: 16px;
        color: #788188;
        font-size: 9.5px;
        line-height: 1.5;
    }

    .ps-footer-contact {
        text-align: left;
    }

    .ps-footer-bottom a {
        color: #5e6970;
    }

    /* Legacy fragments still emitted by a few static pages must not force width. */
    body.ps-redesign [style*="width:"] {
        max-width: 100%;
    }

    body.ps-redesign pre,
    body.ps-redesign code {
        max-width: 100%;
        overflow-x: auto;
        white-space: pre-wrap;
        word-break: break-word;
    }
}

@media screen and (max-width: 479px) {
    .ps-shell,
    body.ps-redesign .holder-site {
        width: calc(100% - 12px);
    }

    body.ps-redesign .ps-main-column {
        padding: 17px 13px 23px;
    }

    .ps-brand-name {
        font-size: 21px;
    }

    .ps-brand-subtitle {
        font-size: 8px;
    }

    .ps-nav-cta,
    .ps-nav-cta:link,
    .ps-nav-cta:visited,
    .ps-main-nav.ps-nav-is-sticky .ps-nav-cta {
        padding-left: 10px;
        padding-right: 10px;
        font-size: 11px;
    }

    .ps-list-card {
        grid-template-columns: 74px minmax(0, 1fr);
        gap: 10px;
    }

    .ps-list-card-thumb {
        width: 74px;
        height: 62px;
    }

    body.ps-redesign .holder-content .ps-list-card h3 {
        font-size: 15.5px;
    }
}

@media screen and (min-width: 640px) and (max-width: 1023px) {
    .ps-shell,
    body.ps-redesign .holder-site {
        width: calc(100% - 30px);
    }

    body.ps-redesign .ps-main-column {
        padding: 26px 28px 32px;
    }

    .ps-header-inner {
        min-height: 78px;
    }

    .ps-brand-name {
        font-size: 28px;
    }

    .ps-brand-subtitle {
        font-size: 10px;
    }

    .ps-list-card {
        grid-template-columns: 112px minmax(0, 1fr);
        gap: 16px;
    }

    .ps-list-card-thumb {
        width: 112px;
        height: 84px;
    }

    .ps-list-card p {
        display: block;
        margin: 0 !important;
        color: #5e6a72 !important;
        font-size: 12.5px !important;
        line-height: 1.5 !important;
    }

    .ps-home-services-actions {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ps-service-cards-2,
    .ps-contact-grid,
    .ps-contact-details-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ps-footer-main {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 24px 36px;
    }

    .ps-footer-bottom-inner {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        gap: 24px;
    }

    .ps-footer-contact {
        text-align: right;
    }

    .ps-question-desktop-layout {
        gap: 18px;
    }

    body.ps-redesign .holder-site.ps-form-page-layout {
        width: calc(100% - 30px);
    }
}

/* Responsive infographic variants emitted from article placeholders. */
.ps-content-infographic-set {
    display: block;
}
.ps-content-infographic-mobile-extra {
    display: none !important;
}
@media screen and (max-width: 639px) {
    .ps-content-infographic-mobile-extra {
        display: block !important;
        margin-top: 8px;
    }
}

/* B10: mobile chrome consolidation + consent layout hardening. */
body.ps-redesign.ps-form-route .ps-site-header,
body.ps-redesign.ps-form-route .ps-main-nav {
    display: none;
}

body.ps-redesign .ps-pm-consents .ps-consent-row {
    margin: 0 0 10px;
    padding: 11px 12px;
    border: 1px solid #e1e5e7;
    border-radius: 5px;
    background: #fafbfb;
}

body.ps-redesign .ps-pm-consents .ps-question-marketing-consent {
    border-color: #e5ddcf;
    background: #fcfaf6;
}

body.ps-redesign .ps-pm-consents .ps-consent-row label.regulamin {
    display: grid;
    grid-template-columns: 18px minmax(0, 1fr);
    gap: 9px;
    align-items: start;
    margin: 0;
    padding: 0;
    color: #4f5d66;
    font-size: 11px;
    line-height: 1.5;
    font-weight: 400;
}

body.ps-redesign .ps-pm-consents .ps-consent-row label.regulamin input[type="checkbox"] {
    position: static;
    width: 17px;
    height: 17px;
    margin: 1px 0 0;
    padding: 0;
    flex: 0 0 auto;
}

body.ps-redesign .ps-pm-consents .ps-consent-copy {
    display: block;
    min-width: 0;
    color: #4f5d66;
    font-size: inherit;
    line-height: inherit;
    font-weight: 400;
}

body.ps-redesign .ps-pm-consents .ps-consent-copy a {
    display: inline;
    color: var(--ps-navy-2);
    font-size: inherit;
    line-height: inherit;
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 2px;
}

body.ps-redesign .ps-pm-consents .ps-consent-warning {
    display: block;
    margin: 0 0 7px 27px;
    color: #a24135;
    font-size: 10px;
    line-height: 1.35;
    font-weight: 800;
}

body.ps-redesign .ps-pm-consents .ps-consent-copy .privacy-more-content {
    display: none;
    margin: 8px 0 0;
    padding: 8px 9px;
    border: 1px solid #e5ddcf;
    border-radius: 4px;
    background: #fff;
    color: #626c73;
    font-size: 10px;
    line-height: 1.45;
}

body.ps-redesign .ps-pm-consents .ps-consent-copy .privacy-more-content.show {
    display: block;
}

@media screen and (min-width: 1024px) {
    .ps-mobile-nav-brand {
        display: none;
    }
}

@media screen and (max-width: 1023px) {
    /* One mobile bar: menu | brand | CTA. */
    .ps-site-header {
        display: none;
    }

    .ps-main-nav {
        height: 56px;
    }

    .ps-nav-inner {
        height: 56px;
        gap: 6px;
    }

    .ps-mobile-menu-toggle,
    .ps-mobile-menu-toggle:focus,
    .ps-mobile-menu-toggle:hover {
        width: 42px;
        min-width: 42px;
        height: 40px;
        flex: 0 0 42px;
        justify-content: center;
        gap: 0;
        padding: 0;
    }

    .ps-mobile-menu-label {
        position: absolute;
        width: 1px;
        height: 1px;
        overflow: hidden;
        clip: rect(0 0 0 0);
        clip-path: inset(50%);
        white-space: nowrap;
    }

    .ps-mobile-nav-brand,
    .ps-mobile-nav-brand:link,
    .ps-mobile-nav-brand:visited,
    .ps-mobile-nav-brand:hover {
        display: block;
        min-width: 0;
        flex: 1 1 auto;
        overflow: hidden;
        color: #fff;
        font-family: Georgia, "Times New Roman", serif;
        font-size: clamp(14px, 4.2vw, 19px);
        line-height: 1.1;
        font-weight: 700;
        letter-spacing: -.2px;
        text-align: center;
        text-decoration: none;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .ps-mobile-nav-brand em {
        color: #f0d09a;
        font: inherit;
        font-style: normal;
    }

    .ps-nav-cta,
    .ps-nav-cta:link,
    .ps-nav-cta:visited,
    .ps-main-nav.ps-nav-is-sticky .ps-nav-cta {
        min-height: 38px;
        flex: 0 0 auto;
        padding: 0 10px;
        font-size: 11.5px;
    }

    .ps-nav-menu {
        left: -10px;
        right: -10px;
        max-height: calc(100vh - 56px - 12px);
    }

    /* Form route is intentionally chrome-free on every breakpoint. */
    body.ps-redesign.ps-form-route .ps-site-header,
    body.ps-redesign.ps-form-route .ps-main-nav {
        display: none;
    }

    body.ps-redesign.ps-form-route .holder-site.ps-form-page-layout {
        margin-top: 8px;
    }

    /* End-of-article CTA is desktop-only. In-content CTA blocks remain. */
    .ps-article-end-cta {
        display: none !important;
    }

    /* Compact two-column mobile footer. */
    .ps-footer-main {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 18px 16px;
        padding-top: 22px;
        padding-bottom: 21px;
    }

    .ps-footer-main > div {
        min-width: 0;
    }

    .ps-footer-brand {
        font-size: 19px;
    }

    .ps-footer-copy {
        font-size: 11px;
        line-height: 1.5;
    }

    .ps-footer h2 {
        font-size: 11px;
    }

    .ps-footer-main a {
        margin-bottom: 4px;
        font-size: 11px;
        line-height: 1.4;
    }
}

@media screen and (max-width: 359px) {
    .ps-shell,
    body.ps-redesign .holder-site {
        width: calc(100% - 12px);
    }

    .ps-mobile-nav-brand,
    .ps-mobile-nav-brand:link,
    .ps-mobile-nav-brand:visited,
    .ps-mobile-nav-brand:hover {
        font-size: 13.5px;
        letter-spacing: -.3px;
    }

    .ps-nav-cta,
    .ps-nav-cta:link,
    .ps-nav-cta:visited,
    .ps-main-nav.ps-nav-is-sticky .ps-nav-cta {
        padding: 0 8px;
        font-size: 10.5px;
    }

    .ps-footer-main {
        gap: 16px 12px;
    }
}

/* ==========================================================
   B11 - Nasz zespol + profile ekspertow
   ========================================================== */

.ps-team-page {
    color: var(--ps-text);
}

.ps-team-intro {
    margin: 0 0 32px;
    padding-bottom: 26px;
    border-bottom: 1px solid var(--ps-line);
}

.ps-team-intro h1 {
    margin: 0 0 14px;
    color: var(--ps-navy);
    font-size: 34px;
    line-height: 1.14;
}

.ps-team-lead {
    max-width: 760px;
    margin: 0;
    color: #475765;
    font-size: 16px;
    line-height: 1.7;
}

.ps-team-section {
    margin: 0 0 42px;
}

.ps-team-section-head {
    margin: 0 0 19px;
}

.ps-team-section-head h2 {
    margin: 0 0 8px;
    padding: 0;
    color: var(--ps-navy);
    font-size: 24px;
    line-height: 1.25;
}

.ps-team-section-head p {
    max-width: 720px;
    margin: 0;
    color: var(--ps-muted);
    font-size: 14px;
    line-height: 1.6;
}

.ps-team-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.ps-team-card {
    display: grid;
    grid-template-columns: 74px minmax(0, 1fr);
    gap: 15px;
    min-width: 0;
    padding: 18px;
    border: 1px solid var(--ps-line);
    border-radius: 5px;
    background: #fff;
}

.ps-team-photo,
.ps-team-photo:link,
.ps-team-photo:visited {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 74px;
    height: 74px;
    overflow: hidden;
    border: 1px solid #e4ddd3;
    border-radius: 50%;
    background: #f7f4ef;
    text-decoration: none;
}

.ps-team-photo img {
    width: 68px !important;
    height: 68px !important;
    max-width: none !important;
    object-fit: contain;
}

.ps-team-photo-placeholder {
    color: var(--ps-accent-dark);
    font-family: Georgia, serif;
    font-size: 30px;
}

.ps-team-card-body {
    min-width: 0;
}

.ps-team-badge {
    display: inline-block;
    margin: 0 0 6px;
    padding: 4px 8px;
    border: 1px solid #e2c998;
    border-radius: 999px;
    background: #fbf4e6;
    color: #69502a;
    font-size: 10px;
    line-height: 1.2;
    font-weight: 800;
    letter-spacing: .02em;
    text-transform: uppercase;
}

.ps-team-badge-author {
    border-color: #d6e0e7;
    background: #f2f6f8;
    color: #496273;
}

.ps-team-card h3 {
    margin: 0 0 5px;
    padding: 0;
    font-size: 18px;
    line-height: 1.3;
}

.ps-team-card h3 a,
.ps-team-card h3 a:link,
.ps-team-card h3 a:visited {
    color: var(--ps-navy);
    text-decoration: none;
}

.ps-team-card h3 a:hover {
    color: var(--ps-accent-dark);
    text-decoration: underline;
}

.ps-team-specialty {
    margin: 0 0 8px;
    color: #765d37;
    font-size: 12px;
    line-height: 1.45;
    font-weight: 700;
}

.ps-team-bio {
    margin: 0 0 10px;
    color: #52616d;
    font-size: 13px;
    line-height: 1.55;
}

.ps-team-profile-link,
.ps-team-profile-link:link,
.ps-team-profile-link:visited {
    color: var(--ps-navy);
    font-size: 12px;
    line-height: 1.4;
    font-weight: 800;
    text-decoration: none;
}

.ps-team-profile-link:hover {
    text-decoration: underline;
}

.ps-team-authors {
    padding-top: 3px;
}

.ps-team-cta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
    margin-top: 8px;
    padding: 24px 26px;
    border: 1px solid #dfd0b8;
    border-left: 4px solid var(--ps-accent);
    border-radius: 5px;
    background: var(--ps-warm);
}

.ps-team-cta h2 {
    margin: 0 0 6px;
    padding: 0;
    color: var(--ps-navy);
    font-size: 23px;
    line-height: 1.25;
}

.ps-team-cta p {
    margin: 0;
    color: #52616d;
    font-size: 14px;
    line-height: 1.55;
}

.ps-team-cta > a,
.ps-team-cta > a:link,
.ps-team-cta > a:visited,
.ps-expert-cta,
.ps-expert-cta:link,
.ps-expert-cta:visited {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    min-height: 42px;
    padding: 0 17px;
    border: 1px solid var(--ps-navy);
    border-radius: 4px;
    background: var(--ps-navy);
    color: #fff;
    font-size: 13px;
    font-weight: 800;
    text-decoration: none;
    white-space: nowrap;
}

.ps-team-cta > a:hover,
.ps-expert-cta:hover {
    background: #254966;
    color: #fff;
    text-decoration: none;
}

/* Expert / author profile pages */
.ps-expert-profile {
    margin: 0 0 34px;
}

.ps-expert-profile-main {
    display: grid;
    grid-template-columns: 160px minmax(0, 1fr);
    gap: 28px;
    align-items: start;
    padding: 26px;
    border: 1px solid var(--ps-line);
    border-top: 3px solid var(--ps-accent);
    border-radius: 5px;
    background: #fff;
}

.ps-expert-photo {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 160px;
    min-height: 160px;
    overflow: hidden;
    border-radius: 5px;
    background: #f6f3ee;
}

.ps-expert-photo img {
    display: block;
    width: auto !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: 220px;
    object-fit: contain;
}

.ps-expert-photo-placeholder {
    color: var(--ps-accent-dark);
    font-family: Georgia, serif;
    font-size: 54px;
}

.ps-expert-info h1 {
    margin: 3px 0 14px;
    color: var(--ps-navy);
    font-size: 31px;
    line-height: 1.2;
}

.ps-expert-bio {
    color: #465866;
    font-size: 15px;
    line-height: 1.7;
}

.ps-expert-bio p {
    margin: 0 0 12px;
    padding: 0;
    font-size: inherit;
    line-height: inherit;
}

.ps-expert-cta {
    margin-top: 7px;
}

.ps-expert-articles {
    margin-top: 34px;
}

.ps-expert-article-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.ps-expert-article-card {
    display: grid;
    grid-template-columns: 112px minmax(0, 1fr);
    gap: 14px;
    min-width: 0;
    padding: 15px;
    border: 1px solid var(--ps-line);
    border-radius: 5px;
    background: #fff;
}

.ps-expert-article-card.ps-expert-article-no-thumb {
    grid-template-columns: minmax(0, 1fr);
}

.ps-expert-article-thumb {
    display: block;
    width: 112px;
    height: 84px;
    overflow: hidden;
    border-radius: 4px;
    background: #f2f2f2;
}

.ps-expert-article-thumb img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
}

.ps-expert-article-category {
    display: block;
    margin-bottom: 4px;
    color: #7c6a50;
    font-size: 10px;
    line-height: 1.3;
    font-weight: 800;
    text-transform: uppercase;
}

.ps-expert-article-card h3 {
    margin: 0 0 6px;
    padding: 0;
    font-size: 16px;
    line-height: 1.35;
}

.ps-expert-article-card h3 a,
.ps-expert-article-card h3 a:link,
.ps-expert-article-card h3 a:visited {
    color: var(--ps-navy);
    text-decoration: none;
}

.ps-expert-article-card h3 a:hover {
    text-decoration: underline;
}

.ps-expert-article-card p {
    margin: 0;
    color: #5c6871;
    font-size: 12px;
    line-height: 1.5;
}

@media screen and (min-width: 1024px) and (max-width: 1210px) {
    .ps-nav-link,
    .ps-nav-link:link,
    .ps-nav-link:visited,
    .ps-nav-categories-toggle {
        padding-left: 13px;
        padding-right: 13px;
        font-size: 13px;
    }
}

@media screen and (max-width: 767px) {
    .ps-team-intro {
        margin-bottom: 25px;
        padding-bottom: 20px;
    }

    .ps-team-intro h1 {
        font-size: 28px;
    }

    .ps-team-lead {
        font-size: 14px;
        line-height: 1.62;
    }

    .ps-team-section {
        margin-bottom: 31px;
    }

    .ps-team-section-head h2 {
        font-size: 21px;
    }

    .ps-team-grid,
    .ps-expert-article-list {
        grid-template-columns: minmax(0, 1fr);
    }

    .ps-team-card {
        grid-template-columns: 62px minmax(0, 1fr);
        gap: 12px;
        padding: 14px;
    }

    .ps-team-photo,
    .ps-team-photo:link,
    .ps-team-photo:visited {
        width: 62px;
        height: 62px;
    }

    .ps-team-photo img {
        width: 57px !important;
        height: 57px !important;
    }

    .ps-team-card h3 {
        font-size: 17px;
    }

    .ps-team-bio {
        font-size: 12px;
    }

    .ps-team-cta {
        display: block;
        padding: 20px;
    }

    .ps-team-cta > a {
        width: 100%;
        margin-top: 16px;
        box-sizing: border-box;
    }

    .ps-expert-profile-main {
        grid-template-columns: 86px minmax(0, 1fr);
        gap: 15px;
        padding: 17px;
    }

    .ps-expert-photo {
        width: 86px;
        min-height: 86px;
    }

    .ps-expert-info h1 {
        margin-top: 2px;
        font-size: 25px;
    }

    .ps-expert-bio {
        grid-column: 1 / -1;
        font-size: 14px;
    }

    .ps-expert-article-card {
        grid-template-columns: 92px minmax(0, 1fr);
    }

    .ps-expert-article-thumb {
        width: 92px;
        height: 70px;
    }
}

@media screen and (max-width: 420px) {
    .ps-expert-profile-main {
        grid-template-columns: minmax(0, 1fr);
    }

    .ps-expert-photo {
        width: 92px;
        min-height: 92px;
    }

    .ps-expert-bio {
        grid-column: auto;
    }
}
