
/* ZMIENNE I RESET */
:root {
    --primary: #000000;
    --accent: #238B38;
    --accent-light: #2ea844;
    --text: #333;
    --text-light: #666;
    --white: #ffffff;
    --gray-bg: #f8f9fa;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    min-width: 0;
    min-height: 0;
}

html {
    scroll-behavior: smooth;
    overflow-x: hidden;
}

body {
    font-family: 'Be Vietnam Pro', 'Acumin Pro', 'Segoe UI', -apple-system;
    color: var(--text);
    line-height: 1.2;
    overflow-x: hidden;
    max-width: 100vw;
}

img { max-width: 100%; height: auto; }
video:not(.hero-video) { max-width: 100%; height: auto; }

/* ====================== 2. NAWIGACJA ====================== */
nav {
    position: fixed;
    top: 0;
    width: 100%;
    background: rgba(26, 26, 26, 0.9);
    backdrop-filter: blur(10px);
    padding: min(20px, 3vw) clamp(20px, 6vw, 80px);
    display: flex;
    justify-content: space-between;
    align-items: center;
    z-index: 1000;
    transition: all 0.3s;
}
nav.scrolled { padding: min(15px, 2.5vw) clamp(20px, 6vw, 80px); box-shadow: 0 4px 20px rgba(0,0,0,0.2); }
nav.hidden { transform: translateY(-100%); }

.logo { flex-shrink: 0; max-width: 300px; width: 100%; }
.logo img { width: 100%; max-width: 350px; height: auto; }

.nav-menu { display: flex; gap: clamp(20px, 3vw, 40px); list-style: none; }
.nav-menu a {
    text-decoration: none;
    color: rgba(255, 255, 255, 0.9);
    font-size: clamp(11px, 1.2vw, 13px);
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    transition: all 0.3s;
    position: relative;
    white-space: nowrap;
}
.nav-menu > li > a::after {
    content: '';
    position: absolute;
    bottom: -5px; left: 0;
    width: 0; height: 2px;
    background: var(--accent);
    transition: width 0.3s;
}
.nav-menu > li > a:hover { color: var(--accent); }
.nav-menu > li > a:hover::after { width: 100%; }

.dropdown { position: relative; }
.dropdown-menu {
    position: absolute;
    top: calc(100% + 20px); left: -20px;
    min-width: 240px;
    background: rgba(26, 26, 26, 0.95);
    backdrop-filter: blur(20px);
    border-radius: 12px;
    padding: 12px;
    opacity: 0; visibility: hidden;
    transform: translateY(-10px);
    transition: all 0.3s;
    list-style: none;
    box-shadow: 0 10px 40px rgba(0,0,0,0.3);
    z-index: 10;
}
.dropdown:hover .dropdown-menu { opacity: 1; visibility: visible; transform: translateY(0); }
.dropdown-menu a {
    display: block;
    padding: 12px 20px;
    color: rgba(255, 255, 255, 0.75);
    border-radius: 8px;
    text-transform: none;
    letter-spacing: 0.5px;
}
.dropdown-menu a:hover { background: var(--accent); color: white; transform: translateX(5px); }

.nav-right { display: flex; align-items: center; gap: clamp(16px, 2vw, 24px); }

.language-switcher { position: relative; }
.lang-dropdown-btn {
    display: flex; align-items: center; gap: 10px;
    padding: 10px 18px;
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 8px;
    cursor: pointer;
    color: white;
    font-size: 12px; font-weight: 600;
    transition: all 0.3s;
}
.lang-dropdown-btn:hover { background: rgba(255, 255, 255, 0.15); transform: translateY(-2px); }
.flag-icon { width: 20px; height: 20px; border-radius: 50%; object-fit: cover; }
.lang-dropdown-menu {
    position: absolute;
    top: calc(100% + 10px); right: 0;
    min-width: 180px;
    background: rgba(26, 26, 26, 0.95);
    border-radius: 12px;
    padding: 12px;
    opacity: 0; visibility: hidden;
    transform: translateY(-10px);
    transition: all 0.3s;
    list-style: none;
    box-shadow: 0 10px 40px rgba(0,0,0,0.3);
    z-index: 10;
}
.language-switcher:hover .lang-dropdown-menu { opacity: 1; visibility: visible; transform: translateY(0); }
.lang-option {
    display: flex; align-items: center; gap: 12px;
    width: 100%; padding: 10px 16px;
    background: transparent; border: none; border-radius: 8px;
    cursor: pointer; color: rgba(255, 255, 255, 0.75);
    text-align: left; transition: all 0.3s;
}
.lang-option:hover { background: var(--accent); color: white; }
.lang-option.active { background: rgba(35, 139, 56, 0.2); color: var(--accent); }

.nav-cta {
    padding: 12px 28px;
    background: var(--accent);
    color: white;
    text-decoration: none;
    font-size: clamp(10px, 1.1vw, 12px);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    border-radius: 8px;
    transition: all 0.3s;
    box-shadow: 0 4px 15px rgba(35, 139, 56, 0.3);
    white-space: nowrap;
}
.nav-cta:hover { background: var(--accent-light); transform: translateY(-2px); box-shadow: 0 6px 20px rgba(35, 139, 56, 0.4); }

/* Hamburger */
.hamburger-btn {
    display: none;
    flex-direction: column;
    gap: 6px;
    background: transparent;
    border: none;
    cursor: pointer;
    padding: 8px;
    z-index: 1001;
    position: relative;
}
.hamburger-btn span { width: 28px; height: 3px; background: white; transition: all 0.3s ease; border-radius: 2px; }
.hamburger-btn.active span:nth-child(1) { transform: rotate(45deg) translate(8px, 8px); }
.hamburger-btn.active span:nth-child(2) { opacity: 0; }
.hamburger-btn.active span:nth-child(3) { transform: rotate(-45deg) translate(8px, -8px); }

/* ====================== 3. PRZYCISKI ====================== */
.btn-primary,
.btn-secondary {
    padding: clamp(12px, 2vw, 16px) clamp(30px, 4vw, 40px);
    text-decoration: none;
    font-weight: 700;
    text-transform: uppercase;
    font-size: clamp(10px, 1.2vw, 12px);
    letter-spacing: 2px;
    transition: all 0.3s;
    display: inline-block;
    border-radius: 8px;
    position: relative;
    overflow: hidden;
}
.btn-primary { background: var(--accent); color: white; border: 2px solid var(--accent); }
.btn-primary::before {
    content: '';
    position: absolute; top: 50%; left: 50%;
    width: 0; height: 0;
    background: rgba(255, 255, 255, 0.2);
    border-radius: 50%;
    transform: translate(-50%, -50%);
    transition: width 0.6s, height 0.6s;
}
.btn-primary:hover::before { width: 300px; height: 300px; }
.btn-primary:hover { transform: translateY(-3px); box-shadow: 0 10px 25px rgba(35, 139, 56, 0.4); }
.btn-secondary { background: transparent; color: white; border: 2px solid white; }
.btn-secondary:hover { background: white; color: var(--primary); transform: translateY(-3px); }
.btn-primary.light { background: white; color: var(--accent); border-color: white; }
.btn-primary.light:hover { background: transparent; color: white; box-shadow: 0 10px 30px rgba(255,255,255,0.2); }

/* ====================== 4. KOMPONENTY WSPÓLNE ====================== */

/* --- section-tag (jedna definicja; .light i :hover osobno) --- */
.section-tag {
    display: inline-block;
    font-size: clamp(11px, 1.5vw, 13px);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 2px;
    color: var(--accent);
    background: rgba(35, 139, 56, 0.1);
    padding: 8px 20px;
    border-radius: 20px;
    margin-bottom: clamp(16px, 3vw, 20px);
    transition: all 0.3s;
}
.section-tag:hover { transform: translateY(-3px); box-shadow: 0 4px 15px rgba(35, 139, 56, 0.2); }
.section-tag.light { color: var(--accent); border-color: var(--accent); background: rgba(35, 139, 56, 0.1); }

/* --- section-header --- */
.section-header {
    text-align: center;
    max-width: 800px;
    width: 100%;
    margin: 0 auto clamp(50px, 8vw, 80px);
    padding: 0 20px;
    opacity: 0;
    transform: translateY(30px);
    transition: all 0.8s ease;
}
.section-header.aos-animate { opacity: 1; transform: translateY(0); }
.section-header h2 {
    font-size: clamp(28px, 5vw, 48px);
    font-weight: 300;
    letter-spacing: 1px;
    line-height: 1.2;
    color: var(--primary);
    margin-bottom: 16px;
}
.section-header p {
    font-size: clamp(15px, 2vw, 18px);
    color: var(--text-light);
    line-height: 1.7;
    margin-bottom: clamp(16px, 2vw, 20px);
}

/* --- marquee partnerów --- */
.partners-section, .partners-showcase { background: white; padding: clamp(60px, 8vw, 80px) 0; overflow: hidden; }
.partners-showcase { background: var(--gray-bg); }
.partners-title {
    text-align: center;
    font-size: clamp(11px, 1.5vw, 14px);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 3px;
    color: var(--text);
    margin-bottom: clamp(40px, 6vw, 50px);
}
.marquee { overflow: hidden; padding: clamp(30px, 4vw, 40px) 0; }
.marquee-content { display: flex; width: fit-content; }
.marquee-item { flex: 0 0 auto; padding: 0 clamp(30px, 6vw, 60px); display: flex; align-items: center; }
.marquee-item img {
    max-width: clamp(70px, 12vw, 120px);
    height: clamp(35px, 6vw, 50px);
    object-fit: contain;
    opacity: 0.4;
    filter: grayscale(100%);
    transition: all 0.3s;
}
.marquee-item:hover img { opacity: 1; filter: grayscale(0%); transform: scale(1.15); }

/* --- cta-section (wspólna; final-cta to alias) --- */
.cta-section,
.final-cta {
    padding: clamp(40px, 12vw, 40px) clamp(20px, 6vw, 60px);
    background: linear-gradient(135deg, var(--primary) 0%, var(--accent) 100%);
    text-align: center;
    position: relative;
    overflow: hidden;
}
.cta-section::before, .final-cta::before {
    content: '';
    position: absolute; top: -50%; right: -10%;
    width: 500px; height: 500px;
    background: rgba(255,255,255,0.05);
    border-radius: 50%;
}
.cta-section::after, .final-cta::after {
    content: '';
    position: absolute; bottom: -50%; left: -10%;
    width: 600px; height: 600px;
    background: rgba(255,255,255,0.05);
    border-radius: 50%;
}
.cta-content, .final-cta-content { max-width: 700px; margin: 0 auto; position: relative; z-index: 1; }
.cta-content h2, .final-cta-content h2 {
    font-size: clamp(28px, 6vw, 52px);
    font-weight: 300;
    color: white;
    margin-bottom: clamp(20px, 3vw, 24px);
    letter-spacing: 1px;
}
.cta-content h3 {
    font-size: clamp(20px, 3vw, 28px);
    font-weight: 600;
    color: rgba(255,255,255,0.9);
    margin-bottom: clamp(30px, 5vw, 40px);
    font-family: 'Be Vietnam Pro', 'Acumin Pro', 'Segoe UI', -apple-system;
}
.cta-content p, .final-cta-content p {
    font-size: clamp(15px, 2.5vw, 20px);
    color: rgba(255,255,255,0.9);
    margin-bottom: clamp(30px, 5vw, 40px);
    line-height: 1.6;
}

