/*
 * Gotowe na nowe 2.17.0 — subpages matched to the "Nowa" PDF designs
 * (Warsztaty, Oferta dla firm, Lifting spojrzenia, Bankietowy Lifting SOS,
 * Manualny BOTOKS, Totalna Odnowa).
 *
 * Loaded last on those pages only. Layout follows the PDFs (1440px frames);
 * type sizes follow the homepage scale on purpose:
 *   section/hero headings 38px/600, FAQ 42px, newsletter 50px,
 *   card titles 20px/600, body 16px, card text 14.5px, buttons 14px/600.
 */

:root {
    --gnn-v3-green: var(--gnn-a11y-sage, #498074);
    --gnn-v3-green-dark: var(--gnn-a11y-sage-hover, #3d7065);
    --gnn-v3-ink: #2d2525;
    --gnn-v3-text: #3a3331;
    --gnn-v3-cream: #fff4eb;
    --gnn-v3-mint: #dfeae5;
    --gnn-v3-line: rgba(86, 151, 136, 0.45);
    --gnn-v3-shadow: 0 14px 30px rgba(45, 37, 37, 0.08);
    --gnn-v3-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='12' viewBox='0 0 16 12'%3E%3Cpath d='M1 6h13M9.5 1.5 14 6l-4.5 4.5' fill='none' stroke='%23569788' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    --gnn-v3-check: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14'%3E%3Cpath d='M3 7.3 5.8 10 11 4.3' fill='none' stroke='%23569788' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    --gnn-v3-check-white: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14'%3E%3Cpath d='M3 7.3 5.8 10 11 4.3' fill='none' stroke='white' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

/* ------------------------------------------------------------------ */
/* Shared: buttons use the homepage weight; light variant as in the PDF */
/* ------------------------------------------------------------------ */

.gnn-pdf-page .gnn-button {
    font-weight: 600;
}

.gnn-pdf-page .gnn-button--light {
    border-color: rgba(86, 151, 136, 0.35);
    background: #ffffff;
    color: var(--gnn-v3-ink);
    box-shadow: 0 10px 24px rgba(45, 37, 37, 0.10);
}

.gnn-pdf-page .gnn-button--light:hover,
.gnn-pdf-page .gnn-button--light:focus-visible {
    background: var(--gnn-v3-cream);
    color: var(--gnn-v3-ink);
}

/* ================================================================== */
/* WARSZTATY (Nowa-4.pdf)                                             */
/* ================================================================== */

/* Markers and copy structure introduced in 2.17.0 templates (all widths). */
.gnn-pdf-workshops .gnn-pdf-arrow-mark {
    display: inline-block;
    flex: 0 0 52px;
    width: 52px;
    height: 30px;
    border: 1px solid var(--gnn-v3-green);
    border-radius: 999px;
    background: #ffffff var(--gnn-v3-arrow) center / 16px 12px no-repeat;
}

.gnn-pdf-workshops .gnn-pdf-check-mark {
    display: inline-block;
    flex: 0 0 40px;
    width: 40px;
    height: 40px;
    border: 0;
    border-radius: 50%;
    background: #e3eee9 var(--gnn-v3-check) center / 16px no-repeat;
}

.gnn-pdf-workshops .gnn-pdf-check-rows strong {
    display: block;
    margin-bottom: 2px;
    color: var(--gnn-v3-ink);
    font-weight: 600;
}

.gnn-pdf-workshops .gnn-pdf-ws-audience__caption {
    margin: 14px 0 0;
    color: #ffffff;
    font-size: 13px;
    line-height: 1.5;
}

.gnn-pdf-workshops .gnn-pdf-ws-revolution .gnnh-shell {
    display: block;
    border: 0;
    border-radius: 0;
    background: none;
    box-shadow: none;
}

.gnn-pdf-workshops .gnn-pdf-ws-revolution__box {
    border: 1px solid var(--gnn-v3-green);
    border-radius: 16px;
    background: var(--gnn-v3-mint);
}

.gnn-pdf-workshops .gnn-pdf-ws-revolution__box > div p strong,
.gnn-pdf-workshops .gnn-pdf-ws-content strong {
    color: var(--gnn-v3-ink);
    font-weight: 600;
}

@media (min-width: 1025px) {
    /* Hero: portrait video left (472×580 at 1440), details right, green band behind the lower part. */
    /* Cream above; a soft fade into green behind the lower part of the video (as in the PDF). */
    .gnn-pdf-workshops .gnn-pdf-ws-hero {
        background: linear-gradient(180deg, var(--gnn-v3-cream) 0, var(--gnn-v3-cream) calc(100% - 180px), #cfe1d8 calc(100% - 95px), #6ba594 100%);
    }

    .gnn-pdf-workshops .gnn-pdf-ws-hero__layout {
        align-items: flex-start;
        gap: 60px;
        padding: 34px 0 64px;
    }

    .gnn-pdf-workshops .gnn-pdf-ws-hero__media {
        flex: 0 0 35.2%;
        max-width: 472px;
    }

    .gnn-pdf-workshops .gnn-pdf-ws-hero__media .gnnh-video {
        aspect-ratio: 472 / 580;
        height: auto;
        border-radius: 16px;
    }

    .gnn-pdf-workshops .gnn-pdf-ws-hero__media video {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .gnn-pdf-workshops .gnn-pdf-ws-hero__content {
        flex: 1 1 0;
        min-width: 0;
        padding-top: 6px;
    }

    .gnn-pdf-workshops .gnn-pdf-ws-hero h1 {
        margin: 0 0 34px;
        color: var(--gnn-v3-ink);
        font-size: 34px; /* 38px would break the design's two-line title into three */
        font-weight: 600;
        line-height: 1.2;
        letter-spacing: -0.02em;
    }

    .gnn-pdf-workshops .gnn-pdf-ws-meta {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 16px;
    }

    .gnn-pdf-workshops .gnn-pdf-ws-meta span {
        display: inline-flex;
        width: auto;
        max-width: 100%;
        min-height: 46px;
        padding: 11px 20px;
        align-items: center;
        gap: 6px;
        border: 1px solid rgba(86, 151, 136, 0.30);
        border-radius: 999px;
        background: #ffffff;
        color: var(--gnn-v3-ink);
        font-size: 16px;
        font-weight: 600;
        line-height: 1.35;
        box-shadow: 0 6px 16px rgba(45, 37, 37, 0.05);
    }

    .gnn-pdf-workshops .gnn-pdf-ws-meta b {
        color: var(--gnn-a11y-sage-text, #467a6e);
        font-weight: 600;
    }

    .gnn-pdf-workshops .gnn-pdf-ws-hero__content > p {
        margin: 46px 0 0;
        color: var(--gnn-v3-ink);
        font-size: 20px;
        font-weight: 600;
        line-height: 1.35;
    }

    /* Problems: white copy on the leafy green background, portrait photo right. */
    .gnn-pdf-workshops .gnn-pdf-ws-problems {
        padding: 60px 0;
    }

    .gnn-pdf-workshops .gnn-pdf-ws-problems .gnnh-pdf-two-col {
        align-items: center;
        gap: 44px;
    }

    .gnn-pdf-workshops .gnn-pdf-ws-problems .gnnh-pdf-two-col > div {
        flex: 1 1 0;
        min-width: 0;
    }

    .gnn-pdf-workshops .gnn-pdf-ws-problems .gnnh-pdf-two-col > img {
        flex: 0 0 580px;
        width: 580px;
        max-width: 45%;
        height: auto;
        aspect-ratio: 607 / 700;
        object-fit: cover;
        border-radius: 16px;
    }

    .gnn-pdf-workshops .gnn-pdf-ws-problems h2,
    .gnn-pdf-workshops .gnn-pdf-ws-audience h2 {
        color: #ffffff;
    }

    .gnn-pdf-workshops .gnn-pdf-ws-problems h2,
    .gnn-pdf-workshops .gnn-pdf-ws-revolution h2,
    .gnn-pdf-workshops .gnn-pdf-ws-content h2,
    .gnn-pdf-workshops .gnn-pdf-ws-audience h2 {
        margin: 0 0 22px;
        font-size: 38px;
        font-weight: 600;
        line-height: 1.2;
        letter-spacing: -0.02em;
    }

    .gnn-pdf-workshops .gnn-pdf-ws-problems p,
    .gnn-pdf-workshops .gnn-pdf-ws-problems__tail p {
        color: #ffffff;
        font-size: 16px;
        line-height: 1.6;
    }

    .gnn-pdf-workshops .gnn-pdf-ws-problems .gnnh-pdf-feature-rows {
        gap: 14px;
        margin: 28px 0 32px;
    }

    .gnn-pdf-workshops .gnn-pdf-ws-problems .gnnh-pdf-feature-rows article {
        min-height: 76px;
        padding: 14px 22px 14px 14px;
        align-items: center;
        gap: 16px;
        border: 1px solid rgba(86, 151, 136, 0.35);
        border-radius: 14px;
        background: #ffffff;
        box-shadow: var(--gnn-v3-shadow);
    }

    .gnn-pdf-workshops .gnn-pdf-ws-problems .gnnh-pdf-feature-rows span {
        flex: 0 0 40px;
        width: 40px;
        height: 40px;
        font-size: 22px;
    }

    .gnn-pdf-workshops .gnn-pdf-ws-problems .gnnh-pdf-feature-rows p {
        margin: 0;
        color: var(--gnn-v3-text);
        font-size: 16px;
        line-height: 1.5;
    }

    .gnn-pdf-workshops .gnn-pdf-ws-problems .gnnh-pdf-feature-rows strong {
        color: var(--gnn-v3-ink);
        font-weight: 600;
    }

    .gnn-pdf-workshops .gnn-pdf-ws-problems__tail p {
        margin: 0 0 18px;
        font-weight: 400;
    }

    .gnn-pdf-workshops .gnn-pdf-ws-problems__tail p:last-child {
        margin-bottom: 0;
    }

    /* Revolution: mint box inset in the shell, list with filled check icons and dividers. */
    .gnn-pdf-workshops .gnn-pdf-ws-revolution {
        padding: 60px 0;
        background: var(--gnn-v3-cream);
    }

    .gnn-pdf-workshops .gnn-pdf-ws-revolution .gnnh-shell {
        display: block;
        border: 0;
        background: none;
        box-shadow: none;
    }

    .gnn-pdf-workshops .gnn-pdf-ws-revolution__box {
        display: flex;
        align-items: center;
        gap: 56px;
        padding: 50px 36px 50px 36px;
        border: 1px solid var(--gnn-v3-green);
        border-radius: 16px;
        background: var(--gnn-v3-mint);
        box-shadow: var(--gnn-v3-shadow);
    }

    .gnn-pdf-workshops .gnn-pdf-ws-revolution__box > div {
        flex: 0 1 600px;
    }

    .gnn-pdf-workshops .gnn-pdf-ws-revolution__box > div p {
        margin: 0 0 20px;
        color: var(--gnn-v3-text);
        font-size: 16px;
        line-height: 1.6;
    }

    .gnn-pdf-workshops .gnn-pdf-ws-revolution__box > div p strong {
        color: var(--gnn-v3-ink);
        font-weight: 600;
    }

    .gnn-pdf-workshops .gnn-pdf-ws-revolution__box .gnn-button {
        margin-top: 12px;
    }

    .gnn-pdf-workshops .gnn-pdf-ws-revolution__box ul {
        flex: 1 1 0;
        margin: 0;
        padding: 0;
        list-style: none;
    }

    .gnn-pdf-workshops .gnn-pdf-ws-revolution__box li {
        position: relative;
        margin: 0;
        padding: 18px 0 18px 52px;
        color: var(--gnn-v3-text);
        font-size: 16px;
        line-height: 1.6;
    }

    .gnn-pdf-workshops .gnn-pdf-ws-revolution__box li + li {
        border-top: 1px solid rgba(86, 151, 136, 0.28);
    }

    .gnn-pdf-workshops .gnn-pdf-ws-revolution__box li::before {
        content: "";
        position: absolute;
        top: 19px;
        left: 0;
        width: 26px;
        height: 26px;
        border: 0;
        border-radius: 50%;
        background: var(--gnn-v3-green) var(--gnn-v3-check-white) center / 14px no-repeat;
        transform: none;
    }

    /* Contents: cut-out portrait on the leafy cream-to-green background, arrow rows without cards. */
    .gnn-pdf-workshops .gnn-pdf-ws-content {
        padding: 60px 0 0;
        background: var(--gnn-v3-cream) url("../pdf-v272/images/warsztaty-contents-bg.webp") center bottom / cover no-repeat;
    }

    .gnn-pdf-workshops .gnn-pdf-ws-content .gnnh-pdf-two-col {
        align-items: flex-end;
        gap: 76px;
    }

    .gnn-pdf-workshops .gnn-pdf-ws-content .gnnh-pdf-two-col > img {
        flex: 0 0 620px;
        width: 620px;
        max-width: 46%;
        height: auto;
        aspect-ratio: 620 / 679;
        object-fit: contain;
        object-position: center bottom;
        border-radius: 0;
        box-shadow: none;
    }

    .gnn-pdf-workshops .gnn-pdf-ws-content .gnnh-pdf-two-col > div {
        flex: 1 1 0;
        align-self: center;
        padding-bottom: 60px;
    }

    .gnn-pdf-workshops .gnn-pdf-ws-content .gnnh-pdf-two-col > div > p {
        margin: 0 0 30px;
        color: var(--gnn-v3-text);
        font-size: 16px;
        line-height: 1.6;
    }

    .gnn-pdf-workshops .gnn-pdf-ws-content .gnnh-pdf-two-col > div > p strong {
        color: var(--gnn-v3-ink);
        font-weight: 600;
    }

    .gnn-pdf-workshops .gnn-pdf-number-rows {
        gap: 22px;
        margin: 0 0 40px;
    }

    .gnn-pdf-workshops .gnn-pdf-number-rows article {
        min-height: 0;
        padding: 0;
        align-items: flex-start;
        gap: 20px;
        border: 0;
        border-radius: 0;
        background: none;
        box-shadow: none;
    }

    .gnn-pdf-workshops .gnn-pdf-arrow-mark {
        flex: 0 0 52px;
        width: 52px;
        height: 30px;
        margin-top: 1px;
        border: 1px solid var(--gnn-v3-green);
        border-radius: 999px;
        background: #ffffff var(--gnn-v3-arrow) center / 16px 12px no-repeat;
    }

    .gnn-pdf-workshops .gnn-pdf-number-rows p {
        margin: 0;
        color: var(--gnn-v3-text);
        font-size: 16px;
        line-height: 1.6;
    }

    .gnn-pdf-workshops .gnn-pdf-number-rows strong {
        color: var(--gnn-v3-ink);
        font-weight: 600;
    }

    /* Audience: white cards with a title line, birch photo right, light CTA with caption. */
    .gnn-pdf-workshops .gnn-pdf-ws-audience {
        padding: 80px 0 70px;
        background: var(--gnn-v3-green) url("../pdf-v272/images/warsztaty-bg2.webp") center / cover no-repeat;
    }

    .gnn-pdf-workshops .gnn-pdf-ws-audience .gnnh-pdf-two-col {
        align-items: center;
        gap: 110px;
    }

    .gnn-pdf-workshops .gnn-pdf-ws-audience .gnnh-pdf-two-col > div {
        flex: 0 1 650px;
    }

    .gnn-pdf-workshops .gnn-pdf-ws-audience .gnnh-pdf-two-col > img {
        flex: 0 0 580px;
        width: 580px;
        max-width: 44%;
        height: auto;
        aspect-ratio: 580 / 720;
        object-fit: cover;
        object-position: center 30%;
        border-radius: 16px;
    }

    .gnn-pdf-workshops .gnn-pdf-check-rows {
        gap: 14px;
        margin: 34px 0 40px;
    }

    .gnn-pdf-workshops .gnn-pdf-check-rows article {
        min-height: 0;
        padding: 16px 22px 16px 16px;
        align-items: center;
        gap: 16px;
        border: 1px solid rgba(86, 151, 136, 0.35);
        border-radius: 14px;
        background: #ffffff;
        box-shadow: var(--gnn-v3-shadow);
    }

    .gnn-pdf-workshops .gnn-pdf-check-mark {
        flex: 0 0 40px;
        width: 40px;
        height: 40px;
        border: 0;
        border-radius: 50%;
        background: #e3eee9 var(--gnn-v3-check) center / 16px no-repeat;
    }

    .gnn-pdf-workshops .gnn-pdf-check-rows p {
        margin: 0;
        color: var(--gnn-v3-text);
        font-size: 14.5px;
        line-height: 1.5;
    }

    .gnn-pdf-workshops .gnn-pdf-check-rows strong {
        display: block;
        margin-bottom: 2px;
        color: var(--gnn-v3-ink);
        font-size: 20px;
        font-weight: 600;
        line-height: 1.3;
        letter-spacing: -0.02em;
    }

    .gnn-pdf-workshops .gnn-pdf-ws-audience__caption {
        margin: 14px 0 0;
        color: #ffffff;
        font-size: 13px;
        line-height: 1.5;
    }
}

/* ================================================================== */
/* OFERTA DLA FIRM (Nowa-5.pdf)                                       */
/* ================================================================== */

/* All widths: design icons, check marks, centred CTA, contact copy. */
.gnn-pdf-company .gnn-pdf-problem-icon,
.gnn-pdf-company .gnn-pdf-pillar-icon {
    display: inline-flex;
    flex: 0 0 56px;
    width: 56px;
    height: 56px;
    padding: 0;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 50%;
    background: none;
}

.gnn-pdf-company .gnn-pdf-problem-icon img,
.gnn-pdf-company .gnn-pdf-pillar-icon img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.gnn-pdf-company .gnn-pdf-check-mark {
    display: inline-block;
    flex: 0 0 40px;
    width: 40px;
    height: 40px;
    border: 0;
    border-radius: 50%;
    background: #e3eee9 var(--gnn-v3-check) center / 16px no-repeat;
}

.gnn-pdf-company .gnn-pdf-company-problems__cta {
    display: flex;
    justify-content: center;
    margin-top: 44px;
}

.gnn-pdf-company .gnn-pdf-company-contact__note {
    font-style: italic;
}

.gnn-pdf-company .gnn-pdf-feature-rows--vector {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.gnn-pdf-company .gnn-pdf-feature-rows--vector article {
    display: flex;
    padding: 14px 16px 14px 12px;
    align-items: center;
    gap: 14px;
    border: 1px solid var(--gnn-v3-line);
    border-radius: 14px;
    background: #ffffff;
    box-shadow: var(--gnn-v3-shadow);
}

.gnn-pdf-company .gnn-pdf-feature-rows--vector p {
    margin: 0;
    font-size: 14.5px;
    line-height: 1.5;
}

.gnn-pdf-company .gnn-pdf-feature-rows--vector strong {
    font-size: 16px;
    font-weight: 600;
}

@media (min-width: 1025px) {
    /* Hero: white copy on green, near-square video right (600x646 at 1440). */
    .gnn-pdf-company .gnn-pdf-company-hero {
        padding: 0 0 20px;
    }

    .gnn-pdf-company .gnn-pdf-company-hero .gnnh-pdf-two-col {
        align-items: center;
        gap: 100px;
        padding: 20px 0 0;
    }

    .gnn-pdf-company .gnn-pdf-company-hero .gnnh-pdf-two-col > div:first-child {
        flex: 0 1 640px;
    }

    .gnn-pdf-company .gnn-pdf-company-hero .gnnh-pdf-two-col > div:last-child {
        flex: 0 0 600px;
        max-width: 45%;
    }

    .gnn-pdf-company .gnn-pdf-company-hero .gnnh-video {
        aspect-ratio: 600 / 646;
        height: auto;
        border-radius: 16px;
    }

    .gnn-pdf-company .gnn-pdf-company-hero video {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .gnn-pdf-company .gnn-pdf-company-hero h1 {
        margin: 0 0 14px;
        color: #ffffff;
        font-size: 38px;
        font-weight: 600;
        line-height: 1.2;
        letter-spacing: -0.02em;
    }

    .gnn-pdf-company .gnn-pdf-company-hero h2 {
        margin: 0 0 26px;
        color: #ffffff;
        font-size: 24px;
        font-weight: 500;
        line-height: 1.25;
        letter-spacing: -0.01em;
    }

    .gnn-pdf-company .gnn-pdf-company-lead {
        max-width: 560px;
        margin: 0 0 26px;
        color: #ffffff;
        font-size: 20px;
        font-weight: 500;
        line-height: 1.35;
    }

    .gnn-pdf-company .gnn-pdf-company-note {
        margin: 0 0 30px;
        padding: 22px 24px;
        border: 1px solid rgba(255, 255, 255, 0.6);
        border-radius: 14px;
        background: rgba(233, 243, 239, 0.94);
        color: var(--gnn-v3-text);
        font-size: 16px;
        line-height: 1.6;
    }

    .gnn-pdf-company .gnn-pdf-company-note strong {
        color: var(--gnn-v3-ink);
        font-weight: 600;
    }

    .gnn-pdf-company .gnn-pdf-company-hero .gnnh-pdf-two-col > div:first-child > p:last-child {
        margin: 0;
        color: #ffffff;
        font-size: 16px;
        line-height: 1.6;
    }

    /* Problems: cut-out portrait left, bordered cards with design icons right. */
    .gnn-pdf-company .gnn-pdf-company-problems {
        padding: 90px 0 80px;
        background: var(--gnn-v3-cream) url("../pdf-v272/images/warsztaty-contents-bg.webp") center / cover no-repeat;
    }

    .gnn-pdf-company .gnn-pdf-company-problems .gnnh-pdf-two-col {
        align-items: flex-start;
        gap: 10px;
    }

    .gnn-pdf-company .gnn-pdf-company-problems .gnnh-pdf-two-col > img {
        flex: 0 0 600px;
        width: 600px;
        max-width: 45%;
        height: auto;
        margin-top: 60px;
        aspect-ratio: 664 / 830;
        object-fit: contain;
        object-position: center bottom;
        border-radius: 0;
        box-shadow: none;
    }

    .gnn-pdf-company .gnn-pdf-company-problems .gnnh-pdf-two-col > div {
        flex: 1 1 0;
        min-width: 0;
        padding-left: 6px;
    }

    .gnn-pdf-company .gnn-pdf-company-problems h2 {
        margin: 0 0 16px;
        font-size: 38px;
        line-height: 1.2;
        letter-spacing: -0.02em;
    }

    .gnn-pdf-company .gnn-pdf-company-problems .gnnh-pdf-two-col > div > p {
        margin: 0 0 24px;
        color: var(--gnn-v3-ink);
        font-size: 16px;
        font-weight: 600;
    }

    .gnn-pdf-company .gnn-pdf-feature-rows--vector {
        display: flex;
        flex-direction: column;
        gap: 14px;
    }

    .gnn-pdf-company .gnn-pdf-feature-rows--vector article {
        display: flex;
        min-height: 92px;
        padding: 16px 22px 16px 16px;
        align-items: center;
        gap: 22px;
        border: 1px solid var(--gnn-v3-line);
        border-radius: 14px;
        background: #ffffff;
        box-shadow: var(--gnn-v3-shadow);
    }

    .gnn-pdf-company .gnn-pdf-feature-rows--vector p {
        margin: 0;
        color: var(--gnn-v3-text);
        font-size: 14.5px;
        line-height: 1.5;
    }

    .gnn-pdf-company .gnn-pdf-feature-rows--vector strong {
        display: inline-block;
        margin-bottom: 2px;
        color: var(--gnn-v3-ink);
        font-size: 18px;
        font-weight: 600;
        letter-spacing: -0.01em;
    }

    .gnn-pdf-company .gnn-pdf-company-problems h3 {
        margin: 34px 0 20px;
        color: var(--gnn-v3-ink);
        font-size: 20px;
        font-weight: 600;
        letter-spacing: -0.02em;
    }

    .gnn-pdf-company .gnn-pdf-company-problems .gnn-pdf-check-rows {
        gap: 14px;
    }

    .gnn-pdf-company .gnn-pdf-company-problems .gnn-pdf-check-rows article {
        min-height: 76px;
        padding: 14px 22px 14px 16px;
        align-items: center;
        gap: 18px;
        border: 1px solid var(--gnn-v3-line);
        border-radius: 14px;
        background: #ffffff;
        box-shadow: var(--gnn-v3-shadow);
    }

    .gnn-pdf-company .gnn-pdf-company-problems .gnn-pdf-check-rows p {
        margin: 0;
        color: var(--gnn-v3-text);
        font-size: 16px;
        line-height: 1.5;
    }

    .gnn-pdf-company .gnn-pdf-company-problems .gnn-pdf-check-rows strong {
        color: var(--gnn-v3-ink);
        font-weight: 600;
    }

    /* Pillars: solid mint band, centred two-line heading, four cards with design icons. */
    .gnn-pdf-company .gnn-pdf-company-pillars {
        padding: 80px 0 90px;
        border-top: 1px solid rgba(86, 151, 136, 0.25);
        background: var(--gnn-v3-mint);
    }

    .gnn-pdf-company .gnn-pdf-company-pillars h2 {
        margin: 0 0 22px;
        font-size: 38px;
        line-height: 1.2;
        text-align: center;
        letter-spacing: -0.02em;
    }

    .gnn-pdf-company .gnn-pdf-company-pillars .gnnh-shell > p {
        max-width: 860px;
        margin: 0 auto 50px;
        color: var(--gnn-v3-ink);
        font-size: 16px;
        font-weight: 500;
        line-height: 1.6;
        text-align: center;
    }

    .gnn-pdf-company .gnn-pdf-pillar-cards {
        gap: 15px;
    }

    .gnn-pdf-company .gnn-pdf-pillar-cards article {
        display: flex;
        flex: 1 1 0;
        padding: 26px 24px 30px;
        flex-direction: column;
        align-items: center;
        border: 1px solid var(--gnn-v3-line);
        border-radius: 14px;
        background: #ffffff;
        box-shadow: var(--gnn-v3-shadow);
        text-align: center;
    }

    .gnn-pdf-company .gnn-pdf-pillar-icon {
        margin: 0 0 16px;
    }

    .gnn-pdf-company .gnn-pdf-pillar-cards h3 {
        margin: 0 0 10px;
        color: var(--gnn-v3-ink);
        font-size: 20px;
        font-weight: 600;
        line-height: 1.25;
        letter-spacing: -0.02em;
    }

    .gnn-pdf-company .gnn-pdf-pillar-cards p {
        margin: 0;
        color: var(--gnn-v3-text);
        font-size: 14.5px;
        line-height: 1.5;
    }

    /* Formats: cream-to-green gradient, dotted legend, stacked card copy. */
    .gnn-pdf-company .gnn-pdf-company-formats {
        padding: 80px 0 130px;
        background: linear-gradient(180deg, #fff4eb 0%, #fff4eb 18%, #b9d5cc 62%, #5f9d8e 100%);
    }

    .gnn-pdf-company .gnn-pdf-company-formats h2 {
        margin: 0 0 18px;
        font-size: 38px;
        line-height: 1.2;
        text-align: center;
        letter-spacing: -0.02em;
    }

    .gnn-pdf-company .gnn-pdf-format-legend {
        justify-content: center;
        gap: 34px;
        margin: 0 0 34px;
    }

    .gnn-pdf-company .gnn-pdf-format-legend span {
        position: relative;
        padding-left: 16px;
        color: var(--gnn-v3-ink);
        font-size: 14.5px;
        font-weight: 500;
    }

    .gnn-pdf-company .gnn-pdf-format-legend span::before {
        content: "";
        position: absolute;
        top: 50%;
        left: 0;
        width: 8px;
        height: 8px;
        border-radius: 50%;
        background: var(--gnn-v3-green);
        transform: translateY(-50%);
    }

    .gnn-pdf-company .gnn-pdf-format-list {
        width: 960px;
        max-width: 100%;
        margin: 0 auto;
        gap: 16px;
    }

    .gnn-pdf-company .gnn-pdf-format-list article {
        padding: 22px 30px 24px 26px;
        align-items: flex-start;
        gap: 20px;
        border: 1px solid var(--gnn-v3-green);
        border-radius: 14px;
        background: #ffffff;
        box-shadow: var(--gnn-v3-shadow);
    }

    .gnn-pdf-company .gnn-pdf-format-list article > b {
        display: inline-flex;
        flex: 0 0 44px;
        height: 28px;
        margin-top: 2px;
        align-items: center;
        justify-content: center;
        border: 1px solid var(--gnn-v3-green);
        border-radius: 999px;
        color: var(--gnn-a11y-sage-text, #467a6e);
        font-size: 14px;
        font-weight: 500;
    }

    .gnn-pdf-company .gnn-pdf-format-list article > div {
        display: block;
    }

    .gnn-pdf-company .gnn-pdf-format-list strong {
        display: block;
        margin: 0 0 6px;
        color: var(--gnn-v3-ink);
        font-size: 20px;
        font-weight: 600;
        line-height: 1.3;
        letter-spacing: -0.02em;
    }

    .gnn-pdf-company .gnn-pdf-format-list article > div > span {
        display: block;
        margin: 0 0 10px;
        color: var(--gnn-v3-text);
        font-size: 14.5px;
        font-weight: 400;
        text-align: left;
    }

    .gnn-pdf-company .gnn-pdf-format-list p {
        margin: 0;
        color: var(--gnn-v3-text);
        font-size: 14.5px;
        line-height: 1.5;
    }

    /* Contact: white copy with a divider above the cost, form card right. */
    .gnn-pdf-company .gnn-pdf-company-contact .gnnh-pdf-two-col {
        align-items: center;
        gap: 110px;
    }

    .gnn-pdf-company .gnn-pdf-company-contact .gnnh-pdf-two-col > div:first-child {
        flex: 0 1 600px;
        padding-left: 30px;
    }

    .gnn-pdf-company .gnn-pdf-company-contact h2 {
        color: #ffffff;
        font-size: 38px;
        line-height: 1.2;
        letter-spacing: -0.02em;
    }

    .gnn-pdf-company .gnn-pdf-company-contact .gnnh-pdf-two-col > div:first-child p {
        max-width: 560px;
        margin: 0 0 20px;
        color: #ffffff;
        font-size: 16px;
        line-height: 1.6;
    }

    .gnn-pdf-company .gnn-pdf-company-contact__cost {
        padding-top: 20px;
        border-top: 1px solid rgba(255, 255, 255, 0.45);
    }

    .gnn-pdf-company .gnn-pdf-company-contact__cost strong {
        color: #ffffff;
        font-weight: 600;
    }

    .gnn-pdf-company .gnn-pdf-form-card h2 {
        color: var(--gnn-v3-ink);
    }
}

/* ================================================================== */
/* PROGRAMY: Lifting spojrzenia, Totalna Odnowa (.gnnh-course--pdf270) */
/* and Bankietowy Lifting SOS, Manualny BOTOKS (.gnnc-page)            */
/* ================================================================== */

/*
 * The "→" glyph is missing from Montserrat, so the fallback font drew a long
 * line with a tiny head. The pills now carry the design arrow as an SVG.
 */
.gnnc-page .gnnc-rows:not(.gnnc-rows--danger) .gnnc-row-mark,
.gnnh-course--pdf270 .gnnh-pdf-total-why article > span {
    font-size: 0;
    color: transparent;
    background: #ffffff var(--gnn-v3-arrow) center / 16px 12px no-repeat;
}

.gnnh-course--pdf270 .gnnh-pdf-total-why article > span {
    display: inline-flex;
    flex: 0 0 52px;
    width: 52px;
    height: 30px;
    border: 1px solid var(--gnn-v3-green);
    border-radius: 999px;
}

/* Purchase button on the green section is white in the PDF. */
.gnnh-course--eye .gnnh-pdf-eye .gnn-program-purchase-cta {
    border-color: rgba(86, 151, 136, 0.35);
    background: #ffffff;
    color: var(--gnn-v3-ink);
    box-shadow: 0 10px 24px rgba(45, 37, 37, 0.12);
}

.gnnh-course--eye .gnnh-pdf-eye .gnn-program-purchase-cta:hover,
.gnnh-course--eye .gnnh-pdf-eye .gnn-program-purchase-cta:focus-visible {
    background: var(--gnn-v3-cream);
    color: var(--gnn-v3-ink);
}

/* The design has no eyebrow above "Inne klientki wybrały również…". */
.gnnh-course--pdf270 .gnnh-course-related__heading > span {
    display: none;
}

@media (min-width: 1025px) {
    /* Hero titles follow the homepage heading size. */
    .gnnh-course--pdf270 .gnnh-course-hero h1,
    .gnnc-page .gnnc-hero h1 {
        font-size: 38px;
        font-weight: 600;
        line-height: 1.2;
        letter-spacing: -0.02em;
    }

    .gnnh-course--total .gnnh-course-hero h1,
    .gnnh-course--total .gnnh-course-hero h1 span {
        font-size: 34px;
        line-height: 1.2;
    }

    .gnnh-course--eye .gnnh-course-hero h2 {
        font-size: 24px;
        font-weight: 600;
        line-height: 1.25;
    }

    .gnnh-course--total .gnnh-course-hero h2 {
        font-size: 16px;
        font-weight: 400;
        line-height: 1.6;
    }

    /* Prices: one size for all four programmes. */
    .gnnh-course--pdf270 .gnnh-course-price strong,
    .gnnc-page .gnnc-price strong {
        font-size: 36px;
        font-weight: 700;
    }

    .gnnh-course--pdf270 .gnnh-course-price del,
    .gnnc-page .gnnc-price del {
        font-size: 18px;
    }

    /* Section headings: 38px; FAQ 42px, as on the homepage. */
    .gnnh-course--pdf270 .gnnh-pdf-eye h2,
    .gnnh-course--pdf270 .gnnh-course-related h2,
    .gnnh-course--pdf270 .gnnh-pdf-total-plan h2,
    .gnnh-course--pdf270 .gnnh-pdf-total-why h2,
    .gnnh-course--pdf270 .gnnh-pdf-total-why h2 span,
    .gnnh-course--pdf270 .gnnh-pdf-total-gifts h2,
    .gnnc-page .gnnc-related h2 {
        font-size: 38px;
        font-weight: 600;
        line-height: 1.2;
        letter-spacing: -0.02em;
    }

    .gnnh-course--pdf270 .gnnh-course-faq h2 {
        font-size: 42px;
        font-weight: 600;
        line-height: 1.2;
    }

    .gnnh-course--eye .gnnh-pdf-eye__lead {
        font-size: 16px;
        font-weight: 600;
    }

    /* Copy column wide enough for the three heading lines of the PDF. */
    .gnnh-course--eye .gnnh-pdf-eye__layout {
        gap: 24px;
    }

    .gnnh-course--eye .gnnh-pdf-eye__copy {
        flex: 0 0 690px;
        max-width: 52%;
    }

    .gnnh-course--eye .gnnh-pdf-eye__copy h2 {
        max-width: none;
    }

    .gnnh-course--eye .gnnh-pdf-eye__results {
        flex: 1 1 0;
        min-width: 0;
    }

    .gnnh-course--eye .gnnh-pdf-eye h3 {
        font-size: 20px;
        font-weight: 600;
    }

    /* Design hero backgrounds are plain cream on all programme pages. */
    .gnnh-course--pdf270 .gnnh-course-hero {
        background-image: none;
        background-color: var(--gnn-v3-cream);
    }
}

/* ================================================================== */
/* 2.17.1 — second pass after the 1:1 comparison with the PDFs        */
/* ================================================================== */

/* Width: these pages follow the homepage container (1500px) at every screen size. */

/* Copy is near-black and medium weight in the PDFs (it read too grey and thin). */
.gnn-design-v3 {
    --gnn-v3-ink: #1d1818;
    --gnn-v3-text: #1d1818;
    --gnn-v3-arrow-up: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 9.5 9.5 2.5M4 2.5h5.5V8' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    --gnn-v3-cross: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14'%3E%3Cpath d='M3.5 3.5l7 7M10.5 3.5l-7 7' fill='none' stroke='%23e0484d' stroke-width='2.2' stroke-linecap='round'/%3E%3C/svg%3E");
}

/* Zero-specificity base so section rules can still set their own weight. */
:where(.gnn-design-v3 main > section:not(.gnnh-newsletter)) :where(p, li) {
    font-weight: 500;
}

:where(.gnn-design-v3 main > section:not(.gnnh-newsletter)) :where(p, li) :where(strong, b) {
    font-weight: 700;
}

/* Buttons as in the PDFs: 46px, medium label, small diagonal arrow, soft shadow. */
.gnn-design-v3 main :is(.gnn-button, .gnnh-button) {
    min-height: 46px;
    padding: 0 24px;
    gap: 10px;
    font-size: 14px;
    font-weight: 500;
    box-shadow: 0 8px 18px rgba(45, 37, 37, 0.08);
}

.gnn-design-v3 main .gnn-button svg {
    display: none;
}

.gnn-design-v3 main .gnn-button::after,
.gnn-design-v3 main .gnnh-button > b {
    content: "";
    display: inline-block;
    flex: 0 0 10px;
    width: 10px;
    height: 10px;
    font-size: 0;
    background-color: currentColor;
    -webkit-mask: var(--gnn-v3-arrow-up) center / contain no-repeat;
    mask: var(--gnn-v3-arrow-up) center / contain no-repeat;
}

/* Warsztaty: red cross icon, bolder and larger, as in the PDF. */
.gnn-pdf-workshops .gnn-pdf-ws-problems .gnnh-pdf-feature-rows--danger article > span {
    flex: 0 0 40px;
    width: 40px;
    height: 40px;
    font-size: 0;
    color: transparent;
    border-radius: 50%;
    background: #fde9e9 var(--gnn-v3-cross) center / 18px no-repeat;
}

/* Warsztaty: "Co dokładnie otrzymasz" rows are divided by thin lines. */
.gnn-pdf-workshops .gnn-pdf-number-rows article + article {
    padding-top: 22px;
    border-top: 1px solid rgba(86, 151, 136, 0.22);
}

@media (min-width: 1025px) {
    /* Hero: more air between the title and the first detail pill. */
    .gnn-pdf-workshops .gnn-pdf-ws-hero h1 {
        margin-bottom: 44px;
    }

    .gnn-pdf-workshops .gnn-pdf-ws-meta b {
        font-weight: 500;
    }

    .gnn-pdf-workshops .gnn-pdf-ws-hero__content > p {
        font-weight: 600;
        white-space: nowrap;
    }

    /* Audience descriptions are 16px in the PDF. */
    .gnn-pdf-workshops .gnn-pdf-check-rows p {
        font-size: 16px;
    }

    /* Problems: copy and cards 600px wide (the 38px heading may run wider). */
    .gnn-pdf-workshops .gnn-pdf-ws-problems .gnnh-pdf-two-col > div > :not(h2) {
        max-width: 600px;
    }

    /* Revolution: narrower copy column as in the PDF. */
    .gnn-pdf-workshops .gnn-pdf-ws-revolution__box > div {
        flex: 0 0 540px;
    }

    .gnn-pdf-workshops .gnn-pdf-ws-revolution__box > div p {
        max-width: 520px;
    }

    .gnn-pdf-workshops .gnn-pdf-ws-revolution__box {
        gap: 80px;
        padding: 44px 36px;
    }

    /* Contents: leaves stay faint and the section fades into the green band below. */
    .gnn-pdf-workshops .gnn-pdf-ws-content {
        background:
            linear-gradient(180deg, rgba(255, 244, 235, 0) 52%, rgba(186, 214, 203, 0.8) 76%, #6aa593 92%, #6aa593 100%),
            linear-gradient(rgba(255, 244, 235, 0.8), rgba(255, 244, 235, 0.8)),
            var(--gnn-v3-cream) url("../pdf-v272/images/warsztaty-contents-bg.webp") center / cover no-repeat;
    }

    .gnn-pdf-workshops .gnn-pdf-ws-content .gnnh-pdf-two-col > div > p {
        max-width: 600px;
    }
}

/* Oferta dla firm — second pass */
.gnn-pdf-company .gnn-pdf-feature-rows--vector article,
.gnn-pdf-company .gnn-pdf-company-problems .gnn-pdf-check-rows article,
.gnn-pdf-company .gnn-pdf-pillar-cards article,
.gnn-pdf-company .gnn-pdf-format-list article {
    border-color: var(--gnn-v3-green);
}

@media (min-width: 1025px) {
    /* Breadcrumbs sit on a cream band; the green starts below them. */
    .gnn-pdf-company .gnn-pdf-company-hero {
        background-image: linear-gradient(var(--gnn-v3-cream), var(--gnn-v3-cream)), var(--gnn-responsive-bg);
        background-size: 100% 92px, cover;
        background-position: top, center;
        background-repeat: no-repeat;
    }

    .gnn-pdf-company .gnn-pdf-company-hero .gnnh-breadcrumbs {
        min-height: 92px;
        margin: 0;
        align-items: center;
        padding-top: 0;
    }

    .gnn-pdf-company .gnn-pdf-company-hero .gnnh-breadcrumbs a,
    .gnn-pdf-company .gnn-pdf-company-hero .gnnh-breadcrumbs span,
    .gnn-pdf-company .gnn-pdf-company-hero .gnnh-breadcrumbs strong {
        color: var(--gnn-a11y-sage-text, #467a6e);
    }

    .gnn-pdf-company .gnn-pdf-company-hero .gnnh-pdf-two-col {
        padding-top: 40px;
    }

    .gnn-pdf-company .gnn-pdf-company-note {
        font-size: 18px;
    }

    /* The green fades into the cream section; leaves stay faint. */
    .gnn-pdf-company .gnn-pdf-company-problems {
        background:
            linear-gradient(180deg, #6aa593 0, rgba(255, 244, 235, 0) 220px),
            linear-gradient(rgba(255, 244, 235, 0.8), rgba(255, 244, 235, 0.8)),
            var(--gnn-v3-cream) url("../pdf-v272/images/warsztaty-contents-bg.webp") center / cover no-repeat;
        padding-top: 140px;
    }

    /* Right column cards are 590px wide as in the PDF (the heading may run wider). */
    .gnn-pdf-company .gnn-pdf-company-problems .gnnh-pdf-two-col > div > :not(h2) {
        max-width: 590px;
    }

    /* Right column starts at 673px (of 1440) as in the PDF. */
    .gnn-pdf-company .gnn-pdf-company-problems .gnnh-pdf-two-col {
        gap: 23px;
    }

    .gnn-pdf-company .gnn-pdf-company-problems .gnnh-pdf-two-col > div {
        flex: 1 1 0;
        padding-left: 0;
    }

    .gnn-pdf-company .gnn-pdf-company-problems .gnnh-pdf-two-col > div > * {
        width: 100%;
    }

    .gnn-pdf-company .gnn-pdf-feature-rows--vector p,
    .gnn-pdf-company .gnn-pdf-pillar-cards p,
    .gnn-pdf-company .gnn-pdf-format-list p,
    .gnn-pdf-company .gnn-pdf-format-list article > div > span {
        font-size: 16px;
    }

    .gnn-pdf-company .gnn-pdf-company-problems .gnn-pdf-check-rows p {
        font-size: 18px;
        line-height: 1.45;
    }

    .gnn-pdf-company .gnn-pdf-format-legend span {
        font-size: 16px;
        font-weight: 600;
    }

    .gnn-pdf-company .gnn-pdf-format-legend span::before {
        width: 10px;
        height: 10px;
    }

    .gnn-pdf-company .gnn-pdf-format-list {
        gap: 20px;
    }
}

/* Programmes — second pass after the 1:1 comparison */

/* Cross / check icons drawn as SVG (the glyphs were small and faint). */
.gnnc-page .gnnc-rows--danger .gnnc-row-mark {
    font-size: 0;
    color: transparent;
    background: #fde9e9 var(--gnn-v3-cross) center / 18px no-repeat;
}

.gnn-design-v3 .gnnh-pdf-eye__results li::before {
    content: "";
    width: 30px;
    height: 30px;
    font-size: 0;
    background: #dcede7 var(--gnn-v3-check) center / 16px no-repeat;
}

.gnn-design-v3 .gnnh-pdf-eye__results li.is-negative::before {
    background: #fde9e9 var(--gnn-v3-cross) center / 16px no-repeat;
}

/* Totalna: "DLA CIEBIE GRATIS" in green, as in the PDF. */
.gnnh-total-gift-free {
    color: var(--gnn-a11y-sage-text, #467a6e);
}

/* FAQ questions 16px on every programme page. */
.gnn-design-v3 .gnnh-accordion__item button {
    font-size: 16px;
    font-weight: 500;
}

@media (min-width: 1025px) {
    /* Hero copy starts at the top edge of the cover image. */
    .gnnh-course--pdf270 .gnnh-course-hero__layout,
    .gnnc-page .gnnc-hero-layout {
        align-items: flex-start;
    }

    .gnnh-course--pdf270 .gnnh-course-hero__content,
    .gnnc-page .gnnc-hero-copy {
        padding-top: 14px;
    }

    .gnnh-course--eye .gnnh-course-hero h2 {
        font-size: 20px;
    }

    .gnnh-course--pdf270 .gnnh-course-hero p,
    .gnnh-course--pdf270 .gnnh-course-hero li,
    .gnnc-page .gnnc-hero .gnnc-note,
    .gnnc-page .gnnc-hero .gnnc-hero-after {
        font-size: 16px;
    }

    /* Prices as in the PDF: 30px, old price 22px. */
    .gnnh-course--pdf270 .gnnh-course-price strong,
    .gnnc-page .gnnc-price strong {
        font-size: 30px;
    }

    .gnnh-course--pdf270 .gnnh-course-price del,
    .gnnc-page .gnnc-price del {
        font-size: 22px;
    }

    /* Lifting: cards 550px wide, row copy 18px, before/after lists 16px. */
    .gnnh-course--eye .gnnh-pdf-eye__copy > :not(h2) {
        max-width: 550px;
    }

    .gnnh-course--eye .gnnh-pdf-feature-rows p {
        font-size: 18px;
        line-height: 1.3;
    }

    .gnnh-course--eye .gnnh-pdf-eye__results li {
        font-size: 16px;
    }

    /* Related products: 18px titles and prices. */
    .gnn-design-v3 .gnnh-related-card strong,
    .gnn-design-v3 .gnnh-related-card em,
    .gnn-design-v3 .gnnc-related strong {
        font-size: 18px;
    }

    /* FAQ block 570px wide on the leafy background, as on the course pages. */
    .gnnh-course--eye .gnnh-course-faq {
        background: var(--gnn-v3-cream) url("../manualny-v276/faq-bg.webp") center / cover no-repeat;
    }

    .gnnh-course--pdf270 .gnnh-course-faq .gnnh-faq__content {
        flex: 0 0 570px;
    }

    .gnnh-course--pdf270 .gnnh-course-faq .gnnh-faq__content > p {
        font-size: 16px;
    }

    /* Manualny BOTOKS: dark line-art icons and black copy on the problem cards. */
    .gnnc-page .gnnc-problem-cards img {
        width: 64px;
        height: 64px;
        object-fit: contain;
        opacity: 1;
    }

    .gnnc-page .gnnc-problem-cards p {
        color: var(--gnn-v3-ink);
        font-size: 16px;
        font-weight: 600;
    }

    /* Trust section: copy centred against the portrait video. */
    .gnnc-page .gnnc-trust .gnnc-two-col {
        align-items: center;
    }

    /* Totalna gifts: 507px list, 14px descriptions. */
    .gnnh-course--total .gnnh-pdf-total-gifts .gnnh-total-gift-value {
        font-size: 16px;
        font-weight: 600;
    }
}

@media (min-width: 1025px) {
    .gnnh-course--eye .gnnh-pdf-eye__copy > .gnnh-pdf-eye__lead {
        max-width: 640px;
    }
}

/* Bankietowy: the green problems section fades softly into "Przedstawiam Ci" (hard edge before). */
.gnnc-page--sos .gnnc-sos-content {
    background:
        linear-gradient(180deg, #74a89a 0, rgba(116, 168, 154, 0) 190px),
        #dcebe4 url("../pdf-v272/images/bankietowy-bg1.webp") center / cover no-repeat;
}

.gnnc-page--sos .gnnc-intro {
    background-image:
        linear-gradient(180deg, rgba(116, 168, 154, 0) calc(100% - 130px), #74a89a 100%),
        url("../manualny-v276/intro-bg.webp");
    border-bottom: 0;
}

.gnnc-page--sos .gnnc-sos-content {
    border-top: 0;
}

/* ================================================================== */
/* 2.17.3 — width corrections (design widths re-measured from the PDF text positions) */
/* ================================================================== */
@media (min-width: 1025px) {
    .gnn-pdf-workshops .gnn-pdf-ws-problems .gnnh-pdf-two-col > div > :not(h2) {
        max-width: 640px;
    }

    .gnn-pdf-company .gnn-pdf-company-problems .gnnh-pdf-two-col {
        gap: 80px;
    }

    .gnn-pdf-company .gnn-pdf-company-problems .gnnh-pdf-two-col > div > :not(h2) {
        max-width: 640px;
    }

    .gnnh-course--eye .gnnh-pdf-eye__copy > :not(h2) {
        max-width: 600px;
    }

    .gnnh-course--pdf270 .gnnh-course-faq .gnnh-faq__content {
        flex: 0 0 620px;
    }
}

/* ================================================================== */
/* OLEJKI (Olejki.pdf)                                                */
/* ================================================================== */

/* Reviews: even cards, 20px centred copy, no date line (as in the PDF). */
.gnnh-oils-page .gnnh-oils-reviews__list {
    align-items: stretch;
}

.gnnh-oils-page .gnnh-oils-review {
    display: flex;
    min-height: 0;
    height: auto;
    padding: 30px 26px 34px;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    border: 1px solid var(--gnn-v3-green);
    border-radius: 16px;
    background: #ffffff;
    text-align: center;
}

.gnnh-oils-page .gnnh-oils-review h3 {
    margin: 0;
    color: var(--gnn-v3-ink);
    font-size: 18px;
    font-weight: 600;
}

.gnnh-oils-page .gnnh-oils-review__stars {
    color: #f2a33a;
    font-size: 20px;
    letter-spacing: 2px;
}

.gnnh-oils-page .gnnh-oils-review p {
    margin: 0;
    color: var(--gnn-v3-ink);
    font-size: 18px;
    font-weight: 500;
    line-height: 1.45;
}

.gnnh-oils-page .gnnh-oils-review time {
    display: none;
}

@media (min-width: 1025px) {
    /* Hero: the full design photo behind italic headings and 18px copy. */
    .gnnh-oils-page .gnnh-oils-hero {
        min-height: 796px;
    }

    .gnnh-oils-page .gnnh-oils-hero__media img {
        left: 0;
        right: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center top;
    }

    .gnnh-oils-page .gnnh-oils-hero__media::after {
        display: none;
    }

    .gnnh-oils-page .gnnh-oils-hero__content {
        flex: 0 0 560px;
        max-width: 560px;
        padding-right: 0;
    }

    .gnnh-oils-page .gnnh-oils-hero h1 {
        margin: 0 0 6px;
        color: #111111;
        font-size: 82px;
        font-style: italic;
        font-weight: 500;
        line-height: 1.1;
        letter-spacing: -0.02em;
    }

    .gnnh-oils-page .gnnh-oils-hero h2 {
        margin: 0 0 26px;
        color: #111111;
        font-size: 32px;
        font-style: italic;
        font-weight: 400;
        line-height: 1.2;
    }

    .gnnh-oils-page .gnnh-oils-hero__text p {
        margin: 0 0 20px;
        color: #111111;
        font-size: 18px;
        font-weight: 500;
        line-height: 1.5;
    }

    .gnnh-oils-page .gnnh-oils-hero__text strong {
        font-weight: 700;
    }

    /* Benefits: transparent cut-out on the leafy green, bleeding to the left edge; cards 640px. */
    .gnnh-oils-page .gnnh-oils-benefits {
        padding-top: 114px;
        background: #6aa594 url("../oils-v2148/benefits-bg.webp") center / cover no-repeat;
    }

    .gnnh-oils-page .gnnh-oils-benefits__content {
        padding-bottom: 120px;
    }

    .gnnh-oils-page .gnnh-oils-benefits__media {
        flex: 0 0 712px;
        max-width: 50%;
        margin-left: calc(var(--gnnh-shell-padding) * -1);
        align-self: flex-end;
    }

    .gnnh-oils-page .gnnh-oils-benefits__media img {
        display: block;
        width: 100%;
        height: auto;
        object-fit: contain;
        object-position: left bottom;
        border-radius: 0;
        box-shadow: none;
        -webkit-mask-image: none;
        mask-image: none;
    }

    .gnnh-oils-page .gnnh-oils-benefits__content {
        flex: 0 0 640px;
        margin-left: auto;
    }

    .gnnh-oils-page .gnnh-oils-benefits__heading h2 {
        font-size: 38px;
    }

    .gnnh-oils-page .gnnh-oils-benefits__heading p {
        font-size: 16px;
        font-weight: 500;
    }

    .gnnh-oils-page .gnnh-oils-benefit {
        min-height: 92px;
        padding: 16px 22px 16px 16px;
        align-items: center;
        gap: 20px;
        border: 1px solid rgba(255, 255, 255, 0.7);
        border-radius: 14px;
        background: #ffffff;
        box-shadow: var(--gnn-v3-shadow);
    }

    .gnnh-oils-page .gnnh-oils-benefit img {
        flex: 0 0 58px;
        width: 58px;
        height: 58px;
        object-fit: contain;
    }

    .gnnh-oils-page .gnnh-oils-benefit h3 {
        margin: 0 0 4px;
        color: var(--gnn-v3-ink);
        font-size: 18px;
        font-weight: 600;
    }

    .gnnh-oils-page .gnnh-oils-benefit p {
        margin: 0;
        color: var(--gnn-v3-ink);
        font-size: 18px;
        font-weight: 500;
        line-height: 1.3;
    }

    /* Reviews: three cards per view. */
    .gnnh-oils-page .gnnh-oils-reviews__heading h2 {
        font-size: 38px;
    }

    .gnnh-oils-page .gnnh-oils-reviews__heading p {
        color: var(--gnn-v3-ink);
        font-size: 16px;
        font-weight: 500;
    }

    .gnnh-oils-page .gnnh-oils-reviews__list {
        gap: 32px;
    }

    .gnnh-oils-page .gnnh-oils-review {
        flex: 0 0 calc((100% - 64px) / 3);
    }

    /* Story: copy 640px left, portrait photo 640×740 right. */
    .gnnh-oils-page .gnnh-oils-story__layout {
        align-items: center;
        gap: 62px;
    }

    .gnnh-oils-page .gnnh-oils-story__content {
        flex: 0 0 638px;
    }

    .gnnh-oils-page .gnnh-oils-story h2 {
        font-size: 38px;
    }

    .gnnh-oils-page .gnnh-oils-story__text p {
        color: var(--gnn-v3-ink);
        font-size: 20px;
        font-weight: 500;
        line-height: 1.5;
    }

    .gnnh-oils-page .gnnh-oils-story li {
        color: var(--gnn-v3-ink);
        font-size: 16px;
    }

    .gnnh-oils-page .gnnh-oils-story__media {
        flex: 0 0 640px;
        margin-left: auto;
    }

    .gnnh-oils-page .gnnh-oils-story__media img {
        width: 100%;
        height: auto;
        aspect-ratio: 640 / 740;
        object-fit: cover;
        object-position: center;
        border-radius: 18px;
    }

    /* FAQ: portrait on the left (bleeding to the edge), questions 620px on the right. */
    .gnnh-oils-page .gnnh-oils-faq .gnnh-faq__layout {
        align-items: flex-end;
    }

    .gnnh-oils-page .gnnh-oils-faq .gnnh-faq__image {
        order: -1;
        flex: 0 1 700px;
        min-width: 0; /* shrinks on laptops so the questions keep their 620px inside the screen */
        height: auto;
        margin-left: calc(var(--gnnh-shell-padding) * -1);
        align-self: flex-end;
    }

    .gnnh-oils-page .gnnh-oils-faq .gnnh-faq__image img {
        position: static;
        width: 100%;
        height: auto;
        object-fit: contain;
        object-position: left bottom;
    }

    .gnnh-oils-page .gnnh-oils-faq .gnnh-faq__content {
        flex: 0 0 620px;
        margin-left: auto;
    }

    .gnnh-oils-page .gnnh-oils-faq .gnnh-faq__content > p {
        font-size: 16px;
    }
}

/* Olejki: no haze over the cut-out, reviews show their whole text. */
.gnnh-oils-page .gnnh-oils-benefits__media::after {
    display: none;
}

.gnnh-oils-page .gnnh-oils-review p {
    display: block;
    overflow: visible;
    -webkit-line-clamp: unset;
    line-clamp: unset;
}

/* ================================================================== */
/* 2.17.5 — Manualny BOTOKS "Co sprawia…": person as its own cut-out  */
/* (was baked into a cover background and lost her head on wide screens) */
/* ================================================================== */
.gnnc-unique-person {
    display: none;
}

@media (min-width: 1025px) {
    .gnnc-page .gnnc-unique {
        position: relative;
        overflow: hidden;
        background:
            linear-gradient(180deg, #ddeae7 0, rgba(221, 234, 231, 0) 180px),
            #e3eee9 url("../manualny-v276/unique-leaves.webp") center / cover no-repeat;
    }

    .gnnc-page .gnnc-unique > .gnnc-shell {
        position: relative;
        min-height: 838px;
    }

    .gnnc-page .gnnc-unique-person {
        position: absolute;
        top: 0;
        left: 13px;
        z-index: 0;
        display: block;
        width: 574px;
        max-width: 42%;
        height: auto;
        pointer-events: none;
    }

    .gnnc-page .gnnc-unique-copy {
        position: relative;
        z-index: 1;
    }
}

@media (min-width: 1280px) and (max-width: 1560px) {
    .gnnc-page .gnnc-unique-person {
        left: calc(13px + clamp(32px, calc((100vw - 1340px) / 2), 50px));
    }
}

@media (min-width: 1025px) and (max-width: 1279px) {
    .gnnc-page .gnnc-unique-person {
        left: 39px;
    }
}

/* 2.17.5 — purchase button in every programme hero, right-aligned under the price. */
.gnnh-course--pdf270 .gnnh-course-hero__content > .gnn-program-purchase-cta {
    display: flex;
    width: fit-content;
    margin: 22px 0 0 auto;
}

.gnnc-page .gnnc-hero-cta {
    display: flex;
    justify-content: flex-end;
}

@media (max-width: 767px) {
    .gnnh-course--pdf270 .gnnh-course-hero__content > .gnn-program-purchase-cta {
        width: 100%;
        margin-left: 0;
        justify-content: center;
    }

    .gnnc-page .gnnc-hero-cta {
        justify-content: stretch;
    }

    .gnnc-page .gnnc-hero-cta .gnnh-button {
        width: 100%;
        justify-content: center;
    }
}

/* SVG line icons (replacing the old glyphs). */
.gnn-icon {
    display: inline-block;
    flex: 0 0 auto;
    vertical-align: middle;
}

.gnn-icon--star {
    color: #f2a33a;
}

.gnn-icon--star.is-empty {
    opacity: 0.28;
}

/* 2.17.5 — FAQ behaves like on the homepage: opening a question never shifts the page. */
.gnnh-course-faq,
.gnnc-faq,
.gnnh-oils-faq,
.gnn-miodowa-faq {
    overflow-anchor: none;
}

@media (min-width: 1025px) {
    .gnnh-course-faq h2,
    .gnnc-faq .gnnh-faq__content h2,
    .gnnh-oils-faq h2 {
        white-space: nowrap;
    }
}

/* 2.17.5 — FAQ behaves like on the homepage: opening a question never shifts the page. */
.gnnh-course-faq,
.gnnc-faq,
.gnnh-oils-faq,
.gnn-miodowa-faq {
    overflow-anchor: none;
}

@media (min-width: 1025px) {
    .gnnh-course-faq h2,
    .gnnc-faq .gnnh-faq__content h2,
    .gnnh-oils-faq h2 {
        white-space: nowrap;
    }
}

/* 2.17.5 — Warsztaty: no visible seams between sections.
 * The textured green sections start from the same flat green the section above ends with. */
.gnn-pdf-workshops .gnn-pdf-ws-problems {
    background-image:
        linear-gradient(180deg, #6ba594 0, rgba(107, 165, 148, 0) 200px),
        var(--gnn-responsive-bg-hq, var(--gnn-responsive-bg));
    background-size: 100% 100%, cover;
    background-position: top, center;
    background-repeat: no-repeat;
}

@media (min-width: 1025px) {
    /* "Co dokładnie otrzymasz": the portrait fades out instead of being cut by the section edge. */
    .gnn-pdf-workshops .gnn-pdf-ws-content .gnnh-pdf-two-col > img {
        -webkit-mask-image: linear-gradient(180deg, #000 0, #000 72%, transparent 100%);
        mask-image: linear-gradient(180deg, #000 0, #000 72%, transparent 100%);
    }

    .gnn-pdf-workshops .gnn-pdf-ws-audience {
        background:
            linear-gradient(180deg, #6aa593 0, rgba(106, 165, 147, 0.6) 110px, rgba(106, 165, 147, 0) 300px),
            var(--gnn-v3-green) url("../pdf-v272/images/warsztaty-bg2.webp") center / cover no-repeat;
    }
}

/* 2.17.5 — Olejki: second comparison with Olejki.pdf */
@media (min-width: 1025px) {
    /* Hero photo fills the full hero (a 16px cream strip showed under it). */
    .gnnh-oils-page .gnnh-oils-hero__inner {
        height: 796px;
        min-height: 796px;
    }

    .gnnh-oils-page .gnnh-oils-hero__media {
        height: 100%;
    }

    /* Benefits: intro text in two lines, taller cards as in the PDF. */
    .gnnh-oils-page .gnnh-oils-benefits__heading p {
        max-width: 440px;
    }

    .gnnh-oils-page .gnnh-oils-benefits__list {
        gap: 18px;
    }

    .gnnh-oils-page .gnnh-oils-benefit {
        min-height: 118px;
        padding: 24px 28px 24px 22px;
        gap: 22px;
    }

    .gnnh-oils-page .gnnh-oils-benefit img {
        flex-basis: 64px;
        width: 64px;
        height: 64px;
    }

    .gnnh-oils-page .gnnh-oils-benefit p {
        max-width: 440px;
        line-height: 1.4;
    }

    .gnnh-oils-page .gnnh-oils-benefits__action {
        padding-top: 42px;
    }

    /* Story: one-line heading, the design photo (wider framing). */
    .gnnh-oils-page .gnnh-oils-story h2 {
        font-size: 34px;
        white-space: nowrap;
    }

    .gnnh-oils-page .gnnh-oils-story__media img {
        object-position: 30% center;
    }
}

/* 2.17.10 — Warsztaty "Czas na rewolucję" on tablets and phones: stacked box with the same
   filled check icons and dividers as on desktop (the list had empty indents and no icons). */
@media (max-width: 1024px) {
    .gnn-pdf-workshops .gnn-pdf-ws-revolution {
        padding: 44px 0;
        background: var(--gnn-v3-cream);
    }

    .gnn-pdf-workshops .gnn-pdf-ws-revolution__box {
        display: block;
        padding: 30px 22px 14px;
        border: 1px solid var(--gnn-v3-green);
        border-radius: 16px;
        background: var(--gnn-v3-mint);
        box-shadow: var(--gnn-v3-shadow);
    }

    /* The desktop line break leaves a lone "Twojej" on phones. */
    .gnn-pdf-workshops .gnn-pdf-ws-revolution h2 br {
        display: none;
    }

    .gnn-pdf-workshops .gnn-pdf-ws-revolution__box > div p {
        margin: 0 0 16px;
        color: var(--gnn-v3-text);
        font-size: 16px;
        line-height: 1.6;
    }

    .gnn-pdf-workshops .gnn-pdf-ws-revolution__box > div p strong {
        color: var(--gnn-v3-ink);
        font-weight: 600;
    }

    .gnn-pdf-workshops .gnn-pdf-ws-revolution__box .gnn-button {
        justify-content: center;
        gap: 10px;
        margin-top: 6px;
        padding: 0 16px;
        text-align: center;
    }

    .gnn-pdf-workshops .gnn-pdf-ws-revolution__box ul {
        margin: 22px 0 0;
        padding: 0;
        list-style: none;
    }

    .gnn-pdf-workshops .gnn-pdf-ws-revolution__box li {
        position: relative;
        margin: 0;
        padding: 16px 0 16px 42px;
        color: var(--gnn-v3-text);
        font-size: 16px;
        line-height: 1.55;
    }

    .gnn-pdf-workshops .gnn-pdf-ws-revolution__box li + li {
        border-top: 1px solid rgba(86, 151, 136, 0.28);
    }

    .gnn-pdf-workshops .gnn-pdf-ws-revolution__box li::before {
        content: "";
        position: absolute;
        top: 17px;
        left: 0;
        width: 26px;
        height: 26px;
        border: 0;
        border-radius: 50%;
        background: var(--gnn-v3-green) var(--gnn-v3-check-white) center / 14px no-repeat;
        transform: none;
    }
}
