/* ========================================= */
/* 1. :root — zmienne globalne              */
/* ========================================= */
:root {
    --accent: #DCAA78;
    --accent-dark: #8c6a43;
    --kolorowe_tlo: var(--accent);
    --detal_kolor: var(--accent);

    --text-white: rgb(238, 239, 240);
    --jasne_tlo: var(--text-white);

    --bg-base: #222426;
    --ciemne_tlo: var(--bg-base);
    --bg-header: #050608;
    --bg-input: #111111;
    --bg-overlay: rgba(11, 12, 16, 0.95);

    --font-main: 'Helvetica Neue', Helvetica, Arial, sans-serif;
    --spacing-section: clamp(3.125rem, 10vw, 6.25rem);

    --bg-section: var(--bg-base);
    --bg-card: rgba(0, 0, 0, 0.2);
    --text-main: rgb(198, 199, 200);
    --text-heading: var(--text-white);
    --text-muted: var(--accent);
    --border-color: rgba(255, 255, 255, 0.1);
}

/* ========================================= */
/* 2. Style bazowe                           */
/* ========================================= */
*,
*::before,
*::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    font-family: var(--font-main);
    background-color: var(--bg-base);
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
    overflow-x: auto;
}

a {
    text-decoration: none;
    color: inherit;
    transition: color 0.3s ease;
}

a:hover {
    color: var(--accent);
}

::selection {
    background: var(--accent);
    color: #241a0e;
}
/* ========================================= */
/* 3. Typografia globalna                    */
/* ========================================= */
h1,
h2,
h3 {
    color: var(--text-heading);
    font-weight: 700;
    letter-spacing: -0.02em;
    margin-bottom: 1.5rem;
}

h1 {
    font-size: 2.25rem;
    line-height: 1.3;
}

h2 {
    font-size: 2rem;
    margin-top: 0;
}

h3 {
    font-size: 1.3rem;
    margin-bottom: 0.625rem;
}

p {
    font-size: 1.1rem;
    margin-bottom: 1.5rem;
    max-width: 40.625rem;
    color: var(--text-main);
}

.subtitle {
    margin-bottom: 3.125rem;
    color: var(--text-muted);
}

.lead {
    font-size: 1.25rem;
    font-weight: 500;
    color: var(--text-heading);
    line-height: 0.25;
}

/* ========================================= */
/* 4. Klasy globalne i układy                */
/* ========================================= */
.page-section {
    position: relative;
    padding: var(--spacing-section) 0;
    background-color: var(--bg-section);
    color: var(--text-main);
    scroll-margin-top: 5.625rem;
    overflow: hidden;
}

.section-bg {
    position: absolute;
    inset: 0;
    z-index: 1;
}

.section-bg video,
.section-bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.section-overlay {
    position: absolute;
    inset: 0;
    z-index: 2;
}

.section-content {
    position: relative;
    z-index: 3;
}

.container {
    width: 100%;
    max-width: 75rem;
    margin-inline: auto;
    padding-inline: clamp(1.5rem, 4vw, 2.5rem);
}

.grid-2 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 3.75rem;
}

.feature-list {
    list-style: none;
}

.feature-list li {
    padding: 1.5625rem 0;
    border-top: 1px solid var(--border-color);
    display: flex;
    flex-direction: column;
}

.feature-list li strong {
    font-size: 1.1rem;
    margin-bottom: 0.5rem;
    color: var(--accent);
    display: block;
}

.feature-list li span {
    color: var(--text-muted);
    font-size: 0.95rem;
}

.faq-container {
    margin-inline: auto;
}

details,
#section-5 details {
    background: var(--bg-card);
    margin-bottom: 0.9375rem;
    border: 1px solid var(--border-color);
    border-radius: 2px;
    transition: all 0.3s ease;
}

summary {
    padding: 1.25rem 1.5625rem;
    cursor: pointer;
    font-weight: 700;
    color: var(--text-heading);
    display: flex;
    justify-content: space-between;
    align-items: center;
    list-style: none;
}

summary::-webkit-details-marker {
    display: none;
}

summary::after {
    content: '+';
    font-size: 1.5rem;
    color: var(--accent);
    transition: transform 0.3s ease;
}

details[open] summary::after {
    transform: rotate(45deg);
}

.faq-answer {
    padding: 0 1.5625rem 1.5625rem;
    color: var(--text-main);
    font-size: 0.95rem;
    line-height: 1.7;
    border-top: 1px solid transparent;
}

details[open] .faq-answer {
    border-top-color: var(--border-color);
    padding-top: 1.25rem;
}