/* --- footer (jedna definicja) --- */
footer {
    background: linear-gradient(135deg, #1a1a1a 0%, #2d2d2d 100%);
    color: #fff;
    padding: clamp(40px, 8vw, 80px) clamp(20px, 6vw, 60px) clamp(20px, 4vw, 40px);
    position: relative;
    overflow: hidden;
}
.footer-container { max-width: 1300px; margin: 0 auto; width: 100%; }
.footer-content {
    display: grid;
    grid-template-columns: 1.5fr 1fr 1fr 1fr;
    gap: clamp(30px, 5vw, 60px);
    margin-bottom: clamp(30px, 6vw, 50px);
}
.footer-brand { display: flex; flex-direction: column; gap: 20px; }
.footer-brand img { max-width: clamp(200px, 30vw, 300px); height: auto; filter: brightness(0) invert(1); }
.footer-brand p { font-size: clamp(13px, 1.6vw, 15px); line-height: 1.6; color: rgba(255, 255, 255, 0.7); }
.footer-column h3 {
    font-size: clamp(14px, 1.8vw, 16px);
    font-weight: 600;
    margin-bottom: 20px;
    color: #fff;
    text-transform: uppercase;
    letter-spacing: 1px;
    border-bottom: 2px solid #238B38;
    padding-bottom: 10px;
}
.footer-column ul { list-style: none; padding: 0; margin: 0; }
.footer-column ul li { margin-bottom: 12px; }
.footer-column ul li a {
    color: rgba(255, 255, 255, 0.7);
    text-decoration: none;
    font-size: clamp(13px, 1.6vw, 14px);
    transition: all 0.3s ease;
    display: inline-block;
}
.footer-column ul li a:hover { color: #238B38; transform: translateX(5px); }
.footer-bottom {
    text-align: center;
    padding-top: clamp(20px, 4vw, 30px);
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    font-size: clamp(12px, 1.5vw, 13px);
    color: rgba(255, 255, 255, 0.5);
}

/* ====================== 5. HERO ====================== */

/* Hero główne (wideo) */
.hero {
    position: relative;
    width: 100%;
    height: 100svh;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: flex-start;
}
.hero-video {
    position: absolute; inset: 0;
    width: 100%; height: 100%;
    min-width: 110%; min-height: 110%;
    object-fit: cover; display: block;
}
.hero-overlay { position: absolute; inset: 0; background: linear-gradient(to bottom, rgba(0,0,0,0.1), rgba(0,0,0,0.2)); }
.hero-content {
    position: relative; z-index: 2;
    text-align: left; color: white;
    max-width: 600px; width: 100%;
    padding: 0 clamp(20px, 6vw, 80px);
    will-change: transform, opacity;
}
.hero-logo {
    max-width: min(600px, 90vw);
    width: 100%; height: auto;
    margin: 0 auto clamp(30px, 5vw, 40px);
    animation: logoFloat 4s ease-in-out infinite;
    filter: drop-shadow(0 10px 30px rgba(35, 139, 56, 0.5));
}
.hero-title {
    font-size: clamp(28px, 4.5vw, 56px);
    font-weight: 700;
    color: white;
    line-height: 1.15;
    margin-bottom: clamp(16px, 2vw, 20px);
}
.hero p {
    font-size: clamp(13px, 1.6vw, 16px);
    margin-bottom: clamp(24px, 4vw, 36px);
    line-height: 1.7;
    opacity: 0;
    animation: fadeInUp 1s ease forwards 0.5s;
}
.hero-buttons {
    display: flex; gap: 16px; flex-wrap: wrap;
    align-items: center; justify-content: flex-start;
    opacity: 0; animation: fadeInUp 1s ease forwards 0.8s;
}

/* Forbes */
.forbes-badges {
    position: absolute; bottom: 50px; right: 32px;
    display: flex; align-items: center; gap: 60px;
    z-index: 10; opacity: 0;
    animation: fadeInUp 1s ease forwards 1.2s;
}
.forbes-badge-item {
    display: flex; flex-direction: column; align-items: center;
    gap: clamp(8px, 0vw, 60px);
    background: rgba(0, 0, 0, 0.25);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 10px;
    padding: 10px 14px;
    text-align: center;
    width: clamp(65px, 13vw, 200px);
}
.forbes-badge-label {
    color: #fff; font-size: 10px; font-weight: 600;
    letter-spacing: 0.5px; text-transform: uppercase;
    line-height: 1.3; max-width: 80px;
}
.forbes-badge-item img { width: clamp(72px, 10vw, 150px); height: auto; filter: brightness(0) invert(1); }
@media (max-width: 480px) { .forbes-badges { display: none; } }

/* Wskaźnik przewijania */
.scroll-indicator { position: absolute; bottom: 40px; left: 50%; transform: translateX(-50%); }
.scroll-indicator span {
    display: block; width: 24px; height: 40px;
    border: 2px solid rgba(255,255,255,0.5);
    border-radius: 12px; position: relative;
}
.scroll-indicator span::before {
    content: '';
    position: absolute; top: 8px; left: 50%;
    transform: translateX(-50%);
    width: 4px; height: 8px;
    background: white; border-radius: 2px;
    animation: scroll 2s infinite;
}

/* Hero podstron — wspólna baza dla wszystkich nagłówków sekcji */
.process-hero,
.about-hero,
.story-hero,
.references-hero,
.certificates-hero,
.contact-hero {
    position: relative;
    height: 50vh;
    min-height: clamp(400px, 60vh, 500px);
    display: flex;
    align-items: center;
    justify-content: flex-start;
    text-align: center;
    overflow: hidden;
    background-color: #238B38;
}
/* Drobne różnice wysokości */
.about-hero, .contact-hero { min-height: clamp(500px, 60vh, 600px); }
.certificates-hero { height: 55vh; min-height: clamp(400px, 55vh, 500px); }

.process-hero .hero-image,
.about-hero .hero-image,
.story-hero .hero-image,
.references-hero .hero-image,
.certificates-hero .hero-image,
.contact-hero .hero-image {
    position: absolute; inset: 0;
    width: 100%; height: 100%;
    object-fit: cover; z-index: 0;
}
.story-hero .hero-image { height: 140%; }
.process-hero .hero-image { object-position: center 40%; }

/* Overlay hero podstron */
.process-hero .hero-overlay,
.about-hero .hero-overlay,
.story-hero .hero-overlay,
.references-hero .hero-overlay,
.contact-hero .hero-overlay {
    position: absolute; inset: 0; z-index: 1;
    background: linear-gradient(135deg, rgba(35, 139, 56, 0.283) 0%, rgba(46, 168, 68, 0.85) 100%);
}
.certificates-hero .hero-overlay {
    position: absolute; inset: 0; z-index: 1;
    background: linear-gradient(135deg, rgba(35, 139, 56, 0.75) 0%, rgba(46, 168, 68, 0.85) 100%);
}
.about-hero .hero-overlay::after,
.story-hero .hero-overlay::after {
    content: '';
    position: absolute; inset: 0;
    background: radial-gradient(circle at center, transparent 0%, rgba(0,0,0,0.2) 100%);
}

/* Treść hero podstron */
.process-hero-content,
.about-hero-content,
.references-hero-content,
.certificates-hero-content,
.contact-hero-content,
.hero-content-minimal {
    max-width: 900px;
    width: 100%;
    margin: 0;
    position: relative;
    z-index: 2;
    text-align: left;
    padding-left: clamp(20px, 6vw, 80px);
}
.hero-content-minimal { max-width: 1100px; }

.process-hero h1, .references-hero h1, .certificates-hero h1 { font-size: clamp(36px, 8vw, 64px); }
.about-hero h1 { font-size: clamp(36px, 9vw, 72px); text-transform: uppercase; }
.story-hero h1 { font-size: clamp(40px, 8vw, 72px); }
.contact-hero h1 { font-size: clamp(32px, 7vw, 56px); }
.process-hero h1, .about-hero h1, .story-hero h1, .references-hero h1, .certificates-hero h1, .contact-hero h1 {
    font-weight: 300;
    color: white;
    margin-bottom: clamp(16px, 3vw, 24px);
    letter-spacing: 2px;
    line-height: 1.2;
}
.process-hero p, .references-hero p, .certificates-hero p { font-size: clamp(16px, 2.5vw, 22px); }
.about-hero p { font-size: clamp(16px, 3vw, 24px); }
.story-hero p { font-size: clamp(17px, 2.5vw, 22px); font-weight: 300; }
.contact-hero p { font-size: clamp(15px, 2.5vw, 20px); }
.process-hero p, .about-hero p, .story-hero p, .references-hero p, .certificates-hero p, .contact-hero p {
    color: rgba(255,255,255,0.95);
    line-height: 1.6;
}

.hero-label {
    display: inline-block;
    font-size: clamp(11px, 1.3vw, 13px);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 3px;
    color: var(--accent);
    margin-bottom: 30px;
    padding: 10px 25px;
    border: 2px solid var(--accent);
    border-radius: 30px;
}

/* ====================== 6. STRONA GŁÓWNA — O firmie / quality ====================== */
.quality { padding: clamp(60px, 12vw, 120px) clamp(20px, 6vw, 60px); background: white; }
.quality-content {
    max-width: 700px;
    margin: 0 auto;
    padding: 0 clamp(50px, 5vw, 50px);
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(400px, 100%), 1fr));
    gap: clamp(50px, 8vw, 80px);
    align-items: center;
    opacity: 0;
    transform: translateY(50px);
    transition: all 0.8s ease;
}
.quality-content.aos-animate { opacity: 1; transform: translateY(0); }
.quality-text { max-width: 600px; margin: 0 auto; }
.quality-text h2 { font-size: clamp(20px, 5vw, 40px); font-weight: 300; margin-bottom: 30px; text-transform: uppercase; }
.quality-text p { font-size: clamp(14px, 1.8vw, 16px); color: var(--text-light); line-height: 1.9; margin-bottom: 24px; }
.quality-text .btn-primary { margin-top: 30px; }
.quality-image {
    width: 100%; max-width: 800px;
    height: clamp(250px, 50vw, 500px);
    overflow: hidden; border-radius: 16px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.15);
    margin: 0 auto;
}
.quality-image img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.8s; }
.quality-image:hover img { transform: scale(1.10); }

/* Statystyki (czarna sekcja) */
.stats {
    padding: clamp(60px, 12vw, 60px) clamp(20px, 6vw, 60px);
    background: #1a1a1a; color: white;
    position: relative; overflow: hidden;
}
.stats::before {
    content: '';
    position: absolute; top: -50%; right: -50%;
    width: 100%; height: 100%;
    background: radial-gradient(circle, rgba(35, 139, 56, 0.1) 0%, transparent 70%);
    animation: rotate 20s linear infinite;
}
.stats-container { position: relative; z-index: 1; }
.stats-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: clamp(25px, 4vw, 40px);
    margin: clamp(50px, 8vw, 60px) auto 0;
    max-width: 1400px;
}
.stat-item {
    text-align: center;
    padding: clamp(25px, 4vw, 40px) clamp(20px, 3vw, 30px);
    background: rgba(255,255,255,0.05);
    border-radius: 16px;
    border: 1px solid rgba(255,255,255,0.1);
    transition: all 0.4s;
    overflow: hidden;
}
.stat-item:hover { transform: translateY(-15px); background: rgba(255,255,255,0.08); border-color: var(--accent); box-shadow: 0 15px 40px rgba(35, 139, 56, 0.3); }
.stat-number {
    font-size: clamp(22px, 3.8vw, 50px);
    font-weight: 200;
    color: var(--accent);
    display: block;
    margin-bottom: 12px;
    word-break: break-word;
    overflow-wrap: break-word;
    line-height: 1.1;
    white-space: nowrap;
}
.stat-item h3 { font-size: clamp(14px, 2vw, 18px); font-weight: 700; margin-bottom: 8px; }
.stat-item p { font-size: clamp(12px, 1.5vw, 14px); opacity: 0.7; }
.stats .section-header h2 { color: #fff; }

/* ====================== 7. KARTY USŁUG ====================== */

/* Duże karty (services-large) */
.services-large {
    padding: clamp(60px, 10vw, 100px) clamp(20px, 6vw, 60px);
    max-width: 1400px; margin: 0 auto; background: white;
}
.large-card {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(300px, 100%), 1fr));
    gap: 0;
    margin-bottom: clamp(40px, 6vw, 60px);
    background: #1a1a1a;
    overflow: hidden;
    border-radius: 16px;
    box-shadow: 0 8px 16px rgba(0,0,0,0.1);
    opacity: 0;
    transform: translateX(-100px);
    transition: all 0.8s;
}
.large-card:nth-child(even) { transform: translateX(100px); }
.large-card.aos-animate { opacity: 1; transform: translateX(0); }
.large-card:hover { box-shadow: 0 20px 50px rgba(0,0,0,0.2); transform: translateY(-10px) !important; }

.card-image { position: relative; min-height: clamp(200px, 40vw, 400px); overflow: hidden; }
.card-image::before {
    content: ''; position: absolute; inset: 0;
    background: var(--accent); opacity: 0;
    transition: opacity 0.5s; z-index: 1;
}
.large-card:hover .card-image::before { opacity: 0.2; }
.card-image img {
    width: 100%; height: 100%;
    min-height: clamp(200px, 40vw, 500px);
    object-fit: cover; transition: transform 0.8s;
}
.large-card:hover .card-image img { transform: scale(1.15); }

.card-content { padding: clamp(30px, 6vw, 60px); display: flex; flex-direction: column; justify-content: center; position: relative; }
.card-content::before {
    content: '';
    position: absolute; left: 0; top: 50%;
    width: 4px; height: 0;
    background: var(--accent);
    transform: translateY(-50%);
    transition: height 0.5s;
}
.large-card:hover .card-content::before { height: 80%; }
.card-tag {
    display: inline-block;
    font-size: clamp(8px, 1vw, 10px);
    font-weight: 700; text-transform: uppercase; letter-spacing: 2px;
    color: var(--accent);
    margin-bottom: 20px;
    padding: 6px 16px;
    border: 2px solid var(--accent);
    border-radius: 20px;
    width: fit-content;
    transition: all 0.3s;
}
.large-card:hover .card-tag { transform: translateY(-5px); box-shadow: 0 5px 15px rgba(35, 139, 56, 0.3); }
.card-content h3 { font-size: clamp(20px, 3.5vw, 32px); font-weight: 400; color: white; margin-bottom: 20px; text-transform: uppercase; }
.card-content p { font-size: clamp(13px, 1.8vw, 16px); line-height: 1.8; color: rgba(255,255,255,0.7); margin-bottom: 30px; }
.card-btn {
    display: inline-flex; align-items: center; gap: 10px;
    padding: 14px 32px;
    background: var(--accent); color: white;
    text-decoration: none;
    font-size: clamp(9px, 1.1vw, 11px);
    font-weight: 700; text-transform: uppercase; letter-spacing: 2px;
    transition: all 0.3s; width: fit-content; border-radius: 8px;
}
.card-btn:hover { background: var(--accent-light); transform: translateX(10px); box-shadow: 0 5px 20px rgba(35, 139, 56, 0.4); }

/* services-cta-section */
.services-cta-section {
    margin-top: clamp(40px, 6vw, 60px);
    padding: clamp(40px, 6vw, 60px) clamp(30px, 5vw, 50px);
    background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
    border-radius: 16px;
    text-align: center;
    position: relative;
    overflow: hidden;
}
.services-cta-content { max-width: 800px; margin: 0 auto; position: relative; z-index: 1; opacity: 0; transform: translateY(30px); transition: all 0.8s ease; }
.services-cta-content.aos-animate { opacity: 1; transform: translateY(0); }
.services-cta-content h3 { font-size: clamp(24px, 4vw, 36px); font-weight: 400; color: var(--primary); margin-bottom: 16px; }
.services-cta-content p { font-size: clamp(14px, 2vw, 18px); color: var(--text-light); margin-bottom: 30px; line-height: 1.6; }
.services-cta-content .btn-primary { display: inline-flex; align-items: center; gap: 10px; }
.services-cta-content .arrow { transition: transform 0.3s; }
.services-cta-content .btn-primary:hover .arrow { transform: translateX(5px); }

/* Małe karty „dlaczego" (services-grid / why-grid) */
.services { padding: clamp(60px, 12vw, 60px) clamp(20px, 6vw, 60px); background: white; }
.services-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(320px, 100%), 1fr));
    gap: clamp(25px, 4vw, 40px);
    max-width: 1300px; margin: 0 auto;
}
.service-card {
    padding: clamp(40px, 6vw, 60px) clamp(30px, 4vw, 40px);
    background: white; text-align: center;
    transition: all 0.4s; border-radius: 16px;
    border: 1px solid #e0e0e0;
    box-shadow: 0 4px 6px rgba(0,0,0,0.05);
    opacity: 0; transform: translateY(50px);
}
.service-card.aos-animate { opacity: 1; transform: translateY(0); }
.service-card:hover { transform: translateY(-15px) scale(1.02); box-shadow: 0 20px 40px rgba(0,0,0,0.15); border-color: var(--accent); }
.service-icon { width: clamp(60px, 8vw, 80px); height: clamp(60px, 8vw, 80px); margin: 0 auto clamp(25px, 3vw, 30px); border-radius: 50%; overflow: hidden; transition: transform 0.3s; }
.service-card:hover .service-icon { transform: scale(1.1) rotate(5deg); }
.service-icon img { width: 100%; height: 100%; object-fit: cover; }
.service-card h3 { font-size: clamp(18px, 2.5vw, 22px); margin-bottom: 16px; font-weight: 700; color: var(--primary); }
.service-card p { color: var(--text-light); font-size: clamp(13px, 1.5vw, 15px); line-height: 1.8; }
.service-card:nth-child(1) { transition-delay: 0.1s; }
.service-card:nth-child(2) { transition-delay: 0.2s; }
.service-card:nth-child(3) { transition-delay: 0.3s; }