.cta-container {
    text-align: center;
    padding: 3.125rem 0;
}

.cta-container p {
    margin: 0 auto 2.5rem;
    color: var(--text-main);
}

.btn-primary {
    background: var(--kolorowe_tlo);
    color: var(--jasne_tlo);
    padding: 0.9375rem 2.5rem;
    border: 1px solid var(--kolorowe_tlo);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    display: inline-block;
    transition: all 0.3s ease;
    cursor: pointer;
}

.btn-primary:hover {
    color: var(--bg-base);
}

/* ========================================= */
/* 5. Header / nawigacja                     */
/* ========================================= */
header {
    padding: 1.875rem 0;
    position: sticky;
    top: 0;
    z-index: 100;
    background: var(--bg-header);
    border-bottom: 1px solid var(--accent);
    opacity: 0.98;
}

header .container {
    width: 71%;
}

.nav-flex {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.logo {
    font-weight: 700;
    font-size: 1.5rem;
    letter-spacing: 0.1em;
    color: var(--text-white);
}

.nav-links a {
    margin-left: 1.25rem;
    font-size: 0.85rem;
    text-transform: uppercase;
    font-weight: 500;
    letter-spacing: 0.05em;
    color: var(--accent);
}

.nav-links a:hover {
    color: var(--text-white);
}

/* ========================================= */
/* 6. Sekcje                                 */
/* ========================================= */

/* --- SEKCJA 1 --- */
#section-1 {
    --bg-section: var(--ciemne_tlo);
    --bg-card: rgba(0, 0, 0, 0.2);
    --text-main: #c6c7c8;
    --text-heading: var(--text-white);
    --text-muted: var(--accent);
    --border-color: rgba(255, 255, 255, 0.1);

    min-height: 46.25rem;
    display: flex;
    align-items: center;
}

#section-1 .section-overlay {
    background-color: rgba(11, 12, 13, 0.75);
}

#section-1 .hero-watermark {
    position: absolute;
    left: -6.25rem;
    top: 55%;
    transform: translateY(-60%);
    z-index: 1;
    pointer-events: none;
    user-select: none;
}

#section-1 .hero-watermark svg {
    height: 34.375rem;
    width: auto;
    display: block;
}

#section-1 .hero-watermark .wm-letter {
    fill: var(--ciemne_tlo);
    opacity: 0.55;
}

#section-1 .hero-watermark .wm-apostrophe {
    fill: var(--accent);
    opacity: 0.25;
}

#section-1 .hero-content-right {
    margin-left: auto;
    width: 59%;
    position: relative;
}

#section-1 .scroll-down-wrapper {
    position: absolute;
    bottom: 2.5rem;
    right: 1.25rem;
    z-index: 10;
}

#section-1 .scroll-down-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    color: var(--text-muted);
    text-decoration: none;
    font-size: 1.05rem;
    font-weight: 500;
    transition: all 0.35s ease;
}

#section-1 .scroll-down-btn:hover {
    color: var(--text-heading);
    transform: translateY(-0.125rem);
}

#section-1 .hero-tag {
    display: inline-block;
    color: var(--accent);
    font-size: 1.3rem;
    text-transform: uppercase;
    margin-bottom: 1.5625rem;
    font-weight: 600;
    letter-spacing: 0.15em;
}

#section-1 .hero-stats {
    display: flex;
    gap: 2.5rem;
    margin-top: 1.25rem;
}

#section-1 .stat-number {
    font-size: 1.8rem;
    font-weight: 700;
    color: var(--accent);
    line-height: 1;
}

#section-1 .stat-desc {
    font-size: 0.8rem;
    text-transform: uppercase;
    color: var(--text-muted);
    margin-top: 0.3125rem;
}

/* --- SEKCJA 2 --- */
#section-2 {
    padding: clamp(3.125rem, 10vw, 6.25rem) 1.25rem;
    background-color: var(--ciemne_tlo);
    min-height: 31.25rem;

    --bg-section: var(--ciemne_tlo);
    --bg-card: rgba(255, 255, 255, 0.6);
    --text-main: #333333;
    --text-heading: #111111;
    --text-muted: #666666;
    --border-color: rgba(0, 0, 0, 0.15);
}

#section-2 .section-content {
    max-width: 68.75rem;
    margin-inline: auto;
    position: relative;
}

#section-2 .section-content::after {
    content: '';
    display: block;
    width: min(calc(100% + 18.75rem), 70.625rem);
    height: 1px;
    background-color: var(--text-muted);
    margin-top: 5rem;
    margin-left: calc((min(calc(100% + 18.75rem), 70.625rem) / 2 - 50%) * -1);
}