/* why-us-section / why-grid (strona główna + jakdzialamy) */
.why-us-section { padding: clamp(10px, 2vw, 100px) clamp(20px, 6vw, 60px); background: var(--gray-bg); }
.why-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(320px, 100%), 1fr));
    gap: clamp(30px, 4vw, 40px);
    max-width: 1400px; margin: clamp(40px, 8vw, 60px) auto 0;
}
.why-card {
    background: white;
    padding: clamp(36px, 5vw, 48px) clamp(30px, 4vw, 40px);
    border-radius: 16px;
    transition: all 0.4s ease;
    border: 1px solid #e0e0e0;
    box-shadow: 0 4px 12px rgba(0,0,0,0.05);
    opacity: 0; transform: translateY(30px);
}
.why-card.aos-animate { opacity: 1; transform: translateY(0); }
.why-card:hover { transform: translateY(-8px); box-shadow: 0 20px 40px rgba(0,0,0,0.1); border-color: var(--accent); }
.why-card h3 { font-size: clamp(16px, 2.5vw, 20px); font-weight: 700; margin-bottom: 16px; color: var(--primary); display: flex; align-items: center; gap: 12px; }
.why-card p { font-size: clamp(13px, 1.8vw, 15px); color: var(--text-light); line-height: 1.8; }

/* ====================== 8. SEKCJE STRON USŁUG ====================== */
.service-intro { padding: clamp(60px, 10vw, 100px) clamp(20px, 6vw, 60px); background: white; }

.service-content { padding: clamp(60px, 10vw, 100px) clamp(20px, 6vw, 60px); background: var(--gray-bg); }
.service-content.white { background: white; }
.content-container { max-width: 1400px; margin: 0 auto; }
.content-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(300px, 100%), 1fr));
    gap: clamp(30px, 4vw, 40px);
    margin-top: clamp(50px, 8vw, 70px);
}
.content-card {
    background: white; border-radius: 20px;
    padding: clamp(36px, 5vw, 48px) clamp(30px, 4vw, 40px);
    box-shadow: 0 10px 30px rgba(0,0,0,0.08);
    border: 2px solid #e0e0e0;
    transition: all 0.4s ease;
    position: relative; overflow: hidden;
    opacity: 0; transform: translateY(30px);
}
.content-card.aos-animate { opacity: 1; transform: translateY(0); }
.content-card:nth-child(1) { transition-delay: 0.1s; }
.content-card:nth-child(2) { transition-delay: 0.2s; }
.content-card:nth-child(3) { transition-delay: 0.3s; }
.content-card:nth-child(4) { transition-delay: 0.4s; }
.content-card::before {
    content: '';
    position: absolute; top: 0; left: 0; right: 0;
    height: 5px;
    background: linear-gradient(90deg, var(--accent) 0%, var(--accent-light) 100%);
    transform: scaleX(0); transform-origin: left;
    transition: transform 0.6s ease;
}
.content-card:hover::before { transform: scaleX(1); }
.content-card:hover { transform: translateY(-10px); box-shadow: 0 20px 50px rgba(35, 139, 56, 0.15); border-color: var(--accent); }
.content-card h3 { font-size: clamp(18px, 2.5vw, 22px); font-weight: 700; color: var(--primary); margin-bottom: 16px; }
.content-card p { font-size: clamp(14px, 1.8vw, 16px); color: var(--text-light); line-height: 1.8; margin: 0; }
.content-card ul { list-style: none; padding: 0; margin: clamp(16px, 3vw, 20px) 0 0; }
.content-card li { font-size: clamp(14px, 1.8vw, 16px); color: var(--text-light); padding: 10px 0; border-bottom: 1px solid #e0e0e0; }
.content-card li:last-child { border-bottom: none; }
.content-card li::before { content: "✓ "; color: var(--accent); font-weight: 700; margin-right: 8px; }

.card-icon { font-size: clamp(40px, 6vw, 52px); margin-bottom: clamp(20px, 3vw, 24px); display: block; }

/* numbered-list */
.numbered-list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(350px, 100%), 1fr));
    gap: clamp(24px, 4vw, 32px);
    margin-top: clamp(50px, 8vw, 70px);
}
.numbered-item {
    background: white; padding: clamp(30px, 4vw, 40px);
    border-radius: 16px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.08);
    border: 2px solid #e0e0e0;
    display: flex; gap: clamp(20px, 3vw, 24px); align-items: flex-start;
    transition: all 0.4s ease;
    opacity: 0; transform: translateX(-30px);
}
.numbered-item.aos-animate { opacity: 1; transform: translateX(0); }
.numbered-item:nth-child(1) { transition-delay: 0.1s; }
.numbered-item:nth-child(2) { transition-delay: 0.2s; }
.numbered-item:nth-child(3) { transition-delay: 0.3s; }
.numbered-item:nth-child(4) { transition-delay: 0.4s; }
.numbered-item:nth-child(5) { transition-delay: 0.5s; }
.numbered-item:nth-child(6) { transition-delay: 0.6s; }
.numbered-item:hover { transform: translateX(10px); border-color: var(--accent); box-shadow: 0 15px 40px rgba(35, 139, 56, 0.15); }
.item-number {
    font-size: clamp(20px, 3vw, 28px); font-weight: 700;
    color: var(--accent); background: rgba(35, 139, 56, 0.1);
    width: clamp(50px, 8vw, 60px); height: clamp(50px, 8vw, 60px);
    border-radius: 50%; display: flex; align-items: center; justify-content: center;
    flex-shrink: 0;
}
.item-content h3 { font-size: clamp(18px, 2.5vw, 22px); font-weight: 700; color: var(--primary); margin-bottom: 10px; }
.item-content p { font-size: clamp(14px, 1.8vw, 16px); color: var(--text-light); line-height: 1.8; margin: 0; }

/* process (kroki) */
.service-process { padding: clamp(60px, 10vw, 100px) clamp(20px, 6vw, 60px); background: white; }
.process-container { max-width: 1400px; margin: 0 auto; }
.process-grid {
    display: flex; align-items: center; justify-content: center;
    gap: clamp(15px, 3vw, 20px); flex-wrap: wrap;
    margin-top: clamp(50px, 8vw, 70px);
}
.process-card {
    flex: 1; min-width: 180px; max-width: 250px;
    text-align: center;
    padding: clamp(30px, 4vw, 40px) clamp(20px, 3vw, 30px);
    background: var(--gray-bg);
    border-radius: 16px;
    transition: all 0.4s ease;
    border: 2px solid transparent;
    opacity: 0; transform: scale(0.9);
}
.process-card.aos-animate { opacity: 1; transform: scale(1); }
.process-card:nth-child(1) { transition-delay: 0.1s; }
.process-card:nth-child(3) { transition-delay: 0.2s; }
.process-card:nth-child(5) { transition-delay: 0.3s; }
.process-card:nth-child(7) { transition-delay: 0.4s; }
.process-card:nth-child(9) { transition-delay: 0.5s; }
.process-card:hover { transform: translateY(-10px) scale(1); background: white; border-color: var(--accent); box-shadow: 0 20px 40px rgba(35, 139, 56, 0.15); }
.process-number {
    width: clamp(50px, 8vw, 60px); height: clamp(50px, 8vw, 60px);
    background: var(--accent); color: white; border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    font-size: clamp(20px, 3vw, 24px); font-weight: 700;
    margin: 0 auto clamp(16px, 3vw, 20px);
}
.process-card h3 { font-size: clamp(16px, 2vw, 18px); font-weight: 700; color: var(--primary); margin-bottom: 12px; }
.process-card p { font-size: clamp(13px, 1.6vw, 14px); color: var(--text-light); line-height: 1.6; margin: 0; }
.process-arrow { font-size: clamp(24px, 4vw, 32px); color: var(--accent); font-weight: 700; flex-shrink: 0; }

/* benefits */
.service-benefits { padding: clamp(60px, 10vw, 100px) clamp(20px, 6vw, 60px); background: var(--gray-bg); }
.benefits-container { max-width: 1400px; margin: 0 auto; }
.benefits-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(280px, 100%), 1fr));
    gap: clamp(30px, 4vw, 40px);
    margin-top: clamp(50px, 8vw, 70px);
    align-items: start;
}
.benefit-card {
    background: white; padding: clamp(36px, 5vw, 48px) clamp(30px, 4vw, 40px);
    border-radius: 16px; transition: all 0.4s ease;
    border: 2px solid transparent; text-align: center;
    opacity: 0; transform: translateY(30px);
    display: flex; flex-direction: column; align-items: center;
}
.benefit-card.aos-animate { opacity: 1; transform: translateY(0); }
.benefit-card:nth-child(1) { transition-delay: 0.1s; }
.benefit-card:nth-child(2) { transition-delay: 0.2s; }
.benefit-card:nth-child(3) { transition-delay: 0.3s; }
.benefit-card:nth-child(4) { transition-delay: 0.4s; }
.benefit-card:hover { transform: translateY(-8px); border-color: var(--accent); box-shadow: 0 20px 40px rgba(35, 139, 56, 0.15); }
.benefit-icon, .benefit-card .benefit-icon {
    font-size: clamp(40px, 6vw, 52px);
    margin-bottom: clamp(20px, 3vw, 24px);
    display: block;
    background: none; border-radius: 0; padding: 0; box-shadow: none;
    width: auto; height: auto;
}
.benefit-card h3 { font-size: clamp(18px, 2.5vw, 22px); font-weight: 700; margin-bottom: 16px; color: var(--primary); }
.benefit-card p { font-size: clamp(14px, 1.8vw, 16px); color: var(--text-light); line-height: 1.8; margin: 0; }

/* stats-section (zielona — logistyka zwrotna) */
.stats-section { padding: clamp(60px, 10vw, 80px) clamp(20px, 6vw, 60px); background: linear-gradient(135deg, var(--primary) 0%, var(--accent) 100%); color: white; }
.stats-section .stats-grid {
    max-width: 1200px; margin: 0 auto;
    display: grid; grid-template-columns: repeat(auto-fit, minmax(min(200px, 100%), 1fr));
    gap: clamp(30px, 5vw, 40px);
}
.stat-box {
    text-align: center;
    padding: clamp(30px, 4vw, 40px) clamp(20px, 3vw, 30px);
    background: rgba(255,255,255,0.1);
    border-radius: 16px;
    backdrop-filter: blur(10px);
    transition: all 0.3s ease;
}
.stat-box:hover { background: rgba(255,255,255,0.15); transform: translateY(-8px); }
.stat-box .stat-number { display: block; font-size: clamp(40px, 8vw, 60px); font-weight: 700; line-height: 1; margin-bottom: 12px; color: white; white-space: normal; }
.stat-box .stat-label { font-size: clamp(13px, 1.8vw, 16px); opacity: 0.95; font-weight: 500; }

/* comparison-section (magazynowanie) */
.comparison-section { padding: clamp(60px, 10vw, 100px) clamp(20px, 6vw, 60px); background: white; }
.comparison-grid {
    max-width: 1200px; margin: clamp(50px, 8vw, 70px) auto 0;
    display: grid; grid-template-columns: repeat(auto-fit, minmax(min(450px, 100%), 1fr));
    gap: clamp(30px, 5vw, 40px);
}
.comparison-col { border-radius: 20px; overflow: hidden; box-shadow: 0 10px 30px rgba(0,0,0,0.1); transition: all 0.4s ease; }
.comparison-col:hover { transform: translateY(-8px); }
.col-header { padding: clamp(30px, 4vw, 40px); text-align: center; }
.comparison-col.negative .col-header { background: linear-gradient(135deg, #6c757d 0%, #495057 100%); }
.comparison-col.positive .col-header { background: linear-gradient(135deg, var(--primary) 0%, var(--accent) 100%); }
.col-header h3 { font-size: clamp(22px, 4vw, 28px); font-weight: 700; color: white; margin: 0; }
.col-items { background: white; padding: clamp(30px, 4vw, 40px); }
.comp-item { display: flex; gap: clamp(12px, 2vw, 16px); align-items: flex-start; padding: clamp(16px, 3vw, 20px) 0; border-bottom: 1px solid #e0e0e0; }
.comp-item:last-child { border-bottom: none; }
.comp-item .icon { font-size: clamp(20px, 3vw, 24px); font-weight: 700; flex-shrink: 0; }
.comp-item.negative .icon { color: #dc3545; }
.comp-item.positive .icon { color: var(--accent); }
.comp-item p { font-size: clamp(14px, 1.8vw, 16px); color: var(--text-light); line-height: 1.7; margin: 0; }

/* service-link (uslugi.html) */
.service-link { text-decoration: none; display: block; color: inherit; }
.service-link .read-more { display: inline-block; margin-top: 16px; font-size: 14px; font-weight: 600; color: var(--accent); transition: transform 0.3s ease; }
.service-link:hover .read-more { transform: translateX(5px); }

/* ====================== 9. CYTAT (strona główna) ====================== */
.quote-section { padding: clamp(60px, 12vw, 60px) clamp(20px, 6vw, 60px); background: linear-gradient(135deg, #00801a 0%, #ababab 100%); position: relative; overflow: hidden; }
.quote-section::before { content: ''; position: absolute; top: -100px; left: -100px; width: 400px; height: 400px; background: radial-gradient(circle, rgba(255,255,255,0.1) 0%, transparent 70%); border-radius: 50%; }
.quote-container {
    max-width: 1300px; margin: 0 auto;
    display: grid; grid-template-columns: 1fr 1.5fr;
    gap: clamp(40px, 8vw, 80px); align-items: center;
    position: relative; z-index: 1;
    opacity: 0; transform: translateY(50px);
    transition: all 2.0s ease;
}
.quote-container.aos-animate { opacity: 1; transform: translateY(0); }
.quote-image { position: relative; width: 100%; max-width: 400px; margin: 0 auto; }
.quote-image img { width: 100%; height: auto; border-radius: 8px; box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3); }
.quote-content { color: white; }
.quote-mark { font-size: clamp(60px, 10vw, 120px); font-family: Georgia, serif; color: rgba(255, 255, 255, 0.2); line-height: 0.8; margin-bottom: 20px; }
.quote-text { font-size: clamp(18px, 3vw, 28px); font-weight: 300; line-height: 1.5; margin-bottom: 24px; color: white; }
.quote-subtext { font-size: clamp(14px, 2vw, 18px); line-height: 1.7; color: rgba(255, 255, 255, 0.85); margin-bottom: 40px; }
.quote-divider { width: 60px; height: 3px; background: #dc2626; margin-bottom: 30px; }
.quote-author h4 { font-size: clamp(20px, 3vw, 28px); font-weight: 600; margin-bottom: 8px; display: flex; align-items: center; gap: 10px; }
.verified-badge { display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; background: #3b82f6; color: white; border-radius: 50%; font-size: 14px; font-weight: 700; }
.author-title { font-size: clamp(14px, 2vw, 16px); color: rgba(255, 255, 255, 0.7); margin-bottom: 20px; letter-spacing: 0.5px; }
.signature { max-width: 150px; height: auto; filter: brightness(0) invert(1); opacity: 0.8; }

/* ====================== 10. NAGRODY ====================== */
.awards-section { padding: clamp(60px, 12vw, 120px) clamp(20px, 6vw, 60px); background: linear-gradient(to bottom, #f9fafb 0%, #ffffff 100%); position: relative; }
.awards-container { max-width: 1300px; margin: 0 auto; }
.awards-content { margin-top: clamp(40px, 6vw, 60px); opacity: 0; transform: translateY(30px); transition: all 0.6s ease; }
.awards-content.aos-animate { opacity: 1; transform: translateY(0); }
.awards-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(200px, 100%), 1fr));
    gap: clamp(30px, 5vw, 50px);
    margin-bottom: clamp(50px, 8vw, 80px);
}
.award-item {
    text-align: center;
    padding: clamp(30px, 5vw, 40px) clamp(20px, 3vw, 30px);
    background: white; border-radius: 16px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06);
    border: 1px solid rgba(0, 0, 0, 0.05);
    opacity: 0; transform: translateY(30px) scale(0.9);
    transition: all 0.5s ease;
}
.award-item.aos-animate { opacity: 1; transform: translateY(0) scale(1); }
.award-item:nth-child(1) { transition-delay: 0.3s; }
.award-item:nth-child(2) { transition-delay: 0.4s; }
.award-item:nth-child(3) { transition-delay: 0.5s; }
.award-item:nth-child(4) { transition-delay: 0.6s; }
.award-item:nth-child(1) .award-icon { width: clamp(130px, 20vw, 200px); height: clamp(130px, 20vw, 200px); }
.award-item-text { display: flex; flex-direction: row; align-items: center; justify-content: center; gap: 8px; }
.award-icon {
    width: clamp(130px, 20vw, 200px); height: clamp(130px, 20vw, 200px);
    margin: 0 auto clamp(20px, 3vw, 30px);
    display: flex; align-items: center; justify-content: center;
    background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
    border-radius: 12px; padding: 20px;
}
.award-icon img { width: 100%; height: 100%; object-fit: contain; }
.award-item h4 { font-size: clamp(12px, 1.5vw, 16px); font-weight: 600; color: var(--primary); margin-bottom: 0; text-transform: uppercase; letter-spacing: 0.5px; }
.award-year { font-size: clamp(12px, 4vw, 16px); font-weight: 700; color: var(--primary); margin: 0; }
.awards-description {
    text-align: center; max-width: 1300px; margin: 0 auto;
    padding: clamp(30px, 5vw, 50px) clamp(20px, 4vw, 40px);
    background: white; border-radius: 16px;
    box-shadow: 0 4px 20px rgba(35, 139, 56, 0.1);
    border-left: 4px solid var(--accent);
    opacity: 0; transform: translateY(40px); transition: all 0.8s ease;
}
.awards-description.aos-animate { opacity: 1; transform: translateY(0); }
.awards-description p { font-size: clamp(15px, 2vw, 18px); line-height: 1.8; color: var(--text); margin: 0; }

/* ====================== 11. O NAS ====================== */
.about-intro { padding: clamp(60px, 12vw, 120px) clamp(20px, 6vw, 60px); background: white; }
.about-intro-container, .capabilities-container, .why-certificates-container, .certs-container, .tech-container {
    max-width: 1300px; margin: 0 auto;
    display: grid; grid-template-columns: repeat(auto-fit, minmax(min(400px, 100%), 1fr));
    gap: clamp(50px, 8vw, 80px); align-items: center;
}
.intro-text h2 { font-size: clamp(28px, 5vw, 42px); font-weight: 300; margin-bottom: clamp(24px, 4vw, 32px); color: var(--primary); line-height: 1.3; }
.intro-text p { font-size: clamp(14px, 2vw, 17px); color: var(--text-light); line-height: 1.9; margin-bottom: clamp(18px, 3vw, 24px); }
.intro-image, .capabilities-image, .why-image, .certs-image, .tech-image {
    width: 100%; border-radius: 16px; overflow: hidden;
    box-shadow: 0 20px 60px rgba(0,0,0,0.15); position: relative;
}
.intro-image { height: clamp(350px, 50vw, 500px); }
.capabilities-image { height: clamp(400px, 55vw, 550px); border-radius: 16px; }
.why-image, .certs-image, .tech-image { height: clamp(400px, 55vw, 550px); border-radius: 20px; }
.intro-image::before { content: ''; position: absolute; inset: 0; background: var(--accent); opacity: 0; transition: opacity 0.5s; z-index: 1; }
.intro-image:hover::before { opacity: 0.1; }
.intro-image img, .capabilities-image img, .why-image img, .certs-image img, .tech-image img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.8s; }
.intro-image:hover img, .capabilities-image:hover img, .why-image:hover img, .certs-image:hover img, .tech-image:hover img { transform: scale(1.1); }

/* Animacje wejścia dla intro/capabilities */
.intro-text, .intro-image, .capabilities-text, .capabilities-image { opacity: 0; transform: translateY(40px); transition: all 0.8s ease; }
.intro-text.aos-animate, .intro-image.aos-animate, .capabilities-text.aos-animate, .capabilities-image.aos-animate { opacity: 1; transform: translateY(0); }
.intro-image, .capabilities-image { transition-delay: 0.2s; }

/* Wartości */
.values-section { padding: clamp(60px, 10vw, 100px) clamp(20px, 6vw, 60px); background: var(--gray-bg); }
.values-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(300px, 100%), 1fr));
    gap: clamp(30px, 4vw, 40px);
    max-width: 1300px; margin: 0 auto;
}
.value-card {
    background: white;
    padding: clamp(40px, 5vw, 50px) clamp(30px, 4vw, 40px);
    border-radius: 16px; text-align: center;
    transition: all 0.4s; border: 1px solid #e0e0e0;
    box-shadow: 0 4px 6px rgba(0,0,0,0.05);
    opacity: 0; transform: translateY(50px);
}
.value-card.aos-animate { opacity: 1; transform: translateY(0); }
.value-card:hover { transform: translateY(-10px); box-shadow: 0 20px 40px rgba(0,0,0,0.1); border-color: var(--accent); }
.value-card:nth-child(1) { transition-delay: 0.1s; }
.value-card:nth-child(2) { transition-delay: 0.2s; }
.value-card:nth-child(3) { transition-delay: 0.3s; }
.value-card:nth-child(4) { transition-delay: 0.4s; }
.value-card:nth-child(5) { transition-delay: 0.5s; }
.value-card:nth-child(6) { transition-delay: 0.6s; }
.value-icon { font-size: clamp(42px, 7vw, 56px); margin-bottom: clamp(18px, 3vw, 24px); display: block; }
.value-card h3 { font-size: clamp(18px, 2.5vw, 22px); font-weight: 700; margin-bottom: 16px; color: var(--primary); }
.value-card p { font-size: clamp(13px, 1.8vw, 15px); color: var(--text-light); line-height: 1.8; }

/* Możliwości */
.capabilities-section { padding: clamp(60px, 10vw, 100px) clamp(20px, 6vw, 60px); background: var(--gray-bg); }
.capabilities-text h2, .tech-content h2, .certs-content h2, .why-content h2 { font-size: clamp(28px, 5vw, 42px); font-weight: 300; margin-bottom: clamp(16px, 3vw, 24px); color: var(--primary); line-height: 1.3; }
.capabilities-text > p, .tech-content > p, .certs-content > p, .why-content > p { font-size: clamp(14px, 2vw, 17px); color: var(--text-light); line-height: 1.9; margin-bottom: clamp(30px, 5vw, 40px); }
.capabilities-list { display: flex; flex-direction: column; gap: clamp(20px, 3.5vw, 28px); margin-bottom: clamp(30px, 5vw, 40px); }
.capability-item { display: flex; gap: clamp(16px, 2.5vw, 20px); align-items: flex-start; }
.capability-icon {
    min-width: clamp(28px, 4vw, 32px); height: clamp(28px, 4vw, 32px);
    background: var(--accent); color: white; border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    font-weight: 700; font-size: clamp(14px, 2.2vw, 18px);
    margin-top: 4px; flex-shrink: 0;
}
.capability-item h4 { font-size: clamp(15px, 2.2vw, 18px); font-weight: 700; margin-bottom: 6px; color: var(--primary); }
.capability-item p { font-size: clamp(13px, 1.8vw, 15px); color: var(--text-light); line-height: 1.7; }

/* Zespół */
.team-section { padding: clamp(60px, 10vw, 100px) clamp(20px, 6vw, 60px); background: white; text-align: center; }
.team-section .section-header p { color: var(--text-light); font-size: clamp(15px, 2vw, 18px); margin-top: 16px; }
.team-image {
    max-width: 900px; width: 100%;
    margin: clamp(40px, 6vw, 60px) auto 0;
    border-radius: 16px; overflow: hidden;
    box-shadow: 0 20px 60px rgba(0,0,0,0.15);
    opacity: 0; transform: translateY(40px); transition: all 0.8s ease;
}
.team-image.aos-animate { opacity: 1; transform: translateY(0); }
.team-image img { width: 100%; height: auto; display: block; object-fit: cover; }
.team-stats {
    display: grid; grid-template-columns: repeat(auto-fit, minmax(min(250px, 100%), 1fr));
    gap: clamp(40px, 6vw, 60px); max-width: 1000px; margin: clamp(40px, 8vw, 60px) auto 0;
}
.team-stat { padding: clamp(30px, 4vw, 40px) clamp(20px, 3vw, 30px); }
.team-stat .stat-number { display: block; font-size: clamp(42px, 8vw, 64px); font-weight: 200; color: var(--accent); margin-bottom: 16px; line-height: 1; white-space: normal; }
.team-stat p { font-size: clamp(14px, 1.8vw, 16px); color: var(--text); font-weight: 500; }

/* ====================== 12. MISJA I WIZJA ====================== */
.commitments-section { padding: clamp(100px, 18vw, 160px) clamp(20px, 6vw, 60px); background: var(--gray-bg); }
.commitments-container { max-width: 1300px; margin: 0 auto; text-align: center; }
.commitments-container h2 { font-size: clamp(32px, 6vw, 52px); font-weight: 300; margin-bottom: clamp(60px, 10vw, 80px); color: var(--primary); }
.commitments-bento {
    display: grid; grid-template-columns: repeat(auto-fit, minmax(min(300px, 100%), 1fr));
    gap: clamp(20px, 3vw, 25px); grid-auto-flow: dense;
}
.commitment-card { padding: clamp(35px, 5vw, 45px); border-radius: 20px; text-align: left; transition: all 0.4s; opacity: 0; transform: translateY(40px); }
.commitment-card.aos-animate { opacity: 1; transform: translateY(0); }
.commitment-card:hover { transform: translateY(-10px); }
.commitment-card:nth-child(1) { transition-delay: 0.1s; }
.commitment-card:nth-child(2) { transition-delay: 0.2s; }
.commitment-card:nth-child(3) { transition-delay: 0.3s; }
.commitment-card:nth-child(4) { transition-delay: 0.4s; }
.commitment-card:nth-child(5) { transition-delay: 0.5s; }
.card-primary { background: var(--accent); color: white; }
.card-secondary { background: white; border: 2px solid #e0e0e0; }
.card-accent { background: #1a1a1a; color: white; }
.commitment-number { font-size: clamp(40px, 6vw, 56px); font-weight: 200; opacity: 0.3; margin-bottom: 15px; line-height: 1; }
.card-primary .commitment-number { color: white; }
.card-secondary .commitment-number { color: var(--accent); }
.card-accent .commitment-number { color: var(--accent); }
.commitment-card h3 { font-size: clamp(17px, 2.5vw, 22px); font-weight: 600; margin-bottom: 12px; line-height: 1.3; }
.commitment-card p { font-size: clamp(13px, 1.7vw, 15px); line-height: 1.7; opacity: 0.9; }
.commitments-container .section-tag, .commitments-container h2 { opacity: 0; transform: translateY(40px); transition: all 0.8s ease; }
.commitments-container .section-tag.aos-animate, .commitments-container h2.aos-animate { opacity: 1; transform: translateY(0); }

.journey-section { padding: clamp(100px, 18vw, 160px) clamp(20px, 6vw, 60px); background: white; }
.journey-container { max-width: 1100px; margin: 0 auto; }
.journey-intro { max-width: 800px; margin: 0 auto clamp(70px, 12vw, 100px); text-align: center; opacity: 0; transform: translateY(40px); transition: all 0.8s ease; }
.journey-intro.aos-animate { opacity: 1; transform: translateY(0); }
.journey-intro h2 { font-size: clamp(30px, 5.5vw, 48px); font-weight: 300; margin-bottom: 25px; color: var(--primary); }
.journey-intro p { font-size: clamp(15px, 2.1vw, 18px); line-height: 1.9; color: var(--text-light); }
.journey-milestones { position: relative; padding-left: clamp(30px, 6vw, 60px); }
.journey-milestones::before { content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 3px; background: linear-gradient(to bottom, var(--accent) 0%, var(--accent-light) 100%); }
.milestone { display: grid; grid-template-columns: auto 1fr; gap: clamp(30px, 5vw, 50px); margin-bottom: clamp(50px, 8vw, 70px); position: relative; opacity: 0; transform: translateY(40px); transition: all 0.8s ease; }
.milestone.aos-animate { opacity: 1; transform: translateY(0); }
.milestone::before { content: ''; position: absolute; left: -36px; top: 10px; width: 18px; height: 18px; background: var(--accent); border-radius: 50%; border: 4px solid white; box-shadow: 0 0 0 4px var(--accent); }
.milestone-year { font-size: clamp(48px, 8vw, 72px); font-weight: 200; color: var(--accent); opacity: 0.2; line-height: 1; min-width: clamp(80px, 12vw, 120px); }
.milestone-content h3 { font-size: clamp(20px, 3vw, 28px); font-weight: 600; margin-bottom: 12px; color: var(--primary); }
.milestone-content p { font-size: clamp(14px, 1.8vw, 16px); line-height: 1.8; color: var(--text-light); }
.milestone-now { padding: clamp(30px, 5vw, 40px); background: linear-gradient(135deg, rgba(35, 139, 56, 0.05) 0%, rgba(46, 168, 68, 0.05) 100%); border-radius: 16px; border-left: 4px solid var(--accent); }
.milestone-now::before { box-shadow: 0 0 0 8px var(--accent); width: 24px; height: 24px; }
.milestone-now .milestone-year { opacity: 1; }

.manifesto-section { padding: clamp(100px, 18vw, 160px) clamp(20px, 6vw, 60px); background: #1a1a1a; color: white; }
.manifesto-container { max-width: 1300px; margin: 0 auto; text-align: center; }
.manifesto-container h2 { font-size: clamp(36px, 6.5vw, 60px); font-weight: 300; margin-bottom: clamp(60px, 10vw, 80px); }
.manifesto-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(300px, 100%), 1fr)); gap: clamp(20px, 3vw, 30px); grid-auto-flow: dense; }
.manifesto-card { background: rgba(255,255,255,0.05); border-radius: 20px; padding: clamp(30px, 5vw, 45px); transition: all 0.4s; border: 1px solid rgba(255,255,255,0.1); text-align: left; opacity: 0; transform: translateY(40px); }
.manifesto-card.aos-animate { opacity: 1; transform: translateY(0); }
.manifesto-card:hover { background: rgba(255,255,255,0.08); transform: translateY(-8px); border-color: var(--accent); box-shadow: 0 20px 60px rgba(35, 139, 56, 0.2); }
.manifesto-card.big { grid-column: span 2; background: var(--accent); }
.manifesto-card.wide { grid-column: span 2; }
.manifesto-container .section-tag, .manifesto-container h2 { opacity: 0; transform: translateY(40px); transition: all 0.8s ease; }
.manifesto-container .section-tag.aos-animate, .manifesto-container h2.aos-animate { opacity: 1; transform: translateY(0); }
.card-inner h3 { font-size: clamp(18px, 2.8vw, 26px); font-weight: 600; margin-bottom: 15px; line-height: 1.3; }
.card-inner p { font-size: clamp(13px, 1.7vw, 15px); line-height: 1.7; color: rgba(255,255,255,0.85); }

.vision-roadmap { padding: clamp(100px, 18vw, 160px) clamp(20px, 6vw, 60px); background: white; }
.roadmap-container { max-width: 1200px; margin: 0 auto; }
.roadmap-header { text-align: center; max-width: 800px; margin: 0 auto clamp(70px, 12vw, 100px); opacity: 0; transform: translateY(40px); transition: all 0.8s ease; }
.roadmap-header.aos-animate { opacity: 1; transform: translateY(0); }
.roadmap-header h2 { font-size: clamp(32px, 6vw, 52px); font-weight: 300; margin-bottom: 20px; color: var(--primary); }
.roadmap-intro { font-size: clamp(15px, 2.1vw, 18px); line-height: 1.8; color: var(--text-light); }
.roadmap-timeline { display: flex; flex-direction: column; gap: clamp(40px, 7vw, 60px); }
.roadmap-phase { padding: clamp(35px, 6vw, 50px); background: var(--gray-bg); border-radius: 20px; border-left: 6px solid var(--accent); transition: all 0.4s; opacity: 0; transform: translateY(40px); }
.roadmap-phase.aos-animate { opacity: 1; transform: translateY(0); }
.roadmap-phase:hover { transform: translateX(10px); box-shadow: 0 15px 40px rgba(0,0,0,0.1); }
.phase-label { font-size: clamp(11px, 1.3vw, 13px); font-weight: 700; text-transform: uppercase; letter-spacing: 2px; color: var(--accent); margin-bottom: 12px; }
.phase-title { font-size: clamp(24px, 4vw, 36px); font-weight: 600; color: var(--primary); margin-bottom: clamp(25px, 4vw, 35px); }
.phase-goals { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(280px, 100%), 1fr)); gap: clamp(15px, 2.5vw, 20px); }
.goal-item { display: flex; align-items: flex-start; gap: 12px; font-size: clamp(13px, 1.7vw, 15px); line-height: 1.6; color: var(--text); }
.goal-icon { font-size: 20px; flex-shrink: 0; }
.final-cta-content.aos-animate { opacity: 1; transform: translateY(0); }