#section-2 .grid-2 {
    display: flex;
    justify-content: center;
    align-items: center;
}

#section-2 .offer-box {
    background-color: transparent;
    border: 1px solid var(--accent);
    border-radius: 50%;
    width: 100%;
    max-width: 28.125rem;
    aspect-ratio: 1 / 1;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 1.25rem;
    text-align: center;
    transition: background-color 0.55s ease;
    cursor: pointer;
    position: relative;
    z-index: 1;
}

#section-2 .offer-box:hover {
    background-color: var(--kolorowe_tlo);
    z-index: 2;
}

#section-2 .offer-box:nth-child(1) {
    transform: translateX(12.5%);
}

#section-2 .offer-box:nth-child(2) {
    transform: translateX(-12.5%);
}

#section-2 .offer-box h2 {
    color: var(--jasne_tlo);
    margin: 0;
    font-size: 1.5rem;
    transform: none;
}

#section-2 .line-text-wrapper {
    position: absolute;
    top: calc(33.0625rem);
    width: min(43.75rem, 85vw);
    left: -1.3%;
    display: block;
    text-align: left;
}

#section-2 .line-text-wrapper p {
    color: var(--text-muted);
    font-size: 0.9rem;
    line-height: 1.6;
    margin: 0;
}

/* --- PODSEKCJE 2: AUDYT / DOBÓR --- */
#section-2-audyt,
#section-2-dobor {
    display: block;
    background-color: var(--ciemne_tlo);
    padding: clamp(3.125rem, 10vw, 6.25rem) 0;
    scroll-margin-top: 8.1875rem;
}

#section-2-audyt .service-grid,
#section-2-dobor .service-grid {
    display: grid;
    grid-template-columns: 4.5fr 5.5fr;
    gap: 5rem;
    align-items: center;
}

#section-2-audyt .service-text,
#section-2-dobor .service-text {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

#section-2-audyt .service-text h3,
#section-2-dobor .service-text h3 {
    color: var(--accent);
    font-size: 1.1rem;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    margin-bottom: 0.9375rem;
}

#section-2-audyt .service-text h1,
#section-2-dobor .service-text h1 {
    color: var(--text-white);
    font-size: clamp(1.75rem, 4vw, 2.4rem);
    line-height: 1.2;
    margin-bottom: 1.5625rem;
    font-weight: 700;
}

#section-2-audyt .service-text p,
#section-2-dobor .service-text p {
    color: var(--text-main);
    font-size: 1.1rem;
    line-height: 1.7;
    margin: 0;
}

#section-2-audyt .service-slider-box,
#section-2-dobor .service-slider-box {
    background-color: rgba(255, 255, 255, 0.02);
    border: 1px solid var(--border-color);
    height: 28.125rem;
    width: 100%;
    min-width: 0;
    border-radius: 0.25rem;
    position: relative;

    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    scrollbar-width: none;
    -ms-overflow-style: none;
    overflow-y: hidden;
}

#section-2-audyt .service-slider-box::-webkit-scrollbar,
#section-2-dobor .service-slider-box::-webkit-scrollbar {
    display: none;
}

#section-2-audyt .slide-card,
#section-2-dobor .slide-card {
    flex: 0 0 100%;
    height: 100%;
    scroll-snap-align: center;

    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
}

#section-2-audyt .slide-content,
#section-2-dobor .slide-content {
    width: 85%;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

#section-2-audyt .slide-content {
    height: 45%;
}

#section-2-dobor .slide-content {
    height: 35%;
}

#section-2-audyt .slide-arrow-left,
#section-2-audyt .slide-arrow-right,
#section-2-dobor .slide-arrow-left,
#section-2-dobor .slide-arrow-right {
    position: absolute;
    top: 0;
    width: 7.5%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--accent);
    transition: color 0.3s ease, transform 0.3s ease;
    z-index: 10;
}

a.slide-arrow-left,
a.slide-arrow-right {
    cursor: pointer;
}

#section-2-dobor .slide-arrow-left,
#section-2-dobor .slide-arrow-right {
    cursor: pointer;
}

#section-2-audyt .slide-arrow-left,
#section-2-dobor .slide-arrow-left {
    left: 0;
}

#section-2-audyt .slide-arrow-right,
#section-2-dobor .slide-arrow-right {
    right: 0;
}

#section-2-audyt .slide-arrow-left:hover,
#section-2-audyt .slide-arrow-right:hover,
#section-2-dobor .slide-arrow-left:hover,
#section-2-dobor .slide-arrow-right:hover {
    color: var(--text-white);
    transform: scale(1.15);
}

#section-2-audyt .slide-number,
#section-2-dobor .slide-number {
    color: var(--accent);
    font-size: 0.9rem;
    font-weight: 700;
    letter-spacing: 0.2em;
    margin-bottom: 0.9375rem;
    opacity: 0.7;
}

#section-2-audyt .slide-card h4,
#section-2-dobor .slide-card h4 {
    color: var(--text-white);
    font-size: 1.5rem;
    margin-bottom: 0.9375rem;
}

#section-2-audyt .slide-card p,
#section-2-dobor .slide-card p {
    color: var(--text-main);
    font-size: 1.05rem;
    line-height: 1.6;
    margin: 0;
}

/* --- SEKCJA 3 --- */
#section-3 {
    --text-main: rgb(198, 199, 200);
    --text-heading: var(--text-white);
    --text-muted: var(--kolorowe_tlo);
    --border-color: rgba(255, 255, 255, 0.1);
    --accent-copper: var(--accent);

    background-color: var(--jasne_tlo);
}

#section-3 .case-article:first-child {
    margin-top: 40vh;
}

#section-3 .case-article:last-child {
    margin-bottom: 70vh;
}

#section-3 .section-3-layout {
    display: flex;
    align-items: flex-start;
    width: 100%;
}

#section-3 .section-3-sidebar {
    width: 30%;
    position: sticky;
    top: 27vh;
    padding-right: clamp(2rem, 13vw, 8.125rem);
}

#section-3 .matrix-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.875rem;
}

#section-3 .matrix-num {
    appearance: none;
    background: transparent;
    border: none;
    padding: 0;
    margin: 0;
    font: inherit;

    font-size: clamp(2.5rem, 10vw, 6rem);
    font-weight: 700;
    color: var(--text-muted);
    opacity: 0.3;
    cursor: pointer;
    transition: all 0.4s ease;
}

#section-3 .matrix-num:hover:not(.empty) {
    opacity: 0.7;
    color: var(--accent-copper);
}

#section-3 .matrix-num.active {
    color: var(--accent-copper);
    opacity: 1;
}

#section-3 .section-3-content {
    width: 67%;
    padding-left: clamp(2rem, 17vw, 10.625rem);
    border-left: 1px solid var(--border-color);
}

#section-3 .case-article {
    margin-bottom: 50vh;
    padding: 0;
    background: transparent;
    border: none;
    opacity: 0.15;
    transform: scale(0.95);
    transition: opacity 0.6s ease, transform 0.6s ease;
}

#section-3 .case-article.in-focus {
    opacity: 1;
    transform: scale(1);
}

#section-3 .case-article h3 {
    margin-top: 0;
    color: var(--kolorowe_tlo);
    font-size: clamp(1.5rem, 3.5vw, 2rem);
}

#section-3 .case-article p {
    color: #444444;
    line-height: 1.6;
    font-size: 1.3rem;
}

#section-3 #case-0 {
    max-width: 38.125rem;
    margin-left: auto;
    margin-right: 0;
    text-align: left;
}

#section-3 #case-0 h2 {
    font-size: clamp(2.5rem, 8vw, 4.9rem);
    line-height: 1.1;
    margin-bottom: 0.75rem;
    color: var(--kolorowe_tlo);
}

#section-3 #case-0 p {
    font-size: clamp(1.25rem, 4vw, 2.09rem);
    line-height: 1.5;
    color: #444444;
}

#matrix-exit-arrow {
    position: fixed;
    bottom: 2.5rem;
    left: 50%;
    transform: translateX(-50%) translateY(1.25rem);
    color: var(--accent-copper);
    opacity: 0;
    pointer-events: none;
    z-index: 100;
    transition: opacity 0.1s ease, transform 0.1s ease;
}

#matrix-exit-arrow.visible {
    opacity: 1;
    transform: translateX(-50%) translateY(0);
    pointer-events: auto;
    transition: opacity 0.6s ease, transform 0.6s ease;
}

#matrix-exit-arrow:hover {
    color: #444444;
}

/* --- SEKCJA 4 --- */
#section-4 {
    --bg-section: rgb(231, 232, 233);
    --text-heading: #111111;
    --text-main: #444444;

    background-color: var(--bg-section);
    padding: 0;
    width: 100%;
    overflow: hidden;
}