/* ====================== 13. REFERENCJE ====================== */
.intro-section { padding: clamp(60px, 10vw, 100px) clamp(20px, 6vw, 60px); background: white; text-align: center; }
.intro-container { max-width: 900px; width: 100%; margin: 0 auto; }
.intro-container h2 { font-size: clamp(28px, 5vw, 42px); font-weight: 300; margin-bottom: clamp(16px, 3vw, 24px); color: var(--primary); line-height: 1.3; }
.intro-container p { font-size: clamp(15px, 2vw, 18px); color: var(--text-light); line-height: 1.9; margin-bottom: 20px; }

.testimonials-section { padding: clamp(60px, 10vw, 100px) clamp(20px, 6vw, 60px); background: white; }
.testimonials-grid {
    display: grid; grid-template-columns: repeat(auto-fit, minmax(min(380px, 100%), 1fr));
    gap: clamp(30px, 4vw, 40px); max-width: 1400px; margin: clamp(40px, 8vw, 60px) auto 0;
}
.testimonial-card { background: white; border-radius: 20px; padding: clamp(30px, 4vw, 40px); box-shadow: 0 10px 30px rgba(0,0,0,0.08); border: 1px solid #e0e0e0; transition: all 0.4s ease; }
.testimonial-card.aos-animate { opacity: 1; transform: translateY(0); }
.testimonial-card:hover { transform: translateY(-10px); box-shadow: 0 20px 50px rgba(35, 139, 56, 0.15); border-color: var(--accent); }
.testimonial-header { display: flex; align-items: center; gap: clamp(16px, 2vw, 20px); margin-bottom: clamp(20px, 3vw, 28px); padding-bottom: clamp(16px, 3vw, 24px); border-bottom: 2px solid var(--gray-bg); }
.client-logo { width: clamp(60px, 10vw, 80px); height: clamp(60px, 10vw, 80px); background: var(--gray-bg); border-radius: 12px; display: flex; align-items: center; justify-content: center; padding: 12px; flex-shrink: 0; transition: all 0.3s ease; }
.testimonial-card:hover .client-logo { background: white; box-shadow: 0 5px 15px rgba(0,0,0,0.1); transform: scale(1.05); }
.client-logo img { max-width: 100%; max-height: 100%; object-fit: contain; opacity: 0.8; }
.testimonial-card:hover .client-logo img { opacity: 1; }
.client-info h4 { font-size: clamp(16px, 2vw, 18px); font-weight: 700; margin-bottom: 4px; color: var(--primary); }
.client-info p { font-size: clamp(12px, 1.5vw, 13px); color: var(--text-light); font-weight: 500; }
.testimonial-content { display: flex; flex-direction: column; gap: 20px; }
.rating { color: #FFB800; font-size: clamp(16px, 2.5vw, 20px); letter-spacing: 3px; }
.testimonial-text { font-size: clamp(13px, 1.8vw, 15px); line-height: 1.8; color: var(--text); font-style: italic; position: relative; padding-left: 20px; }
.testimonial-text::before { content: '"'; position: absolute; left: 0; top: -5px; font-size: clamp(32px, 5vw, 40px); color: var(--accent); opacity: 0.3; font-family: Georgia, serif; }
.testimonial-author { margin-top: 8px; }
.author-name { font-weight: 700; font-size: clamp(13px, 1.8vw, 15px); color: var(--primary); margin-bottom: 4px; }
.author-position { font-size: clamp(12px, 1.5vw, 13px); color: var(--text-light); }

.reference-actions { display: flex; gap: 12px; margin-top: 20px; flex-wrap: wrap; }
.read-more-btn, .download-btn {
    display: inline-flex; align-items: center; gap: 8px;
    padding: clamp(8px, 1.5vw, 10px) clamp(16px, 2vw, 20px);
    text-decoration: none;
    font-size: clamp(11px, 1.5vw, 13px); font-weight: 700;
    text-transform: uppercase; letter-spacing: 1.5px;
    border: 2px solid var(--accent); border-radius: 6px;
    transition: all 0.3s ease;
}
.read-more-btn { background: transparent; color: var(--accent); }
.read-more-btn:hover { background: var(--accent); color: white; transform: translateX(5px); box-shadow: 0 5px 15px rgba(35, 139, 56, 0.3); }
.download-btn { background: var(--accent); color: white; }
.download-btn:hover { background: var(--accent-light); transform: translateY(-2px); box-shadow: 0 5px 15px rgba(35, 139, 56, 0.4); }
.download-icon { font-size: clamp(14px, 2vw, 16px); }

.references-grid-section { padding: clamp(60px, 10vw, 100px) clamp(20px, 6vw, 60px); background: white; }
.references-logos-grid {
    display: grid; grid-template-columns: repeat(auto-fit, minmax(min(180px, 100%), 1fr));
    gap: clamp(20px, 3vw, 30px); max-width: 1400px; margin: clamp(40px, 8vw, 60px) auto 0;
}
.reference-logo-item {
    display: flex; align-items: center; justify-content: center;
    padding: clamp(20px, 3vw, 30px) clamp(15px, 2vw, 20px);
    background: var(--gray-bg); border-radius: 12px;
    border: 2px solid transparent; transition: all 0.3s ease;
    text-decoration: none; min-height: clamp(100px, 15vw, 120px);
}
.reference-logo-item:hover { background: white; border-color: var(--accent); box-shadow: 0 10px 30px rgba(35, 139, 56, 0.15); transform: translateY(-8px); }
.reference-logo-item img { max-width: clamp(100px, 15vw, 140px); max-height: clamp(50px, 8vw, 70px); width: 100%; height: auto; object-fit: contain; opacity: 0.7; filter: grayscale(100%); transition: all 0.3s ease; }
.reference-logo-item:hover img { opacity: 1; filter: grayscale(0%); transform: scale(1.1); }

/* Case studies */
.case-studies { padding: clamp(60px, 10vw, 100px) clamp(20px, 6vw, 60px); background: var(--gray-bg); }
.cases-container { max-width: 1400px; margin: clamp(40px, 8vw, 60px) auto 0; display: flex; flex-direction: column; gap: clamp(40px, 8vw, 60px); }
.case-card { background: white; border-radius: 20px; overflow: hidden; box-shadow: 0 10px 30px rgba(0,0,0,0.1); display: grid; grid-template-columns: repeat(auto-fit, minmax(min(350px, 100%), 1fr)); gap: 0; transition: all 0.4s ease; }
.case-card:hover { box-shadow: 0 20px 60px rgba(35, 139, 56, 0.2); transform: translateY(-10px); }
@media (min-width: 769px) {
    .case-card { grid-template-columns: 1fr 1.2fr; }
    .case-card:nth-child(2) { grid-template-columns: 1.2fr 1fr; }
    .case-card:nth-child(2) .case-image { order: 2; }
    .case-card:nth-child(2) .case-content { order: 1; }
}
.case-image { position: relative; min-height: clamp(300px, 40vw, 400px); overflow: hidden; }
.case-image::before { content: ''; position: absolute; inset: 0; background: var(--accent); opacity: 0; transition: opacity 0.5s; z-index: 1; }
.case-card:hover .case-image::before { opacity: 0.15; }
.case-image img { width: 100%; height: 100%; min-height: clamp(300px, 40vw, 400px); object-fit: cover; transition: transform 0.8s ease; }
.case-card:hover .case-image img { transform: scale(1.1); }
.case-content { padding: clamp(30px, 5vw, 50px) clamp(25px, 4vw, 40px); display: flex; flex-direction: column; justify-content: center; }
.case-tag { display: inline-block; font-size: clamp(9px, 1.2vw, 11px); font-weight: 700; text-transform: uppercase; letter-spacing: 2px; color: var(--accent); margin-bottom: 16px; padding: 6px 16px; border: 2px solid var(--accent); border-radius: 20px; width: fit-content; }
.case-content h3 { font-size: clamp(20px, 3vw, 28px); font-weight: 600; margin-bottom: clamp(16px, 3vw, 24px); color: var(--primary); line-height: 1.3; }
.case-content p { font-size: clamp(13px, 1.8vw, 15px); line-height: 1.8; color: var(--text); margin-bottom: 16px; }
.case-challenge, .case-solution, .case-result { padding-left: 24px; position: relative; }
.case-challenge::before { content: '🎯'; position: absolute; left: 0; font-size: 18px; }
.case-solution::before { content: '💡'; position: absolute; left: 0; font-size: 18px; }
.case-result::before { content: '✨'; position: absolute; left: 0; font-size: 18px; }
.case-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(80px, 1fr)); gap: clamp(15px, 2vw, 20px); margin-top: clamp(24px, 4vw, 32px); padding-top: clamp(24px, 4vw, 32px); border-top: 2px solid var(--gray-bg); }
.case-stat { text-align: center; }
.stat-value { display: block; font-size: clamp(24px, 4vw, 32px); font-weight: 700; color: var(--accent); margin-bottom: 8px; line-height: 1; }
.stat-label { display: block; font-size: clamp(11px, 1.5vw, 13px); color: var(--text-light); text-transform: uppercase; letter-spacing: 1px; }