#section-4 .split-layout-100vw {
    display: flex;
    width: 100%;
}

#section-4 .split-left {
    flex: 0 0 53%;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    padding: 8vw 5%;
}

#section-4 .split-left-content {
    max-width: 40.625rem;
    width: 100%;
}

#section-4 .split-left-content h3 {
    color: #333333;
    margin-bottom: 1.5625rem;
    font-size: clamp(1.5rem, 4vw, 2.5rem);
    font-weight: 100;
}

#section-4 .split-left-content p:first-of-type {
    font-weight: 550;
}

#section-4 .split-left-content p {
    color: var(--text-main);
}

#section-4 .split-right {
    flex: 0 0 47%;
    position: relative;
    overflow: hidden;
}

#section-4 .split-image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    filter: grayscale(40%);
}

#section-4 .image-overlay {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(255, 119, 0, 0.199);
    mix-blend-mode: multiply;
    pointer-events: none;
}

#section-4 .btn-primary {
    background: rgb(210, 160, 110);
    color: var(--bg-section);
    border: 1px solid rgb(210, 160, 110);
    margin-top: 1.25rem;
}

#section-4 .btn-primary:hover {
    color: var(--bg-base);
}

/* --- SEKCJA 5 --- */
#section-5 {
    --bg-section: var(--ciemne_tlo);
    --bg-card: rgba(255, 255, 255, 0.05);
    --text-main: #dddddd;
    --text-heading: var(--jasne_tlo);
    --border-color: rgba(255, 255, 255, 0.15);
}

#section-5 .faq-container {
    max-width: 68.75rem;
}

#section-5 details:hover {
    background: rgba(255, 255, 255, 0.08);
}

#section-5 .faq-eyebrow {
    display: block;
    color: var(--accent);
    font-size: 1.25rem;
    margin-bottom: 0.9375rem;
}

#section-5 h2 {
    color: var(--text-heading);
    font-size: 2.25rem;
    margin: 0 0 3.125rem;
}

#section-5 summary {
    font-size: 1.25rem;
}

#section-5 summary:focus-visible {
    outline: 2px solid var(--accent);
    outline-offset: 2px;
}

#section-5 .faq-answer {
    font-size: 1.15rem;
}

#section-5 .faq-answer p {
    max-width: none;
    margin: 0 0 0.875rem;
    font-size: inherit;
    color: inherit;
    line-height: inherit;
}

#section-5 .faq-answer p:last-child {
    margin-bottom: 0;
}

/* --- SEKCJA 6 --- */
#section-6 {
    --bg-section: var(--jasne_tlo);
    --text-main: #444444;
    --text-heading: #111111;
    --border-color: rgba(0, 0, 0, 0.12);

    background-color: var(--bg-section);
    min-height: 33.75rem;
    display: flex;
    align-items: center;
}

#section-6 .about-full {
    width: 100%;
    max-width: 70rem;
    margin-inline: auto;
}

#section-6 .about-header {
    max-width: 47.5rem;
    margin-bottom: 2.625rem;
}

#section-6 .about-eyebrow {
    display: block;
    color: var(--accent);
    font-size: 0.95rem;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    margin-bottom: 0.875rem;
}

#section-6 h2 {
    color: var(--text-heading);
    font-size: clamp(2rem, 5vw, 3rem);
    line-height: 1.05;
    margin-bottom: 1.125rem;
}

#section-6 .about-lead {
    color: #333333;
    font-size: 1.2rem;
    line-height: 1.65;
    max-width: 43.75rem;
    margin-bottom: 75px;
}

#section-6 .trust-list.about-cards {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
}

#section-6 .about-cards li {
    background: rgba(255, 255, 255, 0.65);
    border-top: 2px solid var(--accent);
    padding: 1.625rem 1.5rem;
    min-height: 11.875rem;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    transition: transform 0.3s ease, box-shadow 0.3s ease, background 0.3s ease;
}

#section-6 .about-cards li:hover {
    transform: translateY(-4px); /* Uniesienie o 4 piksele do góry */
    background: #fff; /* Rozjaśnienie tła na czysto białe */
    box-shadow: 0 16px 28px -20px rgba(0, 0, 0, 0.4); /* Elegancki cień u dołu */
}

#section-6 .about-cards span {
    color: var(--accent-dark);
    text-transform: uppercase;
    font-size: 0.85rem;
    letter-spacing: 0.1em;
    font-weight: 700;
}

#section-6 .about-cards p {
    margin: 0;
    color: var(--text-main);
    line-height: 1.55;
    font-size: 1rem;
    max-width: none;
}

/* --- SEKCJA 7 --- */
#section-7 {
    --bg-section: rgb(231, 232, 233);
    --text-main: #444444;
    --text-heading: #111111;
    --border-color: rgba(0, 0, 0, 0.12);

    background-color: var(--bg-section);
    min-height: 35rem;
    display: flex;
    align-items: center;
}

#section-7 .contact-split {
    width: 100%;
    max-width: 70rem;
    margin-inline: auto;
    display: grid;
    grid-template-columns: 0.9fr 1.1fr;
    gap: 4.375rem;
    align-items: start;
}

#section-7 h2 {
    color: var(--text-heading);
    font-size: clamp(1.75rem, 4vw, 2.5rem);
    line-height: 1.1;
    margin-bottom: 0.875rem;
}

#section-7 p {
    color: var(--text-main);
    max-width: 37.5rem;
    line-height: 1.6;
}

#section-7 .contact-hints {
    list-style: none;
    padding: 0;
    margin: 1.75rem 0 0;
    display: grid;
    gap: 0.625rem;
}

#section-7 .contact-hints li {
    position: relative;
    padding-left: 1.5rem;
    color: #555555;
    font-size: 0.98rem;
}

#section-7 .contact-hints li::before {
    content: "+";
    position: absolute;
    left: 0;
    top: 0;
    color: var(--accent-dark);
    font-weight: 700;
}

#section-7 .contact-form {
    display: grid;
    gap: 1.125rem;
}

#section-7 .contact-form label {
    display: grid;
    gap: 0.5rem;
    font-size: 0.85rem;
    font-weight: 700;
    color: #333333;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

#section-7 .contact-form input,
#section-7 .contact-form textarea,
#section-7 .contact-form select {
    width: 100%;
    padding: 0.875rem 1rem;
    border: 1px solid rgba(0, 0, 0, 0.18);
    background: #ffffff;
    color: #222222;
    font: inherit;
    border-radius: 2px;
}

#section-7 .contact-form textarea {
    min-height: 9.375rem;
    resize: vertical;
}

#section-7 .contact-form input:focus,
#section-7 .contact-form textarea:focus,
#section-7 .contact-form select:focus {
    outline: none;
    border-color: var(--accent);
    box-shadow: 0 0 0 3px rgba(220, 170, 120, 0.18);
}

/* ========================================= */
/* CHECKBOX I POLITYKA PRYWATNOŚCI W FORMULARZU */
/* ========================================= */

/* Zmiana selektora z label.form-check na div.form-check */
#section-7 .contact-form div.form-check {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem; 
    text-transform: none;
    letter-spacing: 0;
    font-weight: 500;
    color: #444444;
    line-height: 1.5;
}

#section-7 .contact-form div.form-check input[type="checkbox"] {
    /* Usuwamy "cień", czyli globalny padding i tło narzucone na pola tekstowe */
    padding: 0;
    background-color: transparent;
    
    /* Korekta w pionie - idealne zrównanie z pierwszą linią tekstu */
    margin-top: 0.2rem;
    
    width: 1.25rem;
    height: 1.25rem;
    flex-shrink: 0; 
    cursor: pointer;
    
    /* Resetujemy wygląd narzucany przez system (np. niebieski kwadrat w Windows) */
    appearance: none;
    -webkit-appearance: none;
    
    /* Dodajemy naszą pomarańczową obwódkę */
    border: 2px solid var(--accent); 
    border-radius: 3px;
    
    /* Ustawienie do wyśrodkowania ptaszka wewnątrz */
    display: grid;
    place-content: center;
    transition: background-color 0.2s ease, border-color 0.2s ease;
}

/* Stan ZAZNACZONY - wypełnia się kolorem akcentu */
#section-7 .contact-form div.form-check input[type="checkbox"]:checked {
    background-color: var(--accent);
}

/* Rysujemy własnego "ptaszka" (checkmark) w CSS */
#section-7 .contact-form div.form-check input[type="checkbox"]::before {
    content: "";
    width: 0.65rem;
    height: 0.65rem;
    transform: scale(0); /* Domyślnie ukryty */
    transition: transform 0.2s ease-in-out;
    background-color: #fff; /* Biały kolor ptaszka */
    /* Kształt V wycięty z kwadratu */
    clip-path: polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0%, 43% 62%);
}

/* Pojawienie się ptaszka po kliknięciu */
#section-7 .contact-form div.form-check input[type="checkbox"]:checked::before {
    transform: scale(1);
}