/* references-stats (czarna) */
.references-stats { padding: clamp(60px, 12vw, 120px) clamp(20px, 6vw, 60px); background: #1a1a1a; color: white; position: relative; overflow: hidden; }
.references-stats::before { content: ''; position: absolute; top: -50%; right: -50%; width: 100%; height: 100%; background: radial-gradient(circle, rgba(35, 139, 56, 0.1) 0%, transparent 70%); animation: rotate 20s linear infinite; }
.references-stats .stats-container { position: relative; z-index: 1; }
.references-stats .stats-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(250px, 100%), 1fr)); gap: clamp(25px, 4vw, 40px); margin: clamp(40px, 8vw, 60px) auto 0; max-width: 1400px; }
.references-stats .stat-item { text-align: center; padding: clamp(25px, 4vw, 40px) clamp(20px, 3vw, 30px); background: rgba(255,255,255,0.05); border-radius: 16px; border: 1px solid rgba(255,255,255,0.1); transition: all 0.4s; }
.references-stats .stat-item:hover { transform: translateY(-15px); background: rgba(255,255,255,0.08); border-color: var(--accent); box-shadow: 0 15px 40px rgba(35, 139, 56, 0.3); }
.references-stats .stat-number { font-size: clamp(36px, 8vw, 60px); font-weight: 200; color: var(--accent); display: block; margin-bottom: 12px; white-space: normal; }
.references-stats .stat-item h3 { font-size: clamp(14px, 2vw, 18px); font-weight: 700; margin-bottom: 8px; }
.references-stats .stat-item p { font-size: clamp(12px, 1.5vw, 14px); opacity: 0.7; }

/* ====================== 14. CERTYFIKATY ====================== */
.main-certificates { padding: clamp(60px, 10vw, 100px) clamp(20px, 6vw, 60px); background: var(--gray-bg); }
.certificates-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(320px, 100%), 1fr)); gap: clamp(30px, 4vw, 40px); max-width: 1400px; margin: clamp(40px, 8vw, 60px) auto 0; }
.certificate-card {
    background: white; border-radius: 20px;
    padding: clamp(40px, 5vw, 50px) clamp(30px, 4vw, 40px);
    box-shadow: 0 10px 30px rgba(0,0,0,0.08); border: 1px solid #e0e0e0;
    transition: all 0.4s ease; position: relative; overflow: hidden;
    opacity: 0; transform: translateY(50px);
}
.certificate-card.aos-animate { opacity: 1; transform: translateY(0); }
.certificate-card:nth-child(1) { transition-delay: 0.1s; }
.certificate-card:nth-child(2) { transition-delay: 0.2s; }
.certificate-card:nth-child(3) { transition-delay: 0.3s; }
.certificate-card:nth-child(4) { transition-delay: 0.4s; }
.certificate-card::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 5px; background: linear-gradient(90deg, var(--accent) 0%, var(--accent-light) 100%); transform: scaleX(0); transform-origin: left; transition: transform 0.6s ease; }
.certificate-card:hover::before { transform: scaleX(1); }
.certificate-card:hover { transform: translateY(-15px); box-shadow: 0 20px 50px rgba(35, 139, 56, 0.15); border-color: var(--accent); }
.cert-badge { width: clamp(100px, 15vw, 120px); height: clamp(100px, 15vw, 120px); margin: 0 auto clamp(24px, 4vw, 30px); display: flex; align-items: center; justify-content: center; background: linear-gradient(135deg, #f8f9fa 0%, white 100%); border-radius: 50%; border: 3px solid #e0e0e0; transition: all 0.4s ease; overflow: hidden; }
.certificate-card:hover .cert-badge { border-color: var(--accent); transform: scale(1.1) rotate(5deg); box-shadow: 0 10px 30px rgba(35, 139, 56, 0.2); }
.cert-badge img { max-width: 80%; max-height: 80%; object-fit: contain; }
.certificate-card h3 { font-size: clamp(20px, 3vw, 28px); font-weight: 700; margin-bottom: 8px; color: var(--primary); text-align: center; }
.cert-subtitle { font-size: clamp(12px, 1.8vw, 15px); color: var(--accent); font-weight: 600; text-align: center; margin-bottom: 20px; text-transform: uppercase; letter-spacing: 1px; }
.cert-description { font-size: clamp(13px, 1.8vw, 15px); color: var(--text-light); line-height: 1.8; margin-bottom: clamp(18px, 3vw, 24px); text-align: center; }
.cert-benefits { list-style: none; padding: 0; margin: 0; }
.cert-benefits li { font-size: clamp(12px, 1.6vw, 14px); color: var(--text); padding: 10px 0; padding-left: 32px; position: relative; line-height: 1.6; }
.cert-benefits li::before { content: '✓'; position: absolute; left: 0; color: var(--accent); font-weight: 700; font-size: 18px; }

.why-certificates { padding: clamp(60px, 10vw, 100px) clamp(20px, 6vw, 60px); background: white; }
.benefits-list { display: flex; flex-direction: column; gap: clamp(20px, 3.5vw, 28px); }
.benefit-item { display: flex; gap: clamp(18px, 3vw, 24px); align-items: flex-start; padding: clamp(18px, 3vw, 24px); background: var(--gray-bg); border-radius: 16px; transition: all 0.3s ease; border: 2px solid transparent; }
.benefit-item:hover { background: white; border-color: var(--accent); box-shadow: 0 10px 30px rgba(35, 139, 56, 0.1); transform: translateX(10px); }
.benefit-item .benefit-icon { font-size: clamp(32px, 5vw, 40px); min-width: clamp(50px, 8vw, 60px); height: clamp(50px, 8vw, 60px); display: flex; align-items: center; justify-content: center; background: white; border-radius: 12px; box-shadow: 0 4px 12px rgba(0,0,0,0.05); flex-shrink: 0; }
.benefit-text h4 { font-size: clamp(15px, 2.2vw, 18px); font-weight: 700; margin-bottom: 8px; color: var(--primary); }
.benefit-text p { font-size: clamp(13px, 1.8vw, 15px); color: var(--text-light); line-height: 1.7; }

.certification-process { padding: clamp(60px, 10vw, 100px) clamp(20px, 6vw, 60px); background: var(--gray-bg); }
.certification-process .section-header p { color: var(--text-light); font-size: clamp(15px, 2vw, 18px); margin-top: 16px; }
.process-steps { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(280px, 100%), 1fr)); gap: clamp(30px, 4vw, 40px); max-width: 1400px; margin: clamp(40px, 8vw, 60px) auto 0; }
.process-step { background: white; padding: clamp(30px, 4vw, 40px) clamp(24px, 3vw, 30px); border-radius: 16px; text-align: center; transition: all 0.4s ease; border: 1px solid #e0e0e0; opacity: 0; transform: translateY(30px); }
.process-step.aos-animate { opacity: 1; transform: translateY(0); }
.process-step:nth-child(1) { transition-delay: 0.1s; }
.process-step:nth-child(2) { transition-delay: 0.2s; }
.process-step:nth-child(3) { transition-delay: 0.3s; }
.process-step:nth-child(4) { transition-delay: 0.4s; }
.process-step:nth-child(5) { transition-delay: 0.5s; }
.process-step:nth-child(6) { transition-delay: 0.6s; }
.process-step:hover { transform: translateY(-10px); box-shadow: 0 15px 40px rgba(0,0,0,0.1); border-color: var(--accent); }
.step-icon { width: clamp(60px, 9vw, 70px); height: clamp(60px, 9vw, 70px); margin: 0 auto clamp(18px, 3vw, 24px); background: linear-gradient(135deg, var(--accent) 0%, var(--accent-light) 100%); color: white; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: clamp(24px, 4vw, 32px); font-weight: 700; transition: all 0.3s ease; }
.process-step:hover .step-icon { transform: scale(1.15) rotate(10deg); box-shadow: 0 10px 30px rgba(35, 139, 56, 0.4); }
.process-step h4 { font-size: clamp(15px, 2.2vw, 18px); font-weight: 700; margin-bottom: 12px; color: var(--primary); }
.process-step p { font-size: clamp(13px, 1.8vw, 15px); color: var(--text-light); line-height: 1.7; }

.other-standards { padding: clamp(60px, 10vw, 100px) clamp(20px, 6vw, 60px); background: white; text-align: center; }
.standards-container { max-width: 1200px; width: 100%; margin: 0 auto; }
.standards-container h2 { font-size: clamp(28px, 5vw, 42px); font-weight: 300; margin-bottom: 16px; color: var(--primary); }
.standards-intro { font-size: clamp(15px, 2vw, 18px); color: var(--text-light); margin-bottom: clamp(40px, 8vw, 60px); line-height: 1.8; }
.standards-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(300px, 100%), 1fr)); gap: clamp(24px, 4vw, 30px); }
.standard-item { padding: clamp(24px, 4vw, 32px) clamp(20px, 3.5vw, 28px); background: var(--gray-bg); border-radius: 12px; transition: all 0.3s ease; border: 2px solid transparent; }
.standard-item:hover { background: white; border-color: var(--accent); box-shadow: 0 10px 30px rgba(35, 139, 56, 0.1); transform: translateY(-5px); }
.standard-icon { display: inline-block; width: clamp(35px, 5vw, 40px); height: clamp(35px, 5vw, 40px); background: var(--accent); color: white; border-radius: 50%; font-size: clamp(18px, 3vw, 24px); font-weight: 700; line-height: clamp(35px, 5vw, 40px); margin-bottom: 16px; }
.standard-item h4 { font-size: clamp(15px, 2.2vw, 18px); font-weight: 700; margin-bottom: 8px; color: var(--primary); }
.standard-item p { font-size: clamp(12px, 1.6vw, 14px); color: var(--text-light); line-height: 1.6; }

/* ====================== 15. JAK DZIAŁAMY ====================== */
.steps-section { padding: clamp(10px, 10vw, 100px) clamp(20px, 6vw, 60px); background: var(--gray-bg); }
.steps-container { max-width: 1400px; margin: 0 auto; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(350px, 100%), 1fr)); gap: clamp(30px, 4vw, 40px); margin-top: clamp(40px, 8vw, 60px); }
.step-card { background: white; border-radius: 20px; padding: clamp(40px, 5vw, 50px) clamp(30px, 4vw, 40px); box-shadow: 0 10px 30px rgba(0,0,0,0.08); border: 1px solid #e0e0e0; transition: all 0.4s ease; position: relative; overflow: hidden; opacity: 0; transform: translateY(50px); }
.step-card.aos-animate { opacity: 1; transform: translateY(0); }
.step-card::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 5px; background: linear-gradient(90deg, var(--accent) 0%, var(--accent-light) 100%); transform: scaleX(0); transform-origin: left; transition: transform 0.6s ease; }
.step-card:hover::before { transform: scaleX(1); }
.step-card:hover { transform: translateY(-10px); box-shadow: 0 20px 50px rgba(35, 139, 56, 0.15); border-color: var(--accent); }
.step-number { font-size: clamp(42px, 7vw, 56px); font-weight: 700; color: var(--accent); line-height: 1; margin-bottom: clamp(16px, 3vw, 24px); display: block; opacity: 0.15; }
.step-content h3 { font-size: clamp(18px, 2.5vw, 24px); font-weight: 700; margin-bottom: 16px; color: var(--primary); }
.step-content p { font-size: clamp(14px, 1.8vw, 16px); color: var(--text-light); line-height: 1.8; margin-bottom: 24px; }
.step-features { list-style: none; padding: 0; margin: 0; }
.step-features li { font-size: clamp(13px, 1.8vw, 15px); color: var(--text); padding: 10px 0; padding-left: 32px; position: relative; }
.step-features li::before { content: '✓'; position: absolute; left: 0; color: var(--accent); font-weight: 700; font-size: 18px; }

.tech-section { padding: clamp(60px, 10vw, 100px) clamp(20px, 6vw, 60px); background: white; }
.tech-items { display: flex; flex-direction: column; gap: clamp(24px, 4vw, 32px); }
.tech-item { display: flex; gap: clamp(16px, 3vw, 24px); align-items: flex-start; padding: clamp(18px, 3vw, 24px); background: var(--gray-bg); border-radius: 16px; transition: all 0.3s ease; border: 2px solid transparent; opacity: 0; transform: translateX(30px); }
.tech-item.aos-animate { opacity: 1; transform: translateX(0); }
.tech-item:hover { background: white; border-color: var(--accent); box-shadow: 0 10px 30px rgba(35, 139, 56, 0.1); }
.tech-icon { font-size: clamp(32px, 5vw, 40px); min-width: clamp(50px, 8vw, 60px); height: clamp(50px, 8vw, 60px); display: flex; align-items: center; justify-content: center; background: white; border-radius: 12px; box-shadow: 0 4px 12px rgba(0,0,0,0.05); transition: all 0.3s ease; }
.tech-text h4 { font-size: clamp(16px, 2.5vw, 20px); font-weight: 700; margin-bottom: 8px; color: var(--primary); }
.tech-text p { font-size: clamp(13px, 1.8vw, 15px); color: var(--text-light); line-height: 1.7; }
.tech-content { opacity: 0; transform: translateY(30px); transition: all 0.6s ease; }
.tech-content.aos-animate { opacity: 1; transform: translateY(0); }

.certs-section { padding: clamp(60px, 10vw, 100px) clamp(20px, 6vw, 60px); background: white; }
.cert-list { display: flex; flex-direction: column; gap: clamp(18px, 3vw, 24px); margin-bottom: clamp(30px, 5vw, 40px); }
.cert-item { display: flex; gap: clamp(16px, 2.5vw, 20px); align-items: center; padding: clamp(18px, 3vw, 24px); background: var(--gray-bg); border-radius: 12px; transition: all 0.3s ease; }
.cert-item:hover { background: white; box-shadow: 0 10px 30px rgba(0,0,0,0.1); }
.cert-item .cert-badge { min-width: clamp(45px, 7vw, 50px); width: auto; height: clamp(45px, 7vw, 50px); background: var(--accent); color: white; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: clamp(18px, 3vw, 24px); flex-shrink: 0; border: none; }
.cert-item h4 { font-size: clamp(15px, 2.2vw, 18px); font-weight: 700; margin-bottom: 4px; color: var(--primary); }
.cert-item p { font-size: clamp(12px, 1.6vw, 14px); color: var(--text-light); }