/* Resetujemy style dla tekstu wokół linku, by wyświetlał się normalnie, a kursor sugerował klikalność */
#section-7 .contact-form .text-label {
    display: inline; 
    font-weight: 500;
    text-transform: none;
    letter-spacing: 0;
    color: #444444;
    cursor: pointer; 
}

/* Nasz podnoszący się i zmieniający kolor link */
#section-7 .contact-form div.form-check a.form-privacy-link {
    display: inline-block;
    color: var(--accent-dark);
    font-weight: 500;
    transition: all 0.35s ease;
}

#section-7 .contact-form div.form-check a.form-privacy-link:hover {
    color: var(--bg-base);
    transform: translateY(-0.125rem);
}

#section-7 .contact-form .btn-primary {
    justify-self: start;
    background: rgb(210, 160, 110);
    border: 1px solid rgb(210, 160, 110);
    color: var(--bg-section);
    padding: 0.9375rem 2.125rem;
}

#section-7 .contact-form .btn-primary:hover {
    color: var(--bg-base);
}

#section-7 .contact-form label.form-check a.form-privacy-link {
    display: inline-block; /* Konieczne, żeby zadziałał efekt transform (uniesienie) */
    color: var(--accent); /* Kolorowe podświetlenie bazowe */
    font-weight: 700; /* Pogrubienie, by link odznaczał się w zdaniu */
    transition: all 0.35s ease; /* Płynne przejście zadeklarowane tak jak w reszcie strony */
}

#section-7 .contact-form label.form-check a.form-privacy-link:hover {
    color: var(--bg-base); /* Ciemny kolor przy najechaniu (jak w guziku "Sprawdź") */
    transform: translateY(-0.125rem); /* Efekt uniesienia (jak w "Przewiń w dół" i strzałkach) */
}
/* ========================================= */
/* 7. Footer                                 */
/* ========================================= */
footer {
    padding: 3.75rem 0;
    text-align: left;
    font-size: 0.85rem;
    background: var(--bg-header);
    border-top: 1px solid var(--accent);
    color: var(--accent);
}

.footer-links a {
    color: var(--accent);
    margin: 0 0.625rem;
}

.footer-links a:hover {
    color: var(--jasne_tlo);
}

/* ========================================= */
/* Media queries — RWD                       */
/* ========================================= */
@media (max-width: 1024px) {
        .hide-on-mobile {
        display: none !important;
    }

    .page-section,
    .service-section {
        scroll-margin-top: 0 !important;
    }

    :root {
        --spacing-section: clamp(3.125rem, 8vw, 5rem);
    }

    .container {
        padding-inline: 1.5rem;
    }

    header .container {
        width: 100%;
    }

    .grid-2 {
        grid-template-columns: 1fr;
        gap: 2rem;
    }

    .lead {
    line-height: 1.15; /* Nadpisujemy błędne 0.25 z PC */
        margin-bottom: 0.5rem;
    }

    #section-1 .hero-content-right {
        margin-top: 0;
        width: 100%;
        margin-left: 0;
    }

    #section-1 .hero-tag {
        font-size: 1.05rem; /* Trochę mniejszy font na smartfony */
        line-height: 1.1;
    }

    #section-1 h1 {
        font-size: 1.5rem; /* Trochę mniejszy font na smartfony */
        line-height: 1.1;
        margin-bottom: 1.5rem;
    }

    #section-1 .btn-primary {
        width: 50%;
        text-align: center;
        margin-top: 1.5rem; /* Odsunięcie od tekstu wyżej */
        padding: 1.125rem 1rem; /* Nieco wyższy padding dla łatwiejszego klikania */
    }

    #section-2 {
        padding: clamp(3.125rem, 8vw, 5rem) 1.25rem;
    }

    #section-2 .line-text-wrapper p {
    font-size: 0.9rem;

    }

    #section-2 .grid-2 {
        flex-direction: column;
        gap: 2rem;
    }

    #section-2 .offer-box,
    #section-2 .offer-box:nth-child(1),
    #section-2 .offer-box:nth-child(2) {
        width: 100%;
        max-width: 28.125rem;
        margin-inline: auto;
        transform: none;
    }

    #section-2 .line-text-wrapper {
        position: static;
        top: auto;
        left: auto;
        width: 100%;
        margin-top: 2rem;
    }

    #section-2-audyt,
    #section-2-dobor {
        padding: clamp(3.125rem, 8vw, 5rem) 0;
    }

    #section-2-audyt .service-grid,
    #section-2-dobor .service-grid {
        grid-template-columns: 1fr;
        gap: 2rem;
    }

    #section-3 .section-3-layout {
        flex-direction: column;
        align-items: stretch;
    }

    #section-3 .section-3-sidebar {
        width: 100%;
        position: static;
        top: auto;
        padding-right: 0;
        margin-bottom: 2rem;
    }

    #section-3 .section-3-content {
        width: 100%;
        padding-left: 0;
        border-left: none;
    }

    #section-4 .split-layout-100vw {
        flex-direction: column;
    }

    #section-4 .split-left,
    #section-4 .split-right {
        flex: 1 1 auto;
        width: 100%;
    }

    #section-4 .split-left {
        padding: 2rem 1.5rem;
        justify-content: center;
    }

    #section-4 .split-right {
        min-height: 20rem;
    }

    #section-6 .trust-list.about-cards {
        grid-template-columns: 1fr;
        gap: 2rem;
    }

    #section-7 .contact-split {
        grid-template-columns: 1fr;
        gap: 2rem;
    }
}