.intro-section .intro-container { max-width: 700px; }

/* ====================== 16. KONTAKT ====================== */
.contact-section { padding: clamp(60px, 10vw, 100px) clamp(20px, 6vw, 60px); background: white; }
.contact-container { max-width: 1300px; margin: 0 auto; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(400px, 100%), 1fr)); gap: clamp(50px, 8vw, 80px); }
.contact-form-wrapper h2 { font-size: clamp(28px, 4.5vw, 36px); font-weight: 300; margin-bottom: 12px; color: var(--primary); }
.form-description { color: var(--text-light); margin-bottom: clamp(30px, 5vw, 40px); font-size: clamp(14px, 1.8vw, 16px); }
.contact-form { display: flex; flex-direction: column; gap: clamp(18px, 3vw, 24px); }
.form-row { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(200px, 100%), 1fr)); gap: clamp(18px, 3vw, 24px); }
.form-group { display: flex; flex-direction: column; }
.form-group label { font-size: clamp(12px, 1.6vw, 14px); font-weight: 600; color: var(--text); margin-bottom: 8px; text-transform: uppercase; letter-spacing: 0.5px; }
.form-group input, .form-group select, .form-group textarea { padding: clamp(12px, 2vw, 14px) clamp(16px, 2vw, 18px); border: 2px solid #e0e0e0; border-radius: 8px; font-size: clamp(13px, 1.8vw, 15px); font-family: inherit; transition: all 0.3s; background: white; }
.form-group input:focus, .form-group select:focus, .form-group textarea:focus { outline: none; border-color: var(--accent); box-shadow: 0 0 0 3px rgba(35, 139, 56, 0.1); }
.form-group textarea { resize: vertical; min-height: clamp(100px, 15vw, 120px); }
.checkbox-group { margin-top: 8px; }
.checkbox-label { display: flex; align-items: flex-start; gap: 12px; cursor: pointer; font-size: clamp(12px, 1.6vw, 14px); color: var(--text-light); }
.checkbox-label input[type="checkbox"] { width: 20px; height: 20px; margin-top: 2px; cursor: pointer; accent-color: var(--accent); flex-shrink: 0; }
.checkbox-label a { color: var(--accent); text-decoration: underline; }
.form-submit { width: 100%; margin-top: 16px; padding: clamp(12px, 2vw, 16px) clamp(30px, 4vw, 40px); background: var(--accent); color: white; border: 2px solid var(--accent); font-size: clamp(10px, 1.2vw, 12px); font-weight: 700; text-transform: uppercase; letter-spacing: 2px; border-radius: 8px; cursor: pointer; transition: all 0.3s; }
.form-submit:hover { background: var(--accent-light); transform: translateY(-2px); box-shadow: 0 6px 20px rgba(35, 139, 56, 0.4); }
.form-note { font-size: clamp(11px, 1.5vw, 13px); color: var(--text-light); margin-top: -8px; font-style: italic; }

.contact-info-wrapper { display: flex; flex-direction: column; gap: clamp(24px, 4vw, 30px); }
.contact-info-card { background: var(--gray-bg); padding: clamp(30px, 5vw, 40px); border-radius: 16px; border: 1px solid #e0e0e0; }
.contact-info-card h3 { font-size: clamp(18px, 3vw, 24px); font-weight: 600; margin-bottom: clamp(24px, 4vw, 32px); color: var(--primary); }
.info-item { display: flex; gap: clamp(16px, 2.5vw, 20px); margin-bottom: clamp(20px, 3.5vw, 28px); padding-bottom: clamp(20px, 3.5vw, 28px); border-bottom: 1px solid #e0e0e0; }
.info-item:last-child { margin-bottom: 0; padding-bottom: 0; border-bottom: none; }
.info-icon { font-size: clamp(24px, 4vw, 32px); min-width: clamp(40px, 6vw, 50px); height: clamp(40px, 6vw, 50px); display: flex; align-items: center; justify-content: center; background: white; border-radius: 12px; flex-shrink: 0; }
.info-content h4 { font-size: clamp(11px, 1.5vw, 14px); font-weight: 700; text-transform: uppercase; letter-spacing: 1px; color: var(--text); margin-bottom: 8px; }
.info-content p { color: var(--text-light); line-height: 1.8; font-size: clamp(13px, 1.8vw, 15px); }
.info-content a { color: var(--accent); text-decoration: none; font-size: clamp(14px, 2vw, 16px); font-weight: 500; transition: all 0.3s; }
.info-content a:hover { color: var(--accent-light); text-decoration: underline; }

.quick-contact { background: var(--accent); color: white; padding: clamp(24px, 4vw, 32px); border-radius: 16px; text-align: center; }
.quick-contact h4 { font-size: clamp(16px, 2.5vw, 20px); font-weight: 600; margin-bottom: 12px; }
.quick-contact p { margin-bottom: clamp(20px, 3vw, 24px); opacity: 0.9; line-height: 1.6; font-size: clamp(13px, 1.8vw, 15px); }
.quick-buttons { display: flex; flex-direction: column; gap: 12px; }
.quick-buttons .btn-secondary { background: white; color: var(--accent); border: 2px solid white; text-align: center; padding: clamp(10px, 2vw, 12px) clamp(20px, 3vw, 28px); font-size: clamp(10px, 1.2vw, 12px); border-radius: 8px; text-decoration: none; font-weight: 700; text-transform: uppercase; letter-spacing: 1.5px; transition: all 0.3s; display: inline-block; }
.quick-buttons .btn-secondary:hover { background: transparent; color: white; }

.map-section { padding: 0; }
.map-container { width: 100%; height: clamp(350px, 50vw, 450px); overflow: hidden; }
.map-container iframe { width: 100%; height: 100%; filter: grayscale(20%); transition: filter 0.3s; }
.map-container:hover iframe { filter: grayscale(0%); }

/* Komunikat sukcesu (jedna definicja) */
.form-success {
    background: linear-gradient(135deg, #d4edda 0%, #c3e6cb 100%);
    color: #155724;
    padding: clamp(16px, 2.5vw, 20px) clamp(20px, 3vw, 24px);
    border-radius: 12px;
    border: 2px solid #28a745;
    margin-bottom: 20px;
    display: none;
    font-size: clamp(14px, 2vw, 16px);
    font-weight: 500;
    text-align: center;
    box-shadow: 0 4px 15px rgba(40, 167, 69, 0.2);
}
.form-success.show { display: block; animation: slideDown 0.4s ease; }

/* ====================== 17. DYSTRYBUCJA ====================== */
.dist-hero-stats { padding: 60px 20px; background: var(--primary); color: white; }
.hero-stats-container { max-width: 1200px; margin: 0 auto; display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 40px; }
.stat-big { text-align: center; padding: 30px; background: rgba(255,255,255,0.05); border-radius: 15px; transition: all 0.3s; }
.stat-big:hover { transform: translateY(-5px); background: rgba(255,255,255,0.1); }
.stat-big .stat-value { font-size: 56px; font-weight: 200; color: var(--accent-light); margin-bottom: 10px; line-height: 1; }
.stat-big .stat-label { font-size: 14px; opacity: 0.9; text-transform: uppercase; font-weight: 600; letter-spacing: 1px; }

.dist-intro { padding: 80px 20px; background: white; text-align: center; }
.dist-intro .intro-container { max-width: 1000px; }
.dist-intro .intro-container h2 { font-size: clamp(32px, 5vw, 48px); font-weight: 300; margin-bottom: 24px; color: var(--primary); }
.intro-text { font-size: clamp(16px, 2vw, 18px); line-height: 1.8; color: var(--text-light); margin-bottom: 50px; }
.intro-platforms h3 { font-size: 18px; font-weight: 600; margin-bottom: 25px; color: var(--text); }
.platforms-list { display: flex; flex-wrap: wrap; justify-content: center; gap: 15px; }
.platform { padding: 12px 24px; background: var(--gray-bg); border-radius: 25px; font-size: 14px; font-weight: 600; color: var(--text); border: 2px solid transparent; transition: all 0.3s; }
.platform:hover { border-color: var(--accent); transform: translateY(-3px); }

.dist-how { padding: 100px 20px; background: var(--gray-bg); }
.how-container { max-width: 1000px; margin: 0 auto; }
.how-container h2 { text-align: center; font-size: clamp(32px, 5vw, 48px); font-weight: 300; margin-bottom: 60px; color: var(--primary); }
.how-timeline { display: flex; flex-direction: column; gap: 0; }
.timeline-step { display: flex; gap: 30px; align-items: flex-start; }
.step-num { min-width: 60px; height: 60px; background: var(--accent); color: white; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 28px; font-weight: 700; flex-shrink: 0; box-shadow: 0 10px 25px rgba(35, 139, 56, 0.3); }
.step-content { flex: 1; padding-bottom: 30px; }
.timeline-connector { width: 4px; height: 40px; background: var(--accent); margin-left: 28px; opacity: 0.3; }

.dist-channels { padding: 100px 20px; background: white; }
.channels-container { max-width: 1400px; margin: 0 auto; }
.channels-container h2 { text-align: center; font-size: clamp(32px, 5vw, 48px); font-weight: 300; margin-bottom: 60px; color: var(--primary); }
.channels-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(300px, 100%), 1fr)); gap: 30px; }
.channel-card { background: var(--gray-bg); padding: 40px 30px; border-radius: 20px; transition: all 0.3s; border: 2px solid transparent; }
.channel-card:hover { transform: translateY(-10px); border-color: var(--accent); box-shadow: 0 20px 40px rgba(0,0,0,0.1); }
.channel-icon { font-size: 56px; margin-bottom: 20px; }
.channel-card h3 { font-size: 22px; font-weight: 700; margin-bottom: 12px; color: var(--primary); }
.channel-card > p { font-size: 15px; line-height: 1.7; color: var(--text-light); margin-bottom: 20px; }
.channel-card ul { list-style: none; display: flex; flex-direction: column; gap: 10px; }
.channel-card li { font-size: 14px; color: var(--text); padding-left: 20px; position: relative; }
.channel-card li::before { content: "✓"; position: absolute; left: 0; color: var(--accent); font-weight: 700; }

.dist-options { padding: 100px 20px; background: var(--gray-bg); }
.options-container { max-width: 1400px; margin: 0 auto; }
.options-container h2 { text-align: center; font-size: clamp(32px, 5vw, 48px); font-weight: 300; margin-bottom: 60px; color: var(--primary); }
.options-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(320px, 100%), 1fr)); gap: 30px; }
.option-card { background: white; border-radius: 20px; padding: 40px 30px; position: relative; border: 2px solid transparent; transition: all 0.3s; }
.option-card:hover { transform: translateY(-10px); box-shadow: 0 20px 40px rgba(0,0,0,0.15); }
.option-card.featured { border-color: var(--accent); box-shadow: 0 10px 40px rgba(35, 139, 56, 0.2); }
.featured-label { position: absolute; top: -15px; left: 50%; transform: translateX(-50%); background: var(--accent); color: white; padding: 8px 20px; border-radius: 20px; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; }
.option-header { text-align: center; margin-bottom: 30px; padding-bottom: 30px; border-bottom: 2px solid var(--gray-bg); }
.option-header h3 { font-size: 24px; font-weight: 700; margin-bottom: 20px; color: var(--primary); }
.option-price { display: flex; align-items: baseline; justify-content: center; gap: 5px; }
.price { font-size: 42px; font-weight: 700; color: var(--accent); }
.period { font-size: 16px; color: var(--text-light); }
.option-features { display: flex; flex-direction: column; gap: 15px; margin-bottom: 30px; }
.feature { font-size: 15px; color: var(--text); padding: 12px; background: var(--gray-bg); border-radius: 8px; }
.feature.inactive { opacity: 0.5; }
.option-btn { width: 100%; padding: 16px; background: transparent; color: var(--accent); border: 2px solid var(--accent); border-radius: 10px; font-size: 14px; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; cursor: pointer; transition: all 0.3s; }
.option-btn:hover { background: var(--accent); color: white; }
.option-btn.primary { background: var(--accent); color: white; }
.option-btn.primary:hover { background: var(--accent-light); }

.dist-couriers { padding: 100px 20px; background: white; }
.couriers-container { max-width: 1200px; margin: 0 auto; }
.couriers-container h2 { text-align: center; font-size: clamp(32px, 5vw, 48px); font-weight: 300; margin-bottom: 16px; color: var(--primary); }
.couriers-container > p { text-align: center; font-size: 18px; color: var(--text-light); margin-bottom: 60px; }
.couriers-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(280px, 100%), 1fr)); gap: 30px; margin-bottom: 30px; }
.courier-box { background: var(--gray-bg); border-radius: 15px; padding: 30px; text-align: center; transition: all 0.3s; }
.courier-box:hover { transform: translateY(-5px); box-shadow: 0 10px 25px rgba(0,0,0,0.1); }
.courier-logo { margin-bottom: 20px; }
.courier-logo strong { font-size: 28px; font-weight: 700; color: var(--primary); }
.courier-info { display: flex; flex-direction: column; gap: 12px; }
.info-row { display: flex; justify-content: space-between; align-items: center; padding: 10px; background: white; border-radius: 8px; }
.info-row span { font-size: 14px; color: var(--text); }
.info-row strong { font-size: 16px; color: var(--accent); font-weight: 700; }
.couriers-note { text-align: center; font-size: 13px; color: var(--text-light); font-style: italic; }

.dist-case { padding: 100px 20px; background: var(--gray-bg); }
.case-container { max-width: 1000px; margin: 0 auto; text-align: center; }
.label-tag { display: inline-block; padding: 6px 18px; background: rgba(35, 139, 56, 0.1); color: var(--accent); border-radius: 20px; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 2px; margin-bottom: 20px; }
.case-container h2 { font-size: clamp(28px, 4.5vw, 42px); font-weight: 300; margin-bottom: 50px; color: var(--primary); }
.case-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(400px, 100%), 1fr)); gap: 30px; margin-bottom: 50px; }
.case-before, .case-after { padding: 40px; border-radius: 20px; text-align: left; }
.case-before { background: white; border: 2px solid #dc3545; }
.case-after { background: white; border: 2px solid var(--accent); }
.case-before h3, .case-after h3 { font-size: 22px; font-weight: 700; margin-bottom: 20px; }
.case-before h3 { color: #dc3545; }
.case-after h3 { color: var(--accent); }
.case-before ul, .case-after ul { list-style: none; display: flex; flex-direction: column; gap: 12px; }
.case-before li, .case-after li { font-size: 15px; line-height: 1.6; }
.case-quote { background: var(--accent); color: white; padding: 40px; border-radius: 20px; text-align: left; }
.case-quote p { font-size: 18px; line-height: 1.8; font-style: italic; margin-bottom: 20px; }
.case-quote strong { font-size: 14px; opacity: 0.9; }

/* ====================== 18. TIMELINE (O nas) ====================== */
.timeline-section { padding: clamp(60px, 10vw, 100px) clamp(20px, 6vw, 60px); background: white; }
.timeline { max-width: 900px; width: 100%; margin: 0 auto; position: relative; padding: clamp(30px, 5vw, 40px) 0; }
.timeline::before { content: ''; position: absolute; left: 50%; top: 0; bottom: 0; width: 3px; background: linear-gradient(to bottom, var(--accent) 0%, var(--accent-light) 100%); transform: translateX(-50%); }
.timeline-item { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(50px, 8vw, 80px); margin-bottom: clamp(40px, 6vw, 60px); position: relative; opacity: 0; transform: translateY(30px); transition: all 0.6s ease; }
.timeline-item.aos-animate { opacity: 1; transform: translateY(0); }
.timeline-item:nth-child(1) { transition-delay: 0.1s; }
.timeline-item:nth-child(2) { transition-delay: 0.2s; }
.timeline-item:nth-child(3) { transition-delay: 0.3s; }
.timeline-item:nth-child(4) { transition-delay: 0.4s; }
.timeline-item:nth-child(5) { transition-delay: 0.5s; }
.timeline-item:nth-child(6) { transition-delay: 0.6s; }
.timeline-item:nth-child(even) { direction: rtl; }
.timeline-item:nth-child(even) .timeline-content { direction: ltr; }
.timeline-year { text-align: right; padding-right: clamp(30px, 5vw, 40px); font-size: clamp(36px, 7vw, 56px); font-weight: 700; color: var(--accent); line-height: 1; position: relative; }
.timeline-item:nth-child(even) .timeline-year { text-align: left; padding-left: clamp(30px, 5vw, 40px); padding-right: 0; }
.timeline-year::after { content: ''; position: absolute; right: -12px; top: 50%; transform: translateY(-50%); width: 24px; height: 24px; background: var(--accent); border-radius: 50%; border: 4px solid white; box-shadow: 0 0 0 4px var(--accent); }
.timeline-item:nth-child(even) .timeline-year::after { right: auto; left: -12px; }
.timeline-content { padding-left: clamp(30px, 5vw, 40px); }
.timeline-item:nth-child(even) .timeline-content { padding-left: 0; padding-right: clamp(30px, 5vw, 40px); }
.timeline-content h3 { font-size: clamp(18px, 3vw, 24px); font-weight: 600; margin-bottom: 12px; color: var(--primary); }
.timeline-content p { font-size: clamp(14px, 1.8vw, 16px); color: var(--text-light); line-height: 1.8; }

/* ====================== 19. STRONY INFORMACYJNE (RODO, Cookies) ====================== */
.info-page { min-height: 80vh; padding: clamp(80px, 15vw, 150px) clamp(20px, 6vw, 60px) clamp(60px, 12vw, 120px); background: linear-gradient(135deg, #f8f9fa 0%, #ffffff 100%); }
.info-container { max-width: 900px; margin: 0 auto; background: white; padding: clamp(30px, 8vw, 60px); border-radius: 12px; box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08); }
.info-container h1 { font-size: clamp(28px, 5vw, 42px); font-weight: 700; color: #1a1a1a; margin-bottom: clamp(20px, 4vw, 30px); padding-bottom: 15px; border-bottom: 3px solid #238B38; line-height: 1.2; }
.info-container h2 { font-size: clamp(22px, 3.5vw, 32px); font-weight: 600; color: #2d2d2d; margin-top: clamp(30px, 6vw, 50px); margin-bottom: clamp(15px, 3vw, 20px); line-height: 1.3; }
.info-container h3 { font-size: clamp(18px, 2.5vw, 24px); font-weight: 600; color: #3d3d3d; margin-top: clamp(25px, 5vw, 40px); margin-bottom: clamp(12px, 2.5vw, 15px); line-height: 1.4; }
.info-container h4 { font-size: clamp(16px, 2vw, 20px); font-weight: 600; color: #4d4d4d; margin-top: clamp(20px, 4vw, 30px); margin-bottom: clamp(10px, 2vw, 12px); line-height: 1.4; }
.info-container p { font-size: clamp(15px, 1.8vw, 17px); line-height: 1.8; color: #4d4d4d; margin-bottom: clamp(15px, 3vw, 20px); text-align: justify; }
.info-container strong { font-weight: 600; color: #238B38; }
.info-container em { font-style: italic; color: #5d5d5d; }
.info-container ul, .info-container ol { margin: clamp(15px, 3vw, 20px) 0 clamp(20px, 4vw, 30px) clamp(20px, 4vw, 40px); padding: 0; }
.info-container ul li, .info-container ol li { font-size: clamp(15px, 1.8vw, 17px); line-height: 1.7; color: #4d4d4d; margin-bottom: clamp(8px, 1.5vw, 12px); padding-left: 10px; }
.info-container ul li::marker { color: #238B38; font-size: 1.2em; }
.info-container ol li::marker { color: #238B38; font-weight: 600; }
.info-container ul ul, .info-container ol ul, .info-container ul ol, .info-container ol ol { margin-top: 10px; margin-bottom: 10px; }
.info-container a { color: #238B38; text-decoration: none; border-bottom: 1px solid transparent; transition: all 0.3s ease; }
.info-container a:hover { color: #1a6628; border-bottom-color: #1a6628; }
.info-note { background: linear-gradient(135deg, #f0f9f4 0%, #e8f5ee 100%); border-left: 4px solid #238B38; padding: clamp(15px, 3vw, 20px); margin: clamp(20px, 4vw, 30px) 0; border-radius: 6px; font-size: clamp(14px, 1.7vw, 16px); line-height: 1.6; color: #2d5a3d; }
.info-date { font-size: clamp(13px, 1.5vw, 14px); color: #888; font-style: italic; margin-top: clamp(40px, 8vw, 60px); padding-top: clamp(20px, 4vw, 30px); border-top: 1px solid #e0e0e0; text-align: right; }
.info-container table { width: 100%; border-collapse: collapse; margin: clamp(20px, 4vw, 30px) 0; font-size: clamp(14px, 1.6vw, 16px); }
.info-container table th { background: #238B38; color: white; padding: clamp(10px, 2vw, 15px); text-align: left; font-weight: 600; }
.info-container table td { padding: clamp(10px, 2vw, 15px); border-bottom: 1px solid #e0e0e0; color: #4d4d4d; }
.info-container table tr:nth-child(even) { background: #f8f9fa; }
.info-container blockquote { margin: clamp(20px, 4vw, 30px) 0; padding: clamp(15px, 3vw, 20px) clamp(20px, 4vw, 30px); border-left: 4px solid #238B38; background: #f8f9fa; font-style: italic; color: #5d5d5d; }

@media (max-width: 768px) {
    .info-page { padding: 100px 15px 60px; }
    .info-container { padding: 25px 20px; border-radius: 8px; }
    .info-container p { text-align: left; }
    .info-container ul, .info-container ol { margin-left: 20px; }
}
@media (max-width: 480px) {
    .info-page { padding: 90px 10px 50px; }
    .info-container { padding: 20px 15px; box-shadow: 0 2px 10px rgba(0, 0, 0, 0.06); }
    .info-container h1 { border-bottom-width: 2px; }
}
@media print {
    .info-page { padding: 0; background: white; }
    .info-container { box-shadow: none; border-radius: 0; max-width: 100%; }
    nav, footer { display: none; }
}

/* ====================== 20. BANER COOKIES ====================== */
#aro-cookie-banner { position: fixed; bottom: 0; left: 0; right: 0; z-index: 9999; padding: 0; pointer-events: none; display: none; }
.cookie-inner { max-width: 1400px; margin: 0 auto; background: #fff; border-radius: 16px 16px 0 0; border-top: 3px solid #238B38; box-shadow: 0 -8px 48px rgba(0,0,0,0.18); padding: 28px 36px; display: flex; align-items: center; gap: 32px; pointer-events: all; animation: slideUp 0.5s cubic-bezier(0.22, 1, 0.36, 1) forwards; }
.cookie-icon { flex-shrink: 0; width: 52px; height: 52px; background: #fff5f7; border-radius: 12px; display: flex; align-items: center; justify-content: center; font-size: 26px; border: 1px solid #ffd6dd; }
.cookie-text { flex: 1; min-width: 0; }
.cookie-text h3 { font-family: 'Syne', sans-serif; font-weight: 700; font-size: 15px; color: #0d1117; margin: 0 0 6px; letter-spacing: 0.02em; text-transform: uppercase; }
.cookie-text p { font-size: 13.5px; color: #555e6d; margin: 0; line-height: 1.6; font-weight: 400; }
.cookie-text p a { color: #c8102e; text-decoration: none; font-weight: 500; border-bottom: 1px solid rgba(200,16,46,0.3); transition: border-color 0.2s; }
.cookie-text p a:hover { border-color: #c8102e; }
.cookie-actions { display: flex; flex-direction: column; gap: 10px; flex-shrink: 0; }
.cookie-btn { font-family: 'Syne', sans-serif; font-weight: 600; font-size: 13px; letter-spacing: 0.04em; text-transform: uppercase; border: none; border-radius: 8px; padding: 12px 28px; cursor: pointer; transition: all 0.2s ease; white-space: nowrap; }
.cookie-btn-accept { background: #238B38; color: #fff; box-shadow: 0 4px 14px rgba(16, 200, 16, 0.3); }
.cookie-btn-accept:hover { background: #238B38; transform: translateY(-1px); box-shadow: 0 6px 20px rgba(16,200,16,0.4); }
.cookie-btn-reject { background: transparent; color: #555e6d; border: 1.5px solid #dde1e8; }
.cookie-btn-reject:hover { background: #f5f6f8; color: #0d1117; border-color: #c0c6d0; }
.cookie-settings { font-family: 'DM Sans', sans-serif; font-size: 12px; color: #aab0bb; background: none; border: none; cursor: pointer; text-align: center; padding: 4px 0; transition: color 0.2s; text-decoration: underline; text-underline-offset: 3px; }
.cookie-settings:hover { color: #555e6d; }
.cookie-details { display: none; margin-top: 20px; padding-top: 20px; border-top: 1px solid #eef0f4; width: 100%; }
.cookie-details.open { display: block; }
.cookie-details-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.cookie-category { background: #f8f9fb; border: 1.5px solid #eef0f4; border-radius: 10px; padding: 14px 16px; display: flex; align-items: flex-start; gap: 12px; transition: border-color 0.2s; }
.cookie-category:hover { border-color: #dde1e8; }
.cookie-category-info { flex: 1; }
.cookie-category-info strong { display: block; font-family: 'Syne', sans-serif; font-size: 12.5px; font-weight: 700; color: #0d1117; margin-bottom: 3px; letter-spacing: 0.02em; text-transform: uppercase; }
.cookie-category-info span { font-size: 12px; color: #8a919e; line-height: 1.5; }
.toggle { flex-shrink: 0; position: relative; width: 38px; height: 22px; margin-top: 1px; }
.toggle input { opacity: 0; width: 0; height: 0; position: absolute; }
.toggle-slider { position: absolute; inset: 0; background: #dde1e8; border-radius: 22px; cursor: pointer; transition: 0.25s; }
.toggle-slider::before { content: ''; position: absolute; width: 16px; height: 16px; left: 3px; bottom: 3px; background: white; border-radius: 50%; transition: 0.25s; box-shadow: 0 1px 4px rgba(0,0,0,0.15); }
.toggle input:checked + .toggle-slider { background: #089e00; }
.toggle input:checked + .toggle-slider::before { transform: translateX(16px); }
.toggle input:disabled + .toggle-slider { background: #b0e0c8; cursor: not-allowed; opacity: 0.8; }
@media (max-width: 900px) {
    .cookie-inner { flex-direction: column; gap: 20px; padding: 22px 22px; border-radius: 16px 16px 0 0; }
    .cookie-actions { width: 100%; flex-direction: row; flex-wrap: wrap; }
    .cookie-btn { flex: 1; min-width: 130px; text-align: center; }
    .cookie-settings { width: 100%; text-align: center; }
    .cookie-details-grid { grid-template-columns: 1fr; }
}
@media (max-width: 480px) {
    #aro-cookie-banner { padding: 0 12px 12px; }
    .cookie-inner { padding: 18px 16px; }
    .cookie-btn { font-size: 12px; padding: 10px 16px; }
}

/* ====================== 21. ANIMACJE (KEYFRAMES — po jednej) ====================== */
@keyframes logoFloat {
    0%, 100% { transform: translateY(0) scale(1); }
    50% { transform: translateY(-15px) scale(1.02); }
}
@keyframes fadeInUp {
    from { opacity: 0; transform: translateY(30px); }
    to { opacity: 1; transform: translateY(0); }
}
@keyframes scroll {
    0% { opacity: 1; top: 8px; }
    100% { opacity: 0; top: 24px; }
}
@keyframes rotate {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}
@keyframes float {
    0%, 100% { transform: translate(0, 0); }
    50% { transform: translate(50px, 30px); }
}
@keyframes slideUp {
    from { transform: translateY(110%); opacity: 0; }
    to { transform: translateY(0); opacity: 1; }
}
@keyframes slideDown {
    from { opacity: 0; transform: translateY(-20px); }
    to { opacity: 1; transform: translateY(0); }
}
@keyframes pulse {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.1); }
}

/* ====================== 22. SCROLLBAR ====================== */
::-webkit-scrollbar { width: 10px; }
::-webkit-scrollbar-track { background: #1a1a1a; }
::-webkit-scrollbar-thumb { background: var(--accent); border-radius: 5px; }
::-webkit-scrollbar-thumb:hover { background: var(--accent-light); }