@media (max-width: 768px) {

    body {
        overflow-x: hidden;
    }

    :root {
        --spacing-section: clamp(2.5rem, 10vw, 3.75rem);
    }

    .container {
        padding-inline: 1.5rem;
    }

    header {
        padding: 1.25rem 0;
        transition: transform 0.35s ease-in-out;
    }

    header.header-hidden {
        transform: translateY(-100%);
    }
    
    .nav-flex {
        flex-direction: column;
        gap: 1rem;
    }

    .nav-links {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 0.75rem 1rem;
    }

    .nav-links a {
        margin-left: 0;
    }

    #section-1 {
        padding-inline: 1.5rem;
    }
    
    #section-1 .section-content {
        bottom: 4rem;
    }

    #section-1 .hero-watermark {
        display: none;
    }

    #section-1 .scroll-down-wrapper {
        bottom: 4rem;
        left: 51%;
        right: auto;
        transform: translateX(-50%);
    }

    #section-1 .hero-stats {
        flex-wrap: wrap;
        gap: 1.5rem;
    }

    #section-2 {
        padding: clamp(2.5rem, 8vw, 3.75rem) 1.25rem;
        min-height: auto; /* Zdejmujemy sztywne 31.25rem wysykości */
        padding-bottom: 2rem;
    }
    
    #section-2 .section-content::after {
        display: none;
    }

    #section-2 .offer-box {
        max-width: 100%;
    }

        #section-2 .line-text-wrapper {
        font-size: 1.05rem;
        position: static;
        top: auto;
        left: auto;
        width: 100%;
        margin-top: 2rem;
    }

    #section-2-audyt,
    #section-2-dobor {
        padding: clamp(2.5rem, 8vw, 3.75rem) 0;
    }

    #section-2-audyt .service-slider-box,
    #section-2-dobor .service-slider-box {
        height: 20rem;
    }

    #section-3 .case-article:first-child {
        margin-top: 20vh;
    }

    #section-3 .case-article:last-child {
        margin-bottom: 40vh;
    }

    #section-3 .case-article {
        margin-bottom: 30vh;
    }

    #section-3 .matrix-grid {
        grid-template-columns: 1fr;
        gap: 1rem;
    }

    #section-3 .matrix-num {
        font-size: clamp(2rem, 10vw, 4rem);
    }

    #section-3 .case-article h3 {
        font-size: 1.5rem;
    }

    #section-3 .case-article p {
        font-size: 1.1rem;
    }

    #section-3 #case-0 {
        max-width: 100%;
        text-align: center;
        margin-inline: auto;
    }

    #section-4 .split-left {
        padding: 2rem 1.25rem;
    }

    #section-4 .split-right {
        min-height: 15rem;
    }

    summary {
        padding: 1rem 1.25rem;
    }

    #section-5 .faq-container {
        padding-inline: 1.25rem;
    }

    #section-5 summary {
        font-size: 1.1rem;
    }

    #section-5 .faq-answer {
        font-size: 1rem;
    }

    #section-6 .about-full {
        padding-inline: 1.25rem;
    }

    #section-6 .about-cards li {
        min-height: auto;
    }

    #section-7 .contact-split {
        padding-inline: 1.25rem;
    }

    #section-7 .contact-form input,
    #section-7 .contact-form textarea,
    #section-7 .contact-form select {
        font-size: 1rem;
    }

    footer {
        padding: 2.5rem 1.25rem;
    }

    .footer-links {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 0.5rem 1rem;
    }

    .footer-links a {
        margin: 0;
    }
}
