:root {
    --orange: #FF8C42;
    --yellow: #FFD700;
    --sky-light: #87CEEB;
    --sky: #5DADE2;
    --sky-dark: #3498DB;
    --blue: #2E86AB;
    --blue-dark: #1A5F7A;
    --teal: #16A085;
    --green-light: #A8E6CF;
    --green: #4CAF50;
    --green-dark: #2D5016;
    --mountain-1: #5D7B8A;
    --mountain-2: #4A6572;
    --mountain-3: #3A5260;
    --dark: #2C3E50;
    --light: #ECF0F1;
}

* {
    box-sizing: border-box;
}

body {
    margin: 0;
    font-family: 'Poppins', sans-serif;
    background: #FFFFFF;
    color: var(--dark);
    overflow-x: hidden;
    padding-top: 70px;
}

/* ===== NAVIGATION BAR ===== */

.navbar {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    background: rgba(44, 62, 80, 0.95);
    backdrop-filter: blur(10px);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
    z-index: 1000;
    transition: all 0.3s ease;
}

.navbar-container {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 40px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 70px;
}

.navbar-logo {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 1.8rem;
    font-weight: 900;
    color: white;
    text-decoration: none;
    letter-spacing: -1px;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);
    transition: all 0.3s ease;
}

.navbar-logo-img {
    height: 45px;
    width: auto;
    filter: drop-shadow(2px 2px 4px rgba(0, 0, 0, 0.3));
}

.navbar-logo .logo-raczko {
    color: var(--yellow);
    text-shadow:
        2px 2px 0 var(--orange),
        4px 4px 0 rgba(0,0,0,0.2);
    margin-right: 4px;
}

.navbar-logo:hover {
    transform: scale(1.05);
}

.nav-menu {
    display: flex;
    list-style: none;
    margin: 0;
    padding: 0;
    gap: 35px;
}

.nav-item {
    margin: 0;
}

.nav-link {
    display: inline-block;
    background: linear-gradient(135deg, var(--teal), var(--green));
    color: white;
    text-decoration: none;
    font-weight: 900;
    font-size: 0.9rem;
    padding: 12px 24px;
    border-radius: 50px;
    transition: all 0.3s ease;
    position: relative;
    box-shadow:
        0 4px 0 var(--green-dark),
        0 6px 15px rgba(22,160,133,0.5);
    text-transform: uppercase;
    letter-spacing: 1px;
    border: none;
}

.nav-link::after {
    display: none;
}

.nav-link:hover {
    color: white;
    transform: translateY(-2px);
    box-shadow:
        0 6px 0 var(--green-dark),
        0 8px 20px rgba(22,160,133,0.6);
}

.nav-link:active {
    transform: translateY(2px);
    box-shadow:
        0 2px 0 var(--green-dark),
        0 4px 10px rgba(22,160,133,0.4);
}

/* Hamburger menu */
.hamburger {
    display: none;
    flex-direction: column;
    cursor: pointer;
    gap: 5px;
    background: none;
    border: none;
    padding: 0;
    margin: 0;
}

.hamburger span {
    width: 28px;
    height: 3px;
    background: var(--yellow);
    border-radius: 3px;
    transition: all 0.3s ease;
}

.hamburger.active span:nth-child(1) {
    transform: rotate(45deg) translate(8px, 8px);
}

.hamburger.active span:nth-child(2) {
    opacity: 0;
}

.hamburger.active span:nth-child(3) {
    transform: rotate(-45deg) translate(7px, -7px);
}

/* ===== HEADER ===== */

header {
    position: relative;
    background: linear-gradient(180deg, var(--sky-light) 0%, var(--sky) 100%);
    color: white;
    text-align: center;
    padding: 80px 20px 150px;
    overflow: hidden;
    min-height: 600px;
}

/* Low Poly Sun */
.sun {
    position: absolute;
    top: 60px;
    right: 8%;
    z-index: 1;
}

.sun-center {
    width: 100px;
    height: 100px;
    background: var(--yellow);
    clip-path: polygon(50% 0%, 65% 35%, 100% 50%, 65% 65%, 50% 100%, 35% 65%, 0% 50%, 35% 35%);
    animation: sun-rotate 40s linear infinite, sun-glow 3s ease-in-out infinite;
}

.sun-ray {
    position: absolute;
    background: var(--yellow);
    opacity: 0.6;
    animation: sunray-fade 3s ease-in-out infinite;
}

.sun-ray-1 {
    width: 30px;
    height: 8px;
    top: 46px;
    right: -35px;
    clip-path: polygon(0 50%, 100% 0, 100% 100%);
    animation-delay: 0s;
    transform-origin: left center;
}

.sun-ray-2 {
    width: 30px;
    height: 8px;
    top: 46px;
    left: -35px;
    clip-path: polygon(100% 50%, 0 0, 0 100%);
    animation-delay: 1.5s;
    transform-origin: right center;
}

.sun-ray-3 {
    width: 8px;
    height: 30px;
    top: -35px;
    left: 46px;
    clip-path: polygon(50% 100%, 0 0, 100% 0);
    animation-delay: 0.75s;
    transform-origin: center bottom;
}

.sun-ray-4 {
    width: 8px;
    height: 30px;
    bottom: -35px;
    left: 46px;
    clip-path: polygon(50% 0, 0 100%, 100% 100%);
    animation-delay: 2.25s;
    transform-origin: center top;
}

.sun-ray-5 {
    width: 25px;
    height: 25px;
    top: -25px;
    right: -25px;
    clip-path: polygon(0 100%, 100% 0, 100% 100%);
    animation-delay: 0.4s;
    transform-origin: bottom left;
}

.sun-ray-6 {
    width: 25px;
    height: 25px;
    top: -25px;
    left: -25px;
    clip-path: polygon(100% 100%, 0 0, 0 100%);
    animation-delay: 1.8s;
    transform-origin: bottom right;
}

.sun-ray-7 {
    width: 25px;
    height: 25px;
    bottom: -25px;
    right: -25px;
    clip-path: polygon(0 0, 100% 0, 100% 100%);
    animation-delay: 1.2s;
    transform-origin: top left;
}

.sun-ray-8 {
    width: 25px;
    height: 25px;
    bottom: -25px;
    left: -25px;
    clip-path: polygon(0 0, 100% 100%, 0 100%);
    animation-delay: 2.6s;
    transform-origin: top right;
}

@keyframes sun-rotate {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

@keyframes sunray-fade {
    0%, 100% {
        opacity: 0.4;
        transform: scale(1);
        filter: brightness(1);
    }
    50% {
        opacity: 0.9;
        transform: scale(1.15);
        filter: brightness(1.3);
    }
}

@keyframes sun-glow {
    0%, 100% { filter: drop-shadow(0 0 40px rgba(255, 215, 0, 0.6)); }
    50% { filter: drop-shadow(0 0 60px rgba(255, 215, 0, 0.8)); }
}

/* Low Poly Mountains - Back Layer */
.mountains-back {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 300px;
    z-index: 2;
}

.mountain-back-1 {
    position: absolute;
    bottom: 0;
    left: -10%;
    width: 0;
    height: 0;
    border-left: 400px solid transparent;
    border-right: 400px solid transparent;
    border-bottom: 250px solid var(--mountain-3);
    opacity: 0.7;
}

.mountain-back-2 {
    position: absolute;
    bottom: 0;
    right: 10%;
    width: 0;
    height: 0;
    border-left: 350px solid transparent;
    border-right: 350px solid transparent;
    border-bottom: 220px solid var(--mountain-3);
    opacity: 0.6;
}

/* Low Poly Mountains - Middle Layer */
.mountains-mid {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 250px;
    z-index: 3;
}

.mountain-mid-1 {
    position: absolute;
    bottom: 0;
    left: 20%;
    width: 0;
    height: 0;
    border-left: 300px solid transparent;
    border-right: 300px solid transparent;
    border-bottom: 200px solid var(--mountain-2);
}

.mountain-mid-2 {
    position: absolute;
    bottom: 0;
    right: 15%;
    width: 0;
    height: 0;
    border-left: 250px solid transparent;
    border-right: 250px solid transparent;
    border-bottom: 180px solid var(--mountain-2);
}

/* Low Poly Mountains - Front Layer */
.mountains-front {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 200px;
    z-index: 4;
}

.mountain-front-1 {
    position: absolute;
    bottom: 0;
    left: 5%;
    width: 0;
    height: 0;
    border-left: 250px solid transparent;
    border-right: 250px solid transparent;
    border-bottom: 150px solid var(--mountain-1);
}

.mountain-front-2 {
    position: absolute;
    bottom: 0;
    right: 30%;
    width: 0;
    height: 0;
    border-left: 200px solid transparent;
    border-right: 200px solid transparent;
    border-bottom: 130px solid var(--mountain-1);
}

.mountain-front-3 {
    position: absolute;
    bottom: 0;
    right: 5%;
    width: 0;
    height: 0;
    border-left: 180px solid transparent;
    border-right: 180px solid transparent;
    border-bottom: 120px solid var(--mountain-1);
}

/* Low Poly Trees */
.trees {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 150px;
    z-index: 5;
}

.tree {
    position: absolute;
    bottom: 20px;
}

.tree-1 {
    left: 15%;
    width: 0;
    height: 0;
    border-left: 15px solid transparent;
    border-right: 15px solid transparent;
    border-bottom: 60px solid var(--green-dark);
}

.tree-2 {
    left: 18%;
    width: 0;
    height: 0;
    border-left: 12px solid transparent;
    border-right: 12px solid transparent;
    border-bottom: 50px solid var(--green);
}

.tree-3 {
    right: 25%;
    width: 0;
    height: 0;
    border-left: 18px solid transparent;
    border-right: 18px solid transparent;
    border-bottom: 70px solid var(--green-dark);
}

.tree-4 {
    right: 10%;
    width: 0;
    height: 0;
    border-left: 14px solid transparent;
    border-right: 14px solid transparent;
    border-bottom: 55px solid var(--green);
}

/* Snow caps on mountains */
.mountain-front-1::before,
.mountain-front-2::before,
.mountain-front-3::before {
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 0;
    height: 0;
    border-left: 30px solid transparent;
    border-right: 30px solid transparent;
    border-bottom: 25px solid rgba(255,255,255,0.8);
}

.mountain-mid-1::before,
.mountain-mid-2::before {
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 0;
    height: 0;
    border-left: 40px solid transparent;
    border-right: 40px solid transparent;
    border-bottom: 30px solid rgba(255,255,255,0.6);
}

.logo {
    width: 220px;
    height: 220px;
    margin: 0 auto 30px;
    animation: float 6s ease-in-out infinite;
    filter: drop-shadow(0 10px 40px rgba(0,0,0,0.4));
    position: relative;
    z-index: 10;
}

.logo img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.wooden-board h1 {
    font-size: 3.5rem;
    margin: 0 0 15px 0;
    font-weight: 900;
    text-shadow:
        3px 3px 0 rgba(0,0,0,0.4),
        6px 6px 0 rgba(0,0,0,0.2);
    position: relative;
    z-index: 5;
    letter-spacing: -2px;
    color: #FFF;
    text-align: center;
}

.wooden-board h1 span {
    color: var(--yellow);
    text-shadow:
        3px 3px 0 var(--orange),
        6px 6px 0 rgba(0,0,0,0.3);
    margin-right: 4px;
}

/* Wooden signpost */
.signpost {
    position: relative;
    max-width: 900px;
    margin: 40px auto;
    z-index: 10;
}

.signpost-pole {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translateX(-50%);
    width: 28px;
    height: 350px;
    background: #4E342E;
    border-radius: 5px;
    box-shadow:
        4px 0 15px rgba(0,0,0,0.5),
        inset 2px 0 0 rgba(255,255,255,0.08),
        inset -2px 0 0 rgba(0,0,0,0.4);
    z-index: 1;
    border-left: 3px solid #5D4037;
    border-right: 3px solid #3E2723;
}

.signpost-pole::before {
    content: '';
    position: absolute;
    top: 20%;
    left: 5px;
    width: 18px;
    height: 60%;
    background: rgba(46,31,27,0.3);
    border-radius: 3px;
}

.signpost-pole::after {
    content: '';
    position: absolute;
    top: 10%;
    left: 3px;
    width: 5px;
    height: 80%;
    background: rgba(255,255,255,0.06);
    border-radius: 2px;
}

.wooden-board {
    position: relative;
    background: #795548;
    padding: 35px 60px 50px 80px;
    margin: 15px 0;
    border-radius: 10px;
    box-shadow:
        0 12px 35px rgba(0,0,0,0.4),
        0 6px 18px rgba(0,0,0,0.3),
        inset 0 3px 0 rgba(255,255,255,0.12),
        inset 0 -2px 0 rgba(0,0,0,0.35);
    transform-origin: left center;
    z-index: 10;
    position: relative;
    border: 4px solid #5D4037;
    border-top-color: #8D6E63;
    border-bottom-color: #4E342E;
}

.wooden-board::before,
.wooden-board::after {
    content: '';
    position: absolute;
    width: 0;
    height: 0;
    border-style: solid;
}

/* Arrow pointer on left - sharper */
.wooden-board::before {
    left: -38px;
    top: 50%;
    transform: translateY(-50%);
    border-width: 50px 38px 50px 0;
    border-color: transparent #795548 transparent transparent;
    filter: drop-shadow(2px 2px 4px rgba(0,0,0,0.3));
}

/* Shadow for arrow */
.wooden-board::after {
    left: -38px;
    top: 50%;
    transform: translateY(-50%);
    border-width: 50px 38px 50px 0;
    border-color: transparent rgba(0,0,0,0.35) transparent transparent;
    filter: blur(5px);
    z-index: -1;
}

/* Low poly wood grain */
.wooden-board .wood-grain {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    pointer-events: none;
    opacity: 1;
}

/* Wood grain shape 1 - diagonal stripe */
.wooden-board .wood-grain::before {
    content: '';
    position: absolute;
    top: 15%;
    left: 20%;
    width: 0;
    height: 0;
    border-left: 70px solid transparent;
    border-right: 120px solid transparent;
    border-bottom: 12px solid rgba(62,39,35,0.35);
    transform: rotate(2deg);
}

/* Wood grain shape 2 - another diagonal */
.wooden-board .wood-grain::after {
    content: '';
    position: absolute;
    bottom: 25%;
    right: 15%;
    width: 0;
    height: 0;
    border-left: 90px solid transparent;
    border-right: 80px solid transparent;
    border-bottom: 14px solid rgba(62,39,35,0.3);
    transform: rotate(-3deg);
}

/* Low poly knot 1 */
.wood-knot-1 {
    position: absolute;
    top: 35%;
    left: 60%;
    width: 0;
    height: 0;
    border-left: 20px solid transparent;
    border-right: 20px solid transparent;
    border-bottom: 32px solid rgba(62,39,35,0.45);
    transform: rotate(45deg);
}

/* Low poly knot 2 */
.wood-knot-2 {
    position: absolute;
    bottom: 30%;
    left: 25%;
    width: 26px;
    height: 26px;
    background: rgba(62,39,35,0.4);
    clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%);
    transform: rotate(20deg);
}

/* Nail/screw heads */
.wooden-board .nail {
    position: absolute;
    width: 12px;
    height: 12px;
    background: radial-gradient(circle, #757575 0%, #424242 70%);
    border-radius: 50%;
    box-shadow:
        inset -2px -2px 3px rgba(255,255,255,0.4),
        1px 1px 3px rgba(0,0,0,0.5);
}

.nail-1 { top: 15px; left: 30px; }
.nail-2 { top: 15px; right: 30px; }
.nail-3 { bottom: 15px; left: 30px; }
.nail-4 { bottom: 15px; right: 30px; }

/* Rotate board slightly for natural look */
.wooden-board {
    transform: rotate(-1deg);
    transition: transform 0.6s ease;
}

/* Hover effect - board moves gently */
.signpost:hover .wooden-board {
    transform: rotate(2deg) translateY(-8px);
}

header p {
    margin: 0 0 15px 0;
    font-size: 1.35rem;
    font-weight: 700;
    color: #FFF8E1;
    text-shadow:
        2px 2px 4px rgba(0,0,0,0.7),
        -1px -1px 0 rgba(0,0,0,0.4);
    line-height: 1.7;
    position: relative;
    z-index: 2;
}

/* Signpost time/distance */
.signpost-time {
    position: absolute;
    bottom: 10px;
    left: 80px;
    font-size: 0.95rem;
    font-weight: 700;
    color: #A1887F;
    text-shadow: 1px 1px 2px rgba(0,0,0,0.4);
    letter-spacing: 0.5px;
    z-index: 3;
    opacity: 0.85;
}

/* ===== BUTTON ===== */

.btn {
    display: inline-block;
    background: linear-gradient(135deg, var(--teal), var(--green));
    color: white;
    padding: 22px 50px;
    border-radius: 50px;
    font-weight: 900;
    text-decoration: none;
    transition: all 0.3s ease;
    border: none;
    box-shadow:
        0 8px 0 var(--green-dark),
        0 12px 30px rgba(22,160,133,0.5);
    position: relative;
    z-index: 10;
    font-size: 1.3rem;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.btn:hover {
    transform: translateY(-4px);
    box-shadow:
        0 12px 0 var(--green-dark),
        0 16px 40px rgba(22,160,133,0.6);
}

.btn:active {
    transform: translateY(4px);
    box-shadow:
        0 4px 0 var(--green-dark),
        0 6px 20px rgba(22,160,133,0.4);
}


/* ===== LOW POLY FENCE TRANSITION ===== */

.fence-transition {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 70px;
    background: transparent;
    overflow: visible;
    z-index: 10;
}

/* Fence posts - low poly vertical posts */
.fence-post {
    position: absolute;
    bottom: 0;
    width: 18px;
    height: 60px;
    background: #6D4C41;
    clip-path: polygon(0 0, 100% 0, 95% 100%, 5% 100%);
    box-shadow: 3px 0 0 rgba(0,0,0,0.2);
}

.fence-post::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent 0%, rgba(0,0,0,0.15) 50%, transparent 100%);
}

.fence-post-1 {
    left: 10%;
    height: 58px;
}

.fence-post-2 {
    left: 30%;
    height: 62px;
}

.fence-post-3 {
    left: 50%;
    height: 60px;
}

.fence-post-4 {
    left: 70%;
    height: 61px;
}

.fence-post-5 {
    left: 90%;
    height: 59px;
}

/* Post caps - low poly tops */
.fence-post::after {
    content: '';
    position: absolute;
    top: -6px;
    left: 50%;
    transform: translateX(-50%);
    width: 0;
    height: 0;
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
    border-bottom: 10px solid #5D4037;
    filter: drop-shadow(0 2px 3px rgba(0,0,0,0.3));
}

/* Fence rails - horizontal bars - grube i małe */
.fence-rail {
    position: absolute;
    left: 5%;
    right: 5%;
    height: 18px;
    background: #8D6E63;
    clip-path: polygon(
        0 25%, 5% 30%, 20% 28%, 50% 32%, 80% 28%, 95% 30%, 100% 25%,
        100% 75%, 95% 70%, 80% 72%, 50% 68%, 20% 72%, 5% 70%, 0 75%
    );
    box-shadow: 0 4px 8px rgba(0,0,0,0.4);
}

.fence-rail::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 50%;
    background: linear-gradient(180deg, rgba(255,255,255,0.1) 0%, transparent 100%);
}

.fence-rail-top {
    top: 10px;
    z-index: 12;
}

.fence-rail-bottom {
    top: 38px;
    z-index: 11;
}

/* ===== SECTIONS ===== */

section {
    padding: 100px 20px;
    position: relative;
    overflow: visible;
}

#o-nas {
    background: #B8E6CF;
    position: relative;
    padding-top: 160px;
}

/* Low poly diagonal shapes - irregular */
#o-nas {
    background:
        linear-gradient(135deg,
            transparent 0%,
            transparent 15%,
            #A0D4B8 15%,
            #A0D4B8 35%,
            transparent 35%,
            transparent 100%
        ),
        linear-gradient(110deg,
            transparent 0%,
            transparent 45%,
            #92C4A8 45%,
            #92C4A8 70%,
            transparent 70%,
            transparent 100%
        ),
        linear-gradient(95deg,
            transparent 0%,
            transparent 75%,
            #A0D4B8 75%,
            #A0D4B8 95%,
            transparent 95%,
            transparent 100%
        ),
        #B8E6CF;
}

/* Low poly meadow decorations */
#o-nas::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 80px;
    background: linear-gradient(180deg, transparent 0%, rgba(76, 175, 80, 0.1) 100%);
    z-index: 0;
}

/* Stream - flowing from left to right at the top */
#o-nas::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 60px;
    background: linear-gradient(90deg,
        transparent 0%,
        rgba(93, 173, 226, 0.6) 5%,
        rgba(93, 173, 226, 0.7) 50%,
        rgba(93, 173, 226, 0.6) 95%,
        transparent 100%);
    clip-path: polygon(
        0 40%, 5% 45%, 10% 38%, 15% 42%, 20% 36%, 25% 40%, 30% 35%,
        35% 38%, 40% 34%, 45% 37%, 50% 33%, 55% 36%, 60% 32%, 65% 35%,
        70% 30%, 75% 33%, 80% 28%, 85% 32%, 90% 30%, 95% 35%, 100% 40%,
        100% 70%, 95% 65%, 90% 68%, 85% 64%, 80% 67%, 75% 63%, 70% 66%,
        65% 62%, 60% 65%, 55% 60%, 50% 63%, 45% 58%, 40% 62%, 35% 57%,
        30% 60%, 25% 56%, 20% 58%, 15% 55%, 10% 57%, 5% 54%, 0 58%
    );
    box-shadow: 0 4px 15px rgba(93, 173, 226, 0.4);
    z-index: 100;
    animation: stream-flow 8s ease-in-out infinite;
}

@keyframes stream-flow {
    0%, 100% {
        filter: brightness(1);
    }
    50% {
        filter: brightness(1.15);
    }
}

/* Low poly flowers - maki (poppies) and krokusy (crocuses) */
.meadow-flower {
    position: absolute;
    z-index: 0;
    transition: transform 0.3s ease;
    cursor: pointer;
}

.meadow-flower:hover {
    animation: flower-sway 1s ease-in-out infinite;
}

@keyframes flower-sway {
    0%, 100% {
        transform: rotate(0deg) scale(1);
    }
    25% {
        transform: rotate(-6deg) scale(1.15);
    }
    50% {
        transform: rotate(0deg) scale(1.2);
    }
    75% {
        transform: rotate(6deg) scale(1.15);
    }
}

/* Flower 1 - Czerwony mak (red poppy) - bardzo duży */
.meadow-flower-1 {
    top: 150px;
    left: 8%;
    width: 38px;
    height: 38px;
    background: #E74C3C;
    clip-path: polygon(
        50% 20%, 60% 25%, 70% 22%, 80% 30%, 85% 40%, 88% 50%,
        85% 60%, 80% 70%, 70% 78%, 60% 75%, 50% 80%, 40% 75%,
        30% 78%, 20% 70%, 15% 60%, 12% 50%, 15% 40%, 20% 30%,
        30% 22%, 40% 25%
    );
}

/* Center of poppy */
.meadow-flower-1::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 11px;
    height: 11px;
    background: #2C3E50;
    border-radius: 50%;
}

/* Flower 2 - Fioletowy krokus (purple crocus) - duży */
.meadow-flower-2 {
    top: 180px;
    right: 12%;
    width: 33px;
    height: 33px;
    background: #9B59B6;
    clip-path: polygon(
        50% 20%, 60% 25%, 70% 22%, 80% 30%, 85% 40%, 88% 50%,
        85% 60%, 80% 70%, 70% 78%, 60% 75%, 50% 80%, 40% 75%,
        30% 78%, 20% 70%, 15% 60%, 12% 50%, 15% 40%, 20% 30%,
        30% 22%, 40% 25%
    );
}

.meadow-flower-2::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 9px;
    height: 9px;
    background: #FFD700;
    border-radius: 50%;
}

/* Flower 3 - Czerwony mak (red poppy) - bardzo mały */
.meadow-flower-3 {
    bottom: 120px;
    left: 15%;
    width: 19px;
    height: 19px;
    background: #E74C3C;
    clip-path: polygon(
        50% 20%, 60% 25%, 70% 22%, 80% 30%, 85% 40%, 88% 50%,
        85% 60%, 80% 70%, 70% 78%, 60% 75%, 50% 80%, 40% 75%,
        30% 78%, 20% 70%, 15% 60%, 12% 50%, 15% 40%, 20% 30%,
        30% 22%, 40% 25%
    );
}

/* Center of poppy */
.meadow-flower-3::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 5px;
    height: 5px;
    background: #2C3E50;
    border-radius: 50%;
}

/* Flower 4 - Fioletowy krokus (purple crocus) - średni */
.meadow-flower-4 {
    bottom: 140px;
    right: 20%;
    width: 27px;
    height: 27px;
    background: #9B59B6;
    clip-path: polygon(
        50% 20%, 60% 25%, 70% 22%, 80% 30%, 85% 40%, 88% 50%,
        85% 60%, 80% 70%, 70% 78%, 60% 75%, 50% 80%, 40% 75%,
        30% 78%, 20% 70%, 15% 60%, 12% 50%, 15% 40%, 20% 30%,
        30% 22%, 40% 25%
    );
}

.meadow-flower-4::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 7px;
    height: 7px;
    background: #FFD700;
    border-radius: 50%;
}

/* Flower 5 - Czerwony mak (red poppy) - średni-mały */
.meadow-flower-5 {
    top: 120px;
    left: 35%;
    width: 25px;
    height: 25px;
    background: #E74C3C;
    clip-path: polygon(
        50% 20%, 60% 25%, 70% 22%, 80% 30%, 85% 40%, 88% 50%,
        85% 60%, 80% 70%, 70% 78%, 60% 75%, 50% 80%, 40% 75%,
        30% 78%, 20% 70%, 15% 60%, 12% 50%, 15% 40%, 20% 30%,
        30% 22%, 40% 25%
    );
}

.meadow-flower-5::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 6px;
    height: 6px;
    background: #2C3E50;
    border-radius: 50%;
}

/* Flower 6 - Fioletowy krokus - mały */
.meadow-flower-6 {
    top: 180px;
    left: 3%;
    width: 22px;
    height: 22px;
    background: #9B59B6;
    clip-path: polygon(
        50% 20%, 60% 25%, 70% 22%, 80% 30%, 85% 40%, 88% 50%,
        85% 60%, 80% 70%, 70% 78%, 60% 75%, 50% 80%, 40% 75%,
        30% 78%, 20% 70%, 15% 60%, 12% 50%, 15% 40%, 20% 30%,
        30% 22%, 40% 25%
    );
}

.meadow-flower-6::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 6px;
    height: 6px;
    background: #FFD700;
    border-radius: 50%;
}

/* Flower 7 - Czerwony mak - średni */
.meadow-flower-7 {
    top: 140px;
    right: 5%;
    width: 30px;
    height: 30px;
    background: #E74C3C;
    clip-path: polygon(
        50% 20%, 60% 25%, 70% 22%, 80% 30%, 85% 40%, 88% 50%,
        85% 60%, 80% 70%, 70% 78%, 60% 75%, 50% 80%, 40% 75%,
        30% 78%, 20% 70%, 15% 60%, 12% 50%, 15% 40%, 20% 30%,
        30% 22%, 40% 25%
    );
}

.meadow-flower-7::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 8px;
    height: 8px;
    background: #2C3E50;
    border-radius: 50%;
}

/* Flower 8 - Fioletowy krokus - średni-duży */
.meadow-flower-8 {
    bottom: 100px;
    left: 2%;
    width: 31px;
    height: 31px;
    background: #9B59B6;
    clip-path: polygon(
        50% 20%, 60% 25%, 70% 22%, 80% 30%, 85% 40%, 88% 50%,
        85% 60%, 80% 70%, 70% 78%, 60% 75%, 50% 80%, 40% 75%,
        30% 78%, 20% 70%, 15% 60%, 12% 50%, 15% 40%, 20% 30%,
        30% 22%, 40% 25%
    );
}

.meadow-flower-8::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 8px;
    height: 8px;
    background: #FFD700;
    border-radius: 50%;
}

/* Flower 9 - Czerwony mak - duży */
.meadow-flower-9 {
    bottom: 120px;
    right: 4%;
    width: 35px;
    height: 35px;
    background: #E74C3C;
    clip-path: polygon(
        50% 20%, 60% 25%, 70% 22%, 80% 30%, 85% 40%, 88% 50%,
        85% 60%, 80% 70%, 70% 78%, 60% 75%, 50% 80%, 40% 75%,
        30% 78%, 20% 70%, 15% 60%, 12% 50%, 15% 40%, 20% 30%,
        30% 22%, 40% 25%
    );
}

.meadow-flower-9::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 10px;
    height: 10px;
    background: #2C3E50;
    border-radius: 50%;
}

/* Flower 10 - Fioletowy krokus - bardzo mały */
.meadow-flower-10 {
    top: 280px;
    left: 6%;
    width: 20px;
    height: 20px;
    background: #9B59B6;
    clip-path: polygon(
        50% 20%, 60% 25%, 70% 22%, 80% 30%, 85% 40%, 88% 50%,
        85% 60%, 80% 70%, 70% 78%, 60% 75%, 50% 80%, 40% 75%,
        30% 78%, 20% 70%, 15% 60%, 12% 50%, 15% 40%, 20% 30%,
        30% 22%, 40% 25%
    );
}

.meadow-flower-10::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 5px;
    height: 5px;
    background: #FFD700;
    border-radius: 50%;
}

/* Flower 11 - Czerwony mak - mały */
.meadow-flower-11 {
    top: 300px;
    right: 7%;
    width: 23px;
    height: 23px;
    background: #E74C3C;
    clip-path: polygon(
        50% 20%, 60% 25%, 70% 22%, 80% 30%, 85% 40%, 88% 50%,
        85% 60%, 80% 70%, 70% 78%, 60% 75%, 50% 80%, 40% 75%,
        30% 78%, 20% 70%, 15% 60%, 12% 50%, 15% 40%, 20% 30%,
        30% 22%, 40% 25%
    );
}

.meadow-flower-11::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 6px;
    height: 6px;
    background: #2C3E50;
    border-radius: 50%;
}

/* Flower 12 - Czerwony mak - średni-duży */
.meadow-flower-12 {
    top: 220px;
    left: 10%;
    width: 33px;
    height: 33px;
    background: #E74C3C;
    clip-path: polygon(
        50% 20%, 60% 25%, 70% 22%, 80% 30%, 85% 40%, 88% 50%,
        85% 60%, 80% 70%, 70% 78%, 60% 75%, 50% 80%, 40% 75%,
        30% 78%, 20% 70%, 15% 60%, 12% 50%, 15% 40%, 20% 30%,
        30% 22%, 40% 25%
    );
}

.meadow-flower-12::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 9px;
    height: 9px;
    background: #2C3E50;
    border-radius: 50%;
}

/* Flower 13 - Fioletowy krokus - górny, mały */
.meadow-flower-13 {
    top: 80px;
    left: 30%;
    width: 21px;
    height: 21px;
    background: #9B59B6;
    clip-path: polygon(
        50% 20%, 60% 25%, 70% 22%, 80% 30%, 85% 40%, 88% 50%,
        85% 60%, 80% 70%, 70% 78%, 60% 75%, 50% 80%, 40% 75%,
        30% 78%, 20% 70%, 15% 60%, 12% 50%, 15% 40%, 20% 30%,
        30% 22%, 40% 25%
    );
}

.meadow-flower-13::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 5px;
    height: 5px;
    background: #FFD700;
    border-radius: 50%;
}

/* Flower 14 - Czerwony mak - górny, średni */
.meadow-flower-14 {
    top: 90px;
    right: 28%;
    width: 28px;
    height: 28px;
    background: #E74C3C;
    clip-path: polygon(
        50% 20%, 60% 25%, 70% 22%, 80% 30%, 85% 40%, 88% 50%,
        85% 60%, 80% 70%, 70% 78%, 60% 75%, 50% 80%, 40% 75%,
        30% 78%, 20% 70%, 15% 60%, 12% 50%, 15% 40%, 20% 30%,
        30% 22%, 40% 25%
    );
}

.meadow-flower-14::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 7px;
    height: 7px;
    background: #2C3E50;
    border-radius: 50%;
}

/* Flower 15 - Czerwony mak - górny, mały */
.meadow-flower-15 {
    top: 70px;
    left: 50%;
    width: 23px;
    height: 23px;
    background: #E74C3C;
    clip-path: polygon(
        50% 20%, 60% 25%, 70% 22%, 80% 30%, 85% 40%, 88% 50%,
        85% 60%, 80% 70%, 70% 78%, 60% 75%, 50% 80%, 40% 75%,
        30% 78%, 20% 70%, 15% 60%, 12% 50%, 15% 40%, 20% 30%,
        30% 22%, 40% 25%
    );
}

.meadow-flower-15::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 6px;
    height: 6px;
    background: #2C3E50;
    border-radius: 50%;
}

/* Flower 16 - Fioletowy krokus - górny, średni */
.meadow-flower-16 {
    top: 100px;
    right: 45%;
    width: 26px;
    height: 26px;
    background: #9B59B6;
    clip-path: polygon(
        50% 20%, 60% 25%, 70% 22%, 80% 30%, 85% 40%, 88% 50%,
        85% 60%, 80% 70%, 70% 78%, 60% 75%, 50% 80%, 40% 75%,
        30% 78%, 20% 70%, 15% 60%, 12% 50%, 15% 40%, 20% 30%,
        30% 22%, 40% 25%
    );
}

.meadow-flower-16::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 7px;
    height: 7px;
    background: #FFD700;
    border-radius: 50%;
}


#jak-to-dziala {
    background: linear-gradient(135deg, var(--sky-light), #D4E9F7);
}

#mapa {
    background: linear-gradient(135deg, #E0F2F1, var(--green-light));
}

#wspolpraca {
    background: linear-gradient(135deg, #D4E9F7, var(--sky-light));
}

#kontakt {
    background: linear-gradient(135deg, var(--green-light), #E8F8F5);
}

#kontakt {
    background: linear-gradient(135deg, var(--sky-light), #D4E9F7);
}

h2 {
    font-size: 3.5rem;
    margin-bottom: 60px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: -2px;
    position: relative;
    text-align: center;
    text-shadow:
        4px 4px 0 rgba(0,0,0,0.15);
    z-index: 1;
    transition: transform 0.3s ease;
}

h2:hover {
    transform: scale(1.05);
}

#o-nas h2 {
    color: var(--yellow);
    text-shadow:
        3px 3px 0 rgba(0,0,0,0.3),
        6px 6px 0 rgba(0,0,0,0.15);
}
#jak-to-dziala h2 { color: var(--blue); }
#mapa h2 { color: var(--green); }
#wspolpraca h2 { color: var(--blue-dark); }
#kontakt h2 { color: var(--teal); }
#kontakt h2 { color: var(--blue); }

/* ===== HOW IT WORKS TIMELINE - FOREST PATH ===== */

.how-it-works {
    background: linear-gradient(135deg, #4A6741 0%, #5D7B54 50%, #4A6741 100%) !important;
    position: relative;
    overflow: hidden;
    padding: 60px 20px !important;
}

.how-it-works h2 {
    margin-bottom: 30px;
    color: #FFB347 !important;
    text-shadow:
        3px 3px 0 rgba(0,0,0,0.3),
        6px 6px 0 rgba(0,0,0,0.15);
}

/* Forest path - S-shaped sandy/rocky path */
.forest-path {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 450px;
    height: 100%;
    background: linear-gradient(180deg, #D4C4A8 0%, #BCA88A 50%, #D4C4A8 100%);
    clip-path: path('M 0,0 Q 150,100 225,200 Q 300,300 150,400 Q 0,500 100,600 Q 200,700 225,800 Q 250,900 225,1000 L 225,1200 L 225,0 Z');
    z-index: 0;
    box-shadow:
        inset 0 0 50px rgba(0,0,0,0.2),
        inset 20px 0 30px rgba(0,0,0,0.15),
        inset -20px 0 30px rgba(0,0,0,0.15);
}

/* Alternative simpler S-path using gradient transforms */
.forest-path {
    background:
        radial-gradient(ellipse 200px 80px at 60% 10%, #BCA88A, transparent),
        radial-gradient(ellipse 200px 80px at 40% 30%, #A89474, transparent),
        radial-gradient(ellipse 200px 80px at 60% 50%, #BCA88A, transparent),
        radial-gradient(ellipse 200px 80px at 40% 70%, #A89474, transparent),
        radial-gradient(ellipse 200px 80px at 55% 90%, #BCA88A, transparent),
        #D4C4A8;
    width: 500px;
    clip-path: polygon(
        30% 0%, 70% 0%,
        75% 5%, 80% 15%, 82% 25%,
        78% 35%, 70% 45%, 60% 50%,
        50% 55%, 40% 60%, 35% 70%,
        38% 80%, 45% 90%, 55% 95%,
        60% 100%, 40% 100%,
        35% 95%, 30% 85%, 28% 75%,
        32% 65%, 40% 55%, 50% 50%,
        60% 45%, 68% 35%, 70% 25%,
        65% 15%, 55% 5%
    );
}

/* Forest trees - low poly style */
.forest-tree {
    position: absolute;
    z-index: 0;
}

/* Tree trunk */
.forest-tree::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 20px;
    height: 60px;
    background: #3E2723;
    clip-path: polygon(30% 0%, 70% 0%, 85% 100%, 15% 100%);
}

/* Tree crown - triangle */
.forest-tree::after {
    content: '';
    position: absolute;
    bottom: 40px;
    left: 50%;
    transform: translateX(-50%);
    width: 0;
    height: 0;
    border-left: 50px solid transparent;
    border-right: 50px solid transparent;
    border-bottom: 80px solid #2D5016;
    filter: drop-shadow(0 4px 6px rgba(0,0,0,0.3));
}

/* Trees on the left side */
.tree-left-1 {
    left: 5%;
    top: 10%;
}

.tree-left-2 {
    left: 8%;
    top: 35%;
}

.tree-left-3 {
    left: 3%;
    top: 60%;
}

.tree-left-4 {
    left: 10%;
    top: 80%;
}

.tree-left-5 {
    left: 6%;
    top: 45%;
}

.tree-left-6 {
    left: 4%;
    top: 70%;
}

.tree-left-7 {
    left: 9%;
    top: 52%;
}

.tree-left-8 {
    left: 2%;
    top: 88%;
}

.tree-left-9 {
    left: 7%;
    top: 20%;
}

.tree-left-10 {
    left: 5%;
    bottom: 3%;
}

.tree-left-11 {
    left: 3%;
    top: 15%;
}

.tree-left-12 {
    left: 8%;
    top: 38%;
}

.tree-left-13 {
    left: 2%;
    top: 65%;
}

.tree-left-14 {
    left: 7%;
    top: 92%;
}

.tree-left-15 {
    left: 4%;
    top: 25%;
}

.tree-left-16 {
    left: 9%;
    top: 58%;
}

.tree-left-17 {
    left: 5%;
    top: 75%;
}

.tree-left-18 {
    left: 6%;
    top: 8%;
}

.tree-left-19 {
    left: 3%;
    top: 30%;
}

.tree-left-20 {
    left: 8%;
    top: 48%;
}

.tree-left-21 {
    left: 4%;
    top: 12%;
}

.tree-left-22 {
    left: 9%;
    top: 68%;
}

.tree-left-23 {
    left: 2%;
    top: 85%;
}

.tree-left-24 {
    left: 6%;
    top: 32%;
}

.tree-left-25 {
    left: 7%;
    top: 55%;
}

.tree-left-26 {
    left: 3%;
    top: 78%;
}

.tree-left-27 {
    left: 8%;
    top: 5%;
}

.tree-left-28 {
    left: 4%;
    top: 95%;
}

.tree-left-29 {
    left: 5%;
    top: 42%;
}

.tree-left-30 {
    left: 9%;
    top: 82%;
}

.tree-left-31 {
    left: 3%;
    top: 88%;
}

.tree-left-32 {
    left: 7%;
    top: 92%;
}

.tree-left-33 {
    left: 2%;
    top: 96%;
}

.tree-left-34 {
    left: 6%;
    top: 15%;
}

.tree-left-35 {
    left: 8%;
    top: 25%;
}

.tree-left-36 {
    left: 4%;
    top: 35%;
}

.tree-left-37 {
    left: 10%;
    top: 45%;
}

.tree-left-38 {
    left: 3%;
    top: 55%;
}

.tree-left-39 {
    left: 7%;
    top: 65%;
}

.tree-left-40 {
    left: 5%;
    top: 75%;
}

.tree-left-41 {
    left: 9%;
    top: 18%;
}

.tree-left-42 {
    left: 4%;
    top: 28%;
}

.tree-left-43 {
    left: 8%;
    top: 38%;
}

.tree-left-44 {
    left: 6%;
    top: 48%;
}

.tree-left-45 {
    left: 3%;
    top: 58%;
}

.tree-left-46 {
    left: 10%;
    top: 68%;
}

.tree-left-47 {
    left: 5%;
    top: 78%;
}

.tree-left-48 {
    left: 7%;
    top: 22%;
}

.tree-left-49 {
    left: 4%;
    top: 32%;
}

.tree-left-50 {
    left: 9%;
    top: 52%;
}

.tree-left-51 {
    left: 12%;
    top: 8%;
}

.tree-left-52 {
    left: 15%;
    top: 18%;
}

.tree-left-53 {
    left: 13%;
    top: 28%;
}

.tree-left-54 {
    left: 17%;
    top: 38%;
}

.tree-left-55 {
    left: 14%;
    top: 48%;
}

.tree-left-56 {
    left: 16%;
    top: 58%;
}

.tree-left-57 {
    left: 11%;
    top: 68%;
}

.tree-left-58 {
    left: 18%;
    top: 78%;
}

.tree-left-59 {
    left: 13%;
    top: 88%;
}

.tree-left-60 {
    left: 16%;
    top: 12%;
}

.tree-left-61 {
    left: 12%;
    top: 22%;
}

.tree-left-62 {
    left: 17%;
    top: 32%;
}

.tree-left-63 {
    left: 14%;
    top: 42%;
}

.tree-left-64 {
    left: 15%;
    top: 52%;
}

.tree-left-65 {
    left: 11%;
    top: 62%;
}

.tree-left-66 {
    left: 18%;
    top: 72%;
}

.tree-left-67 {
    left: 13%;
    top: 82%;
}

.tree-left-68 {
    left: 16%;
    top: 92%;
}

.tree-left-69 {
    left: 12%;
    top: 16%;
}

.tree-left-70 {
    left: 17%;
    top: 26%;
}

/* Trees on the right side */
.tree-right-1 {
    right: 5%;
    top: 5%;
}

.tree-right-2 {
    right: 8%;
    top: 28%;
}

.tree-right-3 {
    right: 4%;
    top: 55%;
}

.tree-right-4 {
    right: 9%;
    top: 75%;
}

.tree-right-5 {
    right: 6%;
    top: 42%;
}

.tree-right-6 {
    right: 3%;
    top: 18%;
}

.tree-right-7 {
    right: 7%;
    top: 65%;
}

.tree-right-8 {
    right: 10%;
    top: 85%;
}

.tree-right-9 {
    right: 5%;
    bottom: 5%;
}

.tree-right-10 {
    right: 8%;
    top: 48%;
}

.tree-right-11 {
    right: 4%;
    top: 12%;
}

.tree-right-12 {
    right: 9%;
    top: 38%;
}

.tree-right-13 {
    right: 3%;
    top: 62%;
}

.tree-right-14 {
    right: 7%;
    top: 90%;
}

.tree-right-15 {
    right: 5%;
    top: 22%;
}

.tree-right-16 {
    right: 10%;
    top: 52%;
}

.tree-right-17 {
    right: 6%;
    top: 72%;
}

.tree-right-18 {
    right: 4%;
    top: 35%;
}

.tree-right-19 {
    right: 8%;
    top: 45%;
}

.tree-right-20 {
    right: 5%;
    top: 55%;
}

.tree-right-21 {
    right: 9%;
    top: 65%;
}

.tree-right-22 {
    right: 7%;
    top: 75%;
}

.tree-right-23 {
    right: 4%;
    top: 85%;
}

.tree-right-24 {
    right: 10%;
    top: 12%;
}

.tree-right-25 {
    right: 6%;
    top: 22%;
}

.tree-right-26 {
    right: 3%;
    top: 32%;
}

.tree-right-27 {
    right: 8%;
    top: 42%;
}

.tree-right-28 {
    right: 5%;
    top: 52%;
}

.tree-right-29 {
    right: 9%;
    top: 62%;
}

.tree-right-30 {
    right: 7%;
    top: 82%;
}

.tree-right-31 {
    right: 4%;
    top: 92%;
}

.tree-right-32 {
    right: 6%;
    top: 16%;
}

.tree-right-33 {
    right: 3%;
    top: 26%;
}

.tree-right-34 {
    right: 10%;
    top: 36%;
}

.tree-right-35 {
    right: 8%;
    top: 46%;
}

.tree-right-36 {
    right: 5%;
    top: 56%;
}

.tree-right-37 {
    right: 9%;
    top: 66%;
}

.tree-right-38 {
    right: 7%;
    top: 76%;
}

.tree-right-39 {
    right: 4%;
    top: 86%;
}

.tree-right-40 {
    right: 6%;
    top: 96%;
}

.tree-right-41 {
    right: 3%;
    top: 18%;
}

.tree-right-42 {
    right: 10%;
    top: 28%;
}

.tree-right-43 {
    right: 8%;
    top: 38%;
}

.tree-right-44 {
    right: 5%;
    top: 48%;
}

.tree-right-45 {
    right: 9%;
    top: 58%;
}

.tree-right-46 {
    right: 7%;
    top: 68%;
}

.tree-right-47 {
    right: 4%;
    top: 78%;
}

.tree-right-48 {
    right: 6%;
    top: 88%;
}

.tree-right-49 {
    right: 3%;
    top: 14%;
}

.tree-right-50 {
    right: 10%;
    top: 24%;
}

.tree-right-51 {
    right: 12%;
    top: 10%;
}

.tree-right-52 {
    right: 15%;
    top: 20%;
}

.tree-right-53 {
    right: 13%;
    top: 30%;
}

.tree-right-54 {
    right: 17%;
    top: 40%;
}

.tree-right-55 {
    right: 14%;
    top: 50%;
}

.tree-right-56 {
    right: 16%;
    top: 60%;
}

.tree-right-57 {
    right: 11%;
    top: 70%;
}

.tree-right-58 {
    right: 18%;
    top: 80%;
}

.tree-right-59 {
    right: 13%;
    top: 90%;
}

.tree-right-60 {
    right: 16%;
    top: 14%;
}

.tree-right-61 {
    right: 12%;
    top: 24%;
}

.tree-right-62 {
    right: 17%;
    top: 34%;
}

.tree-right-63 {
    right: 14%;
    top: 44%;
}

.tree-right-64 {
    right: 15%;
    top: 54%;
}

.tree-right-65 {
    right: 11%;
    top: 64%;
}

.tree-right-66 {
    right: 18%;
    top: 74%;
}

.tree-right-67 {
    right: 13%;
    top: 84%;
}

.tree-right-68 {
    right: 16%;
    top: 94%;
}

.tree-right-69 {
    right: 12%;
    top: 18%;
}

.tree-right-70 {
    right: 17%;
    top: 28%;
}

/* Trail rocks - low-poly stones scattered near the path */
.trail-rock {
    position: absolute;
    z-index: 1;
    filter: drop-shadow(2px 3px 4px rgba(0,0,0,0.3));
}

/* Different rock shapes and sizes, positioned closer to center path */

/* Hexagon rocks */
.rock-1 {
    width: 40px;
    height: 35px;
    left: 35%;
    top: 40%;
    background: #8A8A8A;
    clip-path: polygon(30% 0%, 70% 0%, 100% 50%, 70% 100%, 30% 100%, 0% 50%);
    transform: rotate(15deg);
}

/* Pentagon rock */
.rock-2 {
    width: 32px;
    height: 30px;
    left: 42%;
    top: 55%;
    background: #9B9B9B;
    clip-path: polygon(50% 0%, 100% 38%, 82% 100%, 18% 100%, 0% 38%);
    transform: rotate(-25deg);
}

/* Irregular polygon rock */
.rock-3 {
    width: 28px;
    height: 26px;
    left: 38%;
    top: 72%;
    background: #7D7D7D;
    clip-path: polygon(25% 0%, 75% 5%, 95% 40%, 85% 85%, 40% 100%, 5% 70%, 0% 30%);
    transform: rotate(40deg);
}

/* Triangle rock */
.rock-4 {
    width: 35px;
    height: 32px;
    right: 38%;
    top: 45%;
    background: #888888;
    clip-path: polygon(50% 0%, 100% 100%, 0% 100%);
    transform: rotate(-35deg);
}

/* Octagon rock */
.rock-5 {
    width: 38px;
    height: 34px;
    right: 42%;
    top: 62%;
    background: #959595;
    clip-path: polygon(30% 0%, 70% 0%, 100% 30%, 100% 70%, 70% 100%, 30% 100%, 0% 70%, 0% 30%);
    transform: rotate(25deg);
}

/* Small hexagon */
.rock-6 {
    width: 24px;
    height: 22px;
    right: 36%;
    top: 78%;
    background: #7A7A7A;
    clip-path: polygon(30% 0%, 70% 0%, 100% 50%, 70% 100%, 30% 100%, 0% 50%);
    transform: rotate(-15deg);
}

/* Irregular shape */
.rock-7 {
    width: 30px;
    height: 28px;
    left: 40%;
    top: 85%;
    background: #8E8E8E;
    clip-path: polygon(20% 0%, 80% 10%, 100% 60%, 70% 100%, 10% 90%, 0% 40%);
    transform: rotate(10deg);
}

/* Diamond rock */
.rock-8 {
    width: 26px;
    height: 24px;
    left: 37%;
    top: 48%;
    background: #818181;
    clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%);
    transform: rotate(-40deg);
}

/* Pentagon */
.rock-9 {
    width: 34px;
    height: 30px;
    right: 40%;
    top: 52%;
    background: #929292;
    clip-path: polygon(50% 0%, 100% 38%, 82% 100%, 18% 100%, 0% 38%);
    transform: rotate(30deg);
}

/* Small triangle */
.rock-10 {
    width: 22px;
    height: 20px;
    left: 41%;
    top: 65%;
    background: #858585;
    clip-path: polygon(50% 0%, 100% 100%, 0% 100%);
    transform: rotate(-25deg);
}

/* Irregular hexagon */
.rock-11 {
    width: 36px;
    height: 32px;
    right: 37%;
    top: 70%;
    background: #8C8C8C;
    clip-path: polygon(25% 0%, 75% 0%, 100% 40%, 90% 80%, 30% 100%, 0% 50%);
    transform: rotate(20deg);
}

/* Large hexagon */
.rock-12 {
    width: 42px;
    height: 38px;
    right: 44%;
    top: 35%;
    background: #7E7E7E;
    clip-path: polygon(30% 0%, 70% 0%, 100% 50%, 70% 100%, 30% 100%, 0% 50%);
    transform: rotate(-30deg);
}

/* Variation in tree sizes */
.tree-left-1::after,
.tree-right-2::after,
.tree-left-9::after {
    border-left: 45px solid transparent;
    border-right: 45px solid transparent;
    border-bottom: 75px solid #2D5016;
}

.tree-left-3::after,
.tree-right-4::after,
.tree-right-8::after {
    border-left: 55px solid transparent;
    border-right: 55px solid transparent;
    border-bottom: 90px solid #1B3410;
}

.tree-left-5::after,
.tree-right-1::after,
.tree-left-7::after,
.tree-right-10::after {
    border-left: 48px solid transparent;
    border-right: 48px solid transparent;
    border-bottom: 82px solid #2D5016;
}

.tree-left-6::after,
.tree-right-5::after,
.tree-right-7::after {
    border-left: 52px solid transparent;
    border-right: 52px solid transparent;
    border-bottom: 85px solid #1B3410;
}

.tree-left-8::after,
.tree-right-6::after {
    border-left: 42px solid transparent;
    border-right: 42px solid transparent;
    border-bottom: 70px solid #2D5016;
}

.tree-left-10::after,
.tree-right-9::after {
    border-left: 58px solid transparent;
    border-right: 58px solid transparent;
    border-bottom: 95px solid #1B3410;
}

.tree-left-11::after,
.tree-right-15::after {
    border-left: 46px solid transparent;
    border-right: 46px solid transparent;
    border-bottom: 78px solid #2D5016;
}

.tree-left-12::after,
.tree-right-11::after {
    border-left: 53px solid transparent;
    border-right: 53px solid transparent;
    border-bottom: 88px solid #1B3410;
}

.tree-left-13::after,
.tree-right-17::after {
    border-left: 49px solid transparent;
    border-right: 49px solid transparent;
    border-bottom: 81px solid #2D5016;
}

.tree-left-14::after,
.tree-right-13::after {
    border-left: 56px solid transparent;
    border-right: 56px solid transparent;
    border-bottom: 92px solid #1B3410;
}

.tree-left-15::after,
.tree-right-18::after {
    border-left: 44px solid transparent;
    border-right: 44px solid transparent;
    border-bottom: 73px solid #2D5016;
}

.tree-left-16::after,
.tree-right-12::after {
    border-left: 51px solid transparent;
    border-right: 51px solid transparent;
    border-bottom: 84px solid #1B3410;
}

.tree-left-17::after,
.tree-right-14::after {
    border-left: 47px solid transparent;
    border-right: 47px solid transparent;
    border-bottom: 77px solid #2D5016;
}

.tree-left-18::after,
.tree-right-16::after {
    border-left: 54px solid transparent;
    border-right: 54px solid transparent;
    border-bottom: 89px solid #1B3410;
}

.timeline {
    max-width: 900px;
    margin: 0 auto;
    position: relative;
    padding: 40px 0;
}

.timeline-line {
    display: none;
}

.timeline-step {
    position: relative;
    margin: 60px 0;
    padding: 30px;
    background: #795548;
    border: 4px solid #5D4037;
    border-top-color: #8D6E63;
    border-bottom-color: #4E342E;
    border-radius: 10px;
    box-shadow:
        0 12px 35px rgba(0,0,0,0.4),
        0 6px 18px rgba(0,0,0,0.3),
        inset 0 3px 0 rgba(255,255,255,0.12),
        inset 0 -2px 0 rgba(0,0,0,0.35);
    transition: all 0.5s ease;
    z-index: 2;
    max-width: 500px;
}

.timeline-step:nth-child(even) {
    margin-left: auto;
    margin-right: 0;
}

.timeline-step:nth-child(3) {
}

.timeline-step:nth-child(5) {
}

.timeline-step:hover {
    transform: scale(1.05) rotate(2deg);
    box-shadow:
        0 15px 40px rgba(0,0,0,0.5),
        0 8px 20px rgba(0,0,0,0.35),
        inset 0 3px 0 rgba(255,255,255,0.15),
        inset 0 -2px 0 rgba(0,0,0,0.4);
}

.step-number {
    position: absolute;
    top: -30px;
    left: 50%;
    transform: translateX(-50%);
    width: 70px;
    height: 70px;
    background: linear-gradient(135deg, var(--teal), var(--blue));
    color: white;
    font-size: 2.5rem;
    font-weight: 900;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    border: 5px solid #5D4037;
    box-shadow: 0 8px 30px rgba(0,0,0,0.5);
    z-index: 10;
    animation: pulse-number 2s ease-in-out infinite;
}

.timeline-step:nth-child(even) .step-number {
    background: linear-gradient(135deg, var(--blue), var(--sky));
}

.timeline-step:nth-child(3) .step-number {
    background: linear-gradient(135deg, var(--green), var(--teal));
}

.timeline-step:nth-child(5) .step-number {
    background: linear-gradient(135deg, var(--orange), var(--yellow));
}

@keyframes pulse-number {
    0%, 100% {
        transform: translateX(-50%) scale(1);
    }
    50% {
        transform: translateX(-50%) scale(1.1);
    }
}

.timeline-step h3 {
    text-align: center;
    font-size: 1.8rem;
    margin: 10px 0 10px;
    color: #FFF8E1;
    text-shadow:
        2px 2px 4px rgba(0,0,0,0.7),
        -1px -1px 0 rgba(0,0,0,0.4);
    font-weight: 700;
    position: relative;
    z-index: 5;
}

.timeline-step:nth-child(even) h3 {
    color: #FFF8E1;
}

.timeline-step:nth-child(3) h3 {
    color: #FFF8E1;
}

.timeline-step:nth-child(5) h3 {
    color: #FFF8E1;
}

.timeline-step p {
    text-align: center;
    font-size: 1.1rem;
    color: #FFF8E1;
    line-height: 1.6;
    text-shadow:
        1px 1px 3px rgba(0,0,0,0.6);
    font-weight: 500;
    position: relative;
    z-index: 5;
}

/* Wood grain texture for timeline steps */
.timeline-step .wood-grain {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    pointer-events: none;
    opacity: 1;
}

/* Wood grain shape 1 - diagonal stripe */
.timeline-step .wood-grain::before {
    content: '';
    position: absolute;
    top: 20%;
    left: 10%;
    width: 0;
    height: 0;
    border-left: 100px solid transparent;
    border-right: 180px solid transparent;
    border-bottom: 8px solid rgba(62,39,35,0.3);
    transform: rotate(1deg);
}

/* Wood grain shape 2 - another diagonal */
.timeline-step .wood-grain::after {
    content: '';
    position: absolute;
    bottom: 30%;
    right: 8%;
    width: 0;
    height: 0;
    border-left: 140px solid transparent;
    border-right: 120px solid transparent;
    border-bottom: 10px solid rgba(62,39,35,0.25);
    transform: rotate(-2deg);
}

/* Low poly knot 1 for timeline steps */
.timeline-step .wood-knot-1 {
    position: absolute;
    top: 35%;
    left: 60%;
    width: 0;
    height: 0;
    border-left: 20px solid transparent;
    border-right: 20px solid transparent;
    border-bottom: 32px solid rgba(62,39,35,0.45);
    transform: rotate(45deg);
}

/* Low poly knot 2 for timeline steps */
.timeline-step .wood-knot-2 {
    position: absolute;
    bottom: 30%;
    left: 25%;
    width: 0;
    height: 0;
    border-left: 15px solid transparent;
    border-right: 15px solid transparent;
    border-bottom: 25px solid rgba(62,39,35,0.4);
    transform: rotate(-30deg);
}

/* Nails for timeline steps */
.timeline-step .nail {
    position: absolute;
    width: 12px;
    height: 12px;
    background: radial-gradient(circle, #757575 0%, #424242 70%);
    border-radius: 50%;
    box-shadow:
        inset -2px -2px 3px rgba(255,255,255,0.4),
        1px 1px 3px rgba(0,0,0,0.5);
    z-index: 10;
}

.timeline-step .nail-1 { top: 15px; left: 30px; }
.timeline-step .nail-2 { top: 15px; right: 30px; }
.timeline-step .nail-3 { bottom: 15px; left: 30px; }
.timeline-step .nail-4 { bottom: 15px; right: 30px; }

.step-arrow {
    display: none;
}

.step-arrow::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 5px solid var(--teal);
    border-left: none;
    border-top: none;
    border-radius: 0 0 50px 0;
    animation: arrow-pulse 2s ease-in-out infinite;
    filter: drop-shadow(0 2px 8px rgba(22,160,133,0.3));
}

.step-arrow::after {
    content: '';
    position: absolute;
    bottom: 0;
    right: 0;
    width: 0;
    height: 0;
    border-left: 18px solid transparent;
    border-right: 18px solid transparent;
    border-top: 25px solid var(--teal);
    transform: rotate(45deg) translate(8px, 8px);
    animation: arrow-pulse 2s ease-in-out infinite;
    filter: drop-shadow(0 2px 8px rgba(22,160,133,0.3));
}

/* Odd steps - arrow goes to right and down */
.timeline-step:nth-child(odd) .step-arrow {
    right: -100px;
    left: auto;
}

.timeline-step:nth-child(odd) .step-arrow::before {
    border-left: none;
    border-top: none;
    border-right: 5px solid var(--teal);
    border-bottom: 5px solid var(--teal);
    border-radius: 0 0 50px 0;
}

.timeline-step:nth-child(odd) .step-arrow::after {
    bottom: 0;
    right: 0;
    border-left: 18px solid transparent;
    border-right: 18px solid transparent;
    border-top: 25px solid var(--teal);
    transform: rotate(45deg) translate(8px, 8px);
}

/* Even steps - arrow goes to left and down */
.timeline-step:nth-child(even) .step-arrow {
    left: -100px;
    right: auto;
}

.timeline-step:nth-child(even) .step-arrow::before {
    border-color: var(--blue);
    border-right: none;
    border-top: none;
    border-left: 5px solid var(--blue);
    border-bottom: 5px solid var(--blue);
    border-radius: 0 0 0 50px;
    filter: drop-shadow(0 2px 8px rgba(46,134,171,0.3));
}

.timeline-step:nth-child(even) .step-arrow::after {
    border-left: 18px solid transparent;
    border-right: 18px solid transparent;
    border-top: 25px solid var(--blue);
    bottom: 0;
    left: 0;
    right: auto;
    transform: rotate(-45deg) translate(-8px, 8px);
    filter: drop-shadow(0 2px 8px rgba(46,134,171,0.3));
}

/* Step 3 colors (odd - right side) */
.timeline-step:nth-child(3) .step-arrow::before {
    border-right-color: var(--green);
    border-bottom-color: var(--green);
    filter: drop-shadow(0 2px 8px rgba(76,175,80,0.3));
}

.timeline-step:nth-child(3) .step-arrow::after {
    border-top-color: var(--green);
    filter: drop-shadow(0 2px 8px rgba(76,175,80,0.3));
}

.timeline-step:last-child .step-arrow {
    display: none;
}

@keyframes arrow-pulse {
    0%, 100% {
        opacity: 0.85;
    }
    50% {
        opacity: 0.5;
    }
}

/* Connection dots on timeline - hidden */
.timeline-step::after {
    display: none;
}

/* Low poly decorations in timeline */
.how-it-works::before {
    content: '';
    position: absolute;
    top: 100px;
    left: 5%;
    width: 0;
    height: 0;
    border-left: 60px solid transparent;
    border-right: 60px solid transparent;
    border-bottom: 90px solid rgba(22,160,133,0.1);
    animation: float-shape 8s ease-in-out infinite;
}

.how-it-works::after {
    content: '';
    position: absolute;
    bottom: 100px;
    right: 5%;
    width: 0;
    height: 0;
    border-left: 70px solid transparent;
    border-right: 70px solid transparent;
    border-bottom: 100px solid rgba(46,134,171,0.1);
    animation: float-shape 10s ease-in-out infinite reverse;
}

/* Mobile timeline */
@media (max-width: 768px) {
    .timeline-line {
        left: 30px;
        transform: none;
    }

    /* Smaller rocks on mobile */
    .rock-1 { transform: rotate(15deg) scale(0.6); }
    .rock-2 { transform: rotate(-20deg) scale(0.6); }
    .rock-3 { transform: rotate(45deg) scale(0.6); }
    .rock-4 { transform: rotate(-35deg) scale(0.6); }
    .rock-5 { transform: rotate(25deg) scale(0.6); }
    .rock-6 { transform: rotate(-15deg) scale(0.6); }
    .rock-7 { transform: rotate(10deg) scale(0.6); }
    .rock-8 { transform: rotate(-40deg) scale(0.6); }
    .rock-9 { transform: rotate(30deg) scale(0.6); }
    .rock-10 { transform: rotate(-25deg) scale(0.6); }
    .rock-11 { transform: rotate(20deg) scale(0.6); }
    .rock-12 { transform: rotate(-30deg) scale(0.6); }

    .timeline-step {
        margin: 30px 0 30px 60px;
        padding: 20px;
        max-width: 280px;
    }

    .timeline-step:nth-child(even) {
        margin: 30px 0 30px 60px;
    }

    .step-number {
        left: -50px;
        transform: none;
        width: 50px;
        height: 50px;
        font-size: 1.6rem;
    }

    .timeline-step h3 {
        font-size: 1.2rem;
        margin: 6px 0;
    }

    .timeline-step p {
        font-size: 0.95rem;
    }

    .step-arrow {
        left: -10px;
        right: auto;
        width: 60px;
        height: 60px;
        bottom: -40%;
    }

    .step-arrow::before {
        border-width: 3px;
    }

    .step-arrow::after {
        border-left: 10px solid transparent;
        border-right: 10px solid transparent;
        border-top: 15px solid var(--teal);
    }

    .timeline-step:nth-child(odd) .step-arrow {
        left: -10px;
        right: auto;
    }

    .timeline-step:nth-child(odd) .step-arrow::before {
        border-right: 3px solid var(--teal);
        border-bottom: 3px solid var(--teal);
        border-left: none;
        border-top: none;
        border-radius: 0 0 50px 0;
    }

    .timeline-step:nth-child(even) .step-arrow {
        left: -10px;
        right: auto;
    }

    .timeline-step:nth-child(even) .step-arrow::before {
        border-right: 3px solid var(--blue);
        border-bottom: 3px solid var(--blue);
        border-left: none;
        border-top: none;
        border-radius: 0 0 50px 0;
    }

    .timeline-step:nth-child(even) .step-arrow::after {
        border-top-color: var(--blue);
        left: auto;
        right: 0;
        transform: rotate(45deg) translate(6px, 6px);
    }

    .timeline-step:nth-child(3) .step-arrow::before {
        border-color: var(--green);
    }

    .timeline-step:nth-child(3) .step-arrow::after {
        border-top-color: var(--green);
    }

    .timeline-step::after {
        left: 20px;
        width: 16px;
        height: 16px;
    }

    .timeline-step:nth-child(even)::after {
        left: 20px;
        right: auto;
    }

    .timeline-step .nail {
        width: 8px;
        height: 8px;
    }

    .timeline-step .nail-1 { top: 10px; left: 15px; }
    .timeline-step .nail-2 { top: 10px; right: 15px; }
    .timeline-step .nail-3 { bottom: 10px; left: 15px; }
    .timeline-step .nail-4 { bottom: 10px; right: 15px; }

    .how-it-works {
        padding: 40px 15px !important;
    }

    .how-it-works h2 {
        margin-bottom: 20px;
        font-size: 2.5rem;
    }

    .how-it-works::before,
    .how-it-works::after {
        opacity: 0.5;
    }

    /* Map section mobile */
    .map-section {
        min-height: 600px;
    }

    .map-cloud {
        transform: scale(0.7);
    }

    .map-bird {
        transform: scale(0.8);
    }

    .map-mountain-back-1,
    .map-mountain-back-2,
    .map-mountain-back-3 {
        border-left: 180px solid transparent;
        border-right: 180px solid transparent;
        border-bottom: 220px solid;
    }

    .map-mountain-mid-1,
    .map-mountain-mid-2 {
        border-left: 200px solid transparent;
        border-right: 200px solid transparent;
        border-bottom: 240px solid;
    }

    .map-mountain-front-1,
    .map-mountain-front-2 {
        border-left: 150px solid transparent;
        border-right: 150px solid transparent;
        border-bottom: 200px solid;
    }

    .map-tree {
        transform: scale(0.7);
    }

    .map-tree:nth-child(n+15) {
        display: none;
    }

    .wooden-sign-board {
        max-width: 95%;
    }

    .sign-board-frame {
        padding: 20px;
    }

    .sign-board-frame .nail {
        width: 12px;
        height: 12px;
    }

    .sign-board-frame .nail-1 { top: 15px; left: 15px; }
    .sign-board-frame .nail-2 { top: 15px; right: 15px; }
    .sign-board-frame .nail-3 { bottom: 15px; left: 15px; }
    .sign-board-frame .nail-4 { bottom: 15px; right: 15px; }

    .sign-pole {
        width: 30px;
        height: 100px;
        bottom: -30px;
    }

    .map {
        height: 350px;
        font-size: 1.3rem;
    }

    /* Partnership section mobile */
    .partnership-section {
        min-height: 500px;
        padding: 60px 15px !important;
    }

    .desk-compass {
        transform: scale(0.6);
        top: 80px;
        left: 2%;
    }

    .desk-rope {
        transform: scale(0.6);
        top: 80px;
        right: 5%;
    }

    .desk-ice-axe {
        transform: scale(0.7) rotate(-35deg);
        bottom: 80px;
        left: 4%;
    }

    .desk-pencil {
        transform: scale(0.6) rotate(-15deg);
        bottom: 180px;
        left: 8%;
    }

    .desk-flashlight {
        transform: scale(0.6) rotate(25deg);
        bottom: 80px;
        right: 7%;
    }

    .desk-thermos {
        transform: scale(0.6);
        top: 160px;
        left: 7%;
    }

    .desk-hat {
        transform: scale(0.6);
        top: 160px;
        right: 7%;
    }

    .document-card {
        width: 100%;
        max-width: 350px;
        padding: 25px;
    }

    .document-content h3 {
        font-size: 1.4rem;
    }

    .document-content p {
        font-size: 1rem;
    }
}

/* ===== GRID & CARDS ===== */

.grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 40px;
    max-width: 1200px;
    margin: 0 auto;
    position: relative;
    z-index: 1;
}

.card {
    background: white;
    padding: 40px;
    border-radius: 30px;
    box-shadow: 0 20px 60px rgba(0,0,0,0.15);
    opacity: 0;
    transform: translateY(40px);
    transition: all 0.4s ease;
    position: relative;
    border: 4px solid transparent;
}

.card:hover {
    transform: translateY(-10px) scale(1.03);
    box-shadow: 0 30px 80px rgba(0,0,0,0.25);
}

/* Sticky notes hover effects - delikatny ruch */
#o-nas .card:nth-child(1):hover {
    transform: rotate(-4deg) translateY(-12px) scale(1.03);
    box-shadow: 0 18px 35px rgba(0,0,0,0.22);
    animation: sticky-wobble-1 0.5s ease-in-out;
}

#o-nas .card:nth-child(2):hover {
    transform: rotate(3deg) translateY(-12px) scale(1.03);
    box-shadow: 0 18px 35px rgba(0,0,0,0.22);
    animation: sticky-wobble-2 0.5s ease-in-out;
}

#o-nas .card:nth-child(3):hover {
    transform: rotate(-3deg) translateY(-12px) scale(1.03);
    box-shadow: 0 18px 35px rgba(0,0,0,0.22);
    animation: sticky-wobble-3 0.5s ease-in-out;
}

/* Animacje kołysania karteczek */
@keyframes sticky-wobble-1 {
    0% { transform: rotate(-2deg) translateY(0) scale(1); }
    25% { transform: rotate(-5deg) translateY(-6px) scale(1.02); }
    50% { transform: rotate(-3deg) translateY(-10px) scale(1.03); }
    75% { transform: rotate(-4.5deg) translateY(-11px) scale(1.03); }
    100% { transform: rotate(-4deg) translateY(-12px) scale(1.03); }
}

@keyframes sticky-wobble-2 {
    0% { transform: rotate(1deg) translateY(0) scale(1); }
    25% { transform: rotate(4deg) translateY(-6px) scale(1.02); }
    50% { transform: rotate(2deg) translateY(-10px) scale(1.03); }
    75% { transform: rotate(3.5deg) translateY(-11px) scale(1.03); }
    100% { transform: rotate(3deg) translateY(-12px) scale(1.03); }
}

@keyframes sticky-wobble-3 {
    0% { transform: rotate(-1deg) translateY(0) scale(1); }
    25% { transform: rotate(-4deg) translateY(-6px) scale(1.02); }
    50% { transform: rotate(-2deg) translateY(-10px) scale(1.03); }
    75% { transform: rotate(-3.5deg) translateY(-11px) scale(1.03); }
    100% { transform: rotate(-3deg) translateY(-12px) scale(1.03); }
}

.card.show {
    opacity: 1;
    transform: translateY(0);
}

/* Sticky notes show animation - preserve rotation */
#o-nas .card:nth-child(1).show {
    transform: rotate(-2deg) translateY(0);
}

#o-nas .card:nth-child(2).show {
    transform: rotate(1deg) translateY(0);
}

#o-nas .card:nth-child(3).show {
    transform: rotate(-1deg) translateY(0);
}

.card h3 {
    margin-top: 0;
    font-weight: 900;
    font-size: 1.6rem;
    margin-bottom: 15px;
}

.card p {
    color: rgba(0,0,0,0.75);
    line-height: 1.7;
    font-weight: 600;
}

/* Sticky note cards - low poly style */
#o-nas .card:nth-child(1) {
    background: #FFE680;
    border: none;
    border-radius: 0;
    transform: rotate(-2deg);
    box-shadow:
        0 8px 20px rgba(0,0,0,0.15),
        inset 0 -3px 0 rgba(0,0,0,0.05);
    position: relative;
    clip-path: polygon(0 0, 100% 0, 100% 95%, 95% 100%, 0 100%);
    transition: all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
}

#o-nas .card:nth-child(1)::before {
    content: '';
    position: absolute;
    bottom: 0;
    right: 0;
    width: 0;
    height: 0;
    border-left: 40px solid transparent;
    border-top: 40px solid transparent;
    border-bottom: 40px solid #D4B84C;
    border-right: 40px solid #D4B84C;
}

#o-nas .card:nth-child(1)::after {
    content: '';
    position: absolute;
    top: -8px;
    left: 50%;
    transform: translateX(-50%);
    width: 100px;
    height: 25px;
    background: rgba(255, 255, 255, 0.3);
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
    clip-path: polygon(5% 0%, 95% 0%, 100% 100%, 0% 100%);
}

#o-nas .card:nth-child(1) h3 {
    color: #8B6F00;
    text-shadow:
        2px 2px 4px rgba(255,255,255,0.7),
        -1px -1px 0 rgba(255,255,255,0.4);
}

#o-nas .card:nth-child(2) {
    background: #A8E6FF;
    border: none;
    border-radius: 0;
    transform: rotate(1deg);
    box-shadow:
        0 8px 20px rgba(0,0,0,0.15),
        inset 0 -3px 0 rgba(0,0,0,0.05);
    position: relative;
    clip-path: polygon(0 0, 100% 0, 100% 95%, 95% 100%, 0 100%);
    transition: all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
}

#o-nas .card:nth-child(2)::before {
    content: '';
    position: absolute;
    bottom: 0;
    right: 0;
    width: 0;
    height: 0;
    border-left: 40px solid transparent;
    border-top: 40px solid transparent;
    border-bottom: 40px solid #7AB8D4;
    border-right: 40px solid #7AB8D4;
}

#o-nas .card:nth-child(2)::after {
    content: '';
    position: absolute;
    top: -8px;
    left: 50%;
    transform: translateX(-50%);
    width: 100px;
    height: 25px;
    background: rgba(255, 255, 255, 0.3);
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
    clip-path: polygon(5% 0%, 95% 0%, 100% 100%, 0% 100%);
}

#o-nas .card:nth-child(2) h3 {
    color: var(--blue-dark);
    text-shadow:
        2px 2px 4px rgba(255,255,255,0.7),
        -1px -1px 0 rgba(255,255,255,0.4);
}

#o-nas .card:nth-child(3) {
    background: #FFB3E6;
    border: none;
    border-radius: 0;
    transform: rotate(-1deg);
    box-shadow:
        0 8px 20px rgba(0,0,0,0.15),
        inset 0 -3px 0 rgba(0,0,0,0.05);
    position: relative;
    clip-path: polygon(0 0, 100% 0, 100% 95%, 95% 100%, 0 100%);
    transition: all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
}

#o-nas .card:nth-child(3)::before {
    content: '';
    position: absolute;
    bottom: 0;
    right: 0;
    width: 0;
    height: 0;
    border-left: 40px solid transparent;
    border-top: 40px solid transparent;
    border-bottom: 40px solid #CC85B3;
    border-right: 40px solid #CC85B3;
}

#o-nas .card:nth-child(3)::after {
    content: '';
    position: absolute;
    top: -8px;
    left: 50%;
    transform: translateX(-50%);
    width: 100px;
    height: 25px;
    background: rgba(255, 255, 255, 0.3);
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
    clip-path: polygon(5% 0%, 95% 0%, 100% 100%, 0% 100%);
}

#o-nas .card:nth-child(3) h3 {
    color: #8B2F66;
    text-shadow:
        2px 2px 4px rgba(255,255,255,0.7),
        -1px -1px 0 rgba(255,255,255,0.4);
}

#jak-to-dziala .card:nth-child(1) {
    background: linear-gradient(135deg, #B3E5FC, #A3D9F5);
    border-color: var(--sky-dark);
}
#jak-to-dziala .card:nth-child(1) h3 { color: var(--blue-dark); }

#jak-to-dziala .card:nth-child(2) {
    background: linear-gradient(135deg, #A8E6CF, #98D6BF);
    border-color: var(--teal);
}
#jak-to-dziala .card:nth-child(2) h3 { color: var(--green-dark); }

#jak-to-dziala .card:nth-child(3) {
    background: linear-gradient(135deg, #9DD9F3, #8DC9E3);
    border-color: var(--blue);
}
#jak-to-dziala .card:nth-child(3) h3 { color: var(--blue-dark); }

#jak-to-dziala .card:nth-child(4) {
    background: linear-gradient(135deg, #B8E6D5, #A8D6C5);
    border-color: var(--teal);
}
#jak-to-dziala .card:nth-child(4) h3 { color: var(--green-dark); }

#wspolpraca .card:nth-child(1) {
    background: linear-gradient(135deg, #C8E6C9, #B8D6B9);
    border-color: var(--green);
}
#wspolpraca .card:nth-child(1) h3 { color: var(--green-dark); }

#wspolpraca .card:nth-child(2) {
    background: linear-gradient(135deg, #AED8EA, #9EC8DA);
    border-color: var(--blue);
}
#wspolpraca .card:nth-child(2) h3 { color: var(--blue-dark); }

/* ===== MAP SECTION - TRAIL SIGN ===== */

.map-section {
    background: linear-gradient(180deg, #87CEEB 0%, #B8E6D5 50%, #4A6741 100%) !important;
    position: relative;
    overflow: hidden;
    min-height: 700px;
}

/* Sky clouds - low poly style */
.map-cloud {
    position: absolute;
    z-index: 1;
    animation: float-cloud 40s ease-in-out infinite;
}

/* Cloud base - hexagon shape */
.map-cloud::before {
    content: '';
    position: absolute;
    width: 0;
    height: 0;
}

/* Cloud puff - triangle */
.map-cloud::after {
    content: '';
    position: absolute;
    width: 0;
    height: 0;
}

.map-cloud-1 {
    top: 50px;
    left: 10%;
}

.map-cloud-1::before {
    width: 100px;
    height: 40px;
    background: rgba(255, 255, 255, 0.85);
    clip-path: polygon(20% 0%, 80% 0%, 100% 50%, 80% 100%, 20% 100%, 0% 50%);
}

.map-cloud-1::after {
    left: 30px;
    top: -15px;
    border-left: 25px solid transparent;
    border-right: 25px solid transparent;
    border-bottom: 35px solid rgba(255, 255, 255, 0.75);
}

.map-cloud-2 {
    top: 80px;
    right: 15%;
    animation-delay: -10s;
}

.map-cloud-2::before {
    width: 120px;
    height: 50px;
    background: rgba(255, 255, 255, 0.8);
    clip-path: polygon(15% 0%, 85% 0%, 100% 40%, 90% 100%, 10% 100%, 0% 40%);
}

.map-cloud-2::after {
    left: 40px;
    top: -20px;
    border-left: 30px solid transparent;
    border-right: 30px solid transparent;
    border-bottom: 40px solid rgba(255, 255, 255, 0.7);
}

.map-cloud-3 {
    top: 120px;
    left: 60%;
    animation-delay: -20s;
}

.map-cloud-3::before {
    width: 90px;
    height: 38px;
    background: rgba(255, 255, 255, 0.82);
    clip-path: polygon(25% 0%, 75% 0%, 100% 50%, 75% 100%, 25% 100%, 0% 50%);
}

.map-cloud-3::after {
    left: 25px;
    top: -12px;
    border-left: 22px solid transparent;
    border-right: 22px solid transparent;
    border-bottom: 30px solid rgba(255, 255, 255, 0.72);
}

.map-cloud-4 {
    top: 100px;
    left: 35%;
    animation-delay: -30s;
}

.map-cloud-4::before {
    width: 110px;
    height: 45px;
    background: rgba(255, 255, 255, 0.83);
    clip-path: polygon(18% 0%, 82% 0%, 100% 45%, 85% 100%, 15% 100%, 0% 45%);
}

.map-cloud-4::after {
    left: 35px;
    top: -18px;
    border-left: 28px solid transparent;
    border-right: 28px solid transparent;
    border-bottom: 38px solid rgba(255, 255, 255, 0.73);
}

@keyframes float-cloud {
    0%, 100% {
        transform: translateX(0);
    }
    50% {
        transform: translateX(30px);
    }
}

/* Flying birds */
.map-bird {
    position: absolute;
    z-index: 2;
}

.map-bird-body {
    position: relative;
    width: 0;
    height: 0;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-bottom: 12px solid rgba(50, 50, 50, 0.6);
}

.map-bird-wing-left,
.map-bird-wing-right {
    position: absolute;
}

.map-bird-wing-left {
    top: 4px;
    left: -10px;
    width: 0;
    height: 0;
    border-top: 8px solid transparent;
    border-bottom: 8px solid transparent;
    border-right: 14px solid rgba(50, 50, 50, 0.5);
    animation: flap-map-wing 0.6s ease-in-out infinite;
}

.map-bird-wing-right {
    top: 4px;
    right: -10px;
    width: 0;
    height: 0;
    border-top: 8px solid transparent;
    border-bottom: 8px solid transparent;
    border-left: 14px solid rgba(50, 50, 50, 0.5);
    animation: flap-map-wing 0.6s ease-in-out infinite 0.3s;
}

@keyframes flap-map-wing {
    0%, 100% {
        transform: scaleY(1);
    }
    50% {
        transform: scaleY(0.3);
    }
}

.map-bird-1 {
    top: 60px;
    left: 20%;
    animation: fly-map-bird-1 25s ease-in-out infinite;
}

.map-bird-2 {
    top: 90px;
    right: 25%;
    animation: fly-map-bird-2 30s ease-in-out infinite;
}

.map-bird-3 {
    top: 110px;
    left: 70%;
    animation: fly-map-bird-3 28s ease-in-out infinite;
}

@keyframes fly-map-bird-1 {
    0%, 100% {
        transform: translate(0, 0);
    }
    25% {
        transform: translate(100px, -20px);
    }
    50% {
        transform: translate(200px, -5px);
    }
    75% {
        transform: translate(100px, 15px);
    }
}

@keyframes fly-map-bird-2 {
    0%, 100% {
        transform: translate(0, 0);
    }
    25% {
        transform: translate(-80px, -15px);
    }
    50% {
        transform: translate(-150px, -25px);
    }
    75% {
        transform: translate(-70px, 10px);
    }
}

@keyframes fly-map-bird-3 {
    0%, 100% {
        transform: translate(0, 0);
    }
    25% {
        transform: translate(90px, 10px);
    }
    50% {
        transform: translate(180px, -10px);
    }
    75% {
        transform: translate(85px, 20px);
    }
}

/* Mountain background - multiple layers */
.map-mountains {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 100%;
    z-index: 0;
}

/* Back mountains - far distance */
.map-mountain-back-1 {
    position: absolute;
    bottom: 0;
    left: 5%;
    width: 0;
    height: 0;
    border-left: 280px solid transparent;
    border-right: 280px solid transparent;
    border-bottom: 320px solid #8FA99C;
    z-index: 1;
    opacity: 0.7;
}

.map-mountain-back-2 {
    position: absolute;
    bottom: 0;
    right: 10%;
    width: 0;
    height: 0;
    border-left: 320px solid transparent;
    border-right: 320px solid transparent;
    border-bottom: 360px solid #94AEA1;
    z-index: 1;
    opacity: 0.7;
}

.map-mountain-back-3 {
    position: absolute;
    bottom: 0;
    left: 40%;
    width: 0;
    height: 0;
    border-left: 300px solid transparent;
    border-right: 300px solid transparent;
    border-bottom: 340px solid #8BA499;
    z-index: 1;
    opacity: 0.7;
}

/* Mid mountains */
.map-mountain-mid-1 {
    position: absolute;
    bottom: 0;
    left: 15%;
    width: 0;
    height: 0;
    border-left: 300px solid transparent;
    border-right: 300px solid transparent;
    border-bottom: 350px solid #6B8E7D;
    z-index: 2;
}

.map-mountain-mid-2 {
    position: absolute;
    bottom: 0;
    right: 20%;
    width: 0;
    height: 0;
    border-left: 280px solid transparent;
    border-right: 280px solid transparent;
    border-bottom: 330px solid #739288;
    z-index: 2;
}

/* Front mountains */
.map-mountain-front-1 {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0;
    height: 0;
    border-left: 250px solid transparent;
    border-right: 250px solid transparent;
    border-bottom: 280px solid #5A7D6C;
    z-index: 3;
}

.map-mountain-front-2 {
    position: absolute;
    bottom: 0;
    right: 5%;
    width: 0;
    height: 0;
    border-left: 270px solid transparent;
    border-right: 270px solid transparent;
    border-bottom: 300px solid #527566;
    z-index: 3;
}

/* Forest trees in background */
.map-tree {
    position: absolute;
    z-index: 3;
}

.map-tree::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 25px;
    height: 80px;
    background: #3E2723;
    clip-path: polygon(30% 0%, 70% 0%, 85% 100%, 15% 100%);
}

.map-tree::after {
    content: '';
    position: absolute;
    bottom: 50px;
    left: 50%;
    transform: translateX(-50%);
    width: 0;
    height: 0;
    border-left: 60px solid transparent;
    border-right: 60px solid transparent;
    border-bottom: 100px solid #2D5016;
    filter: drop-shadow(0 4px 6px rgba(0,0,0,0.3));
}

.map-tree-1 { left: 5%; bottom: 100px; }
.map-tree-2 { right: 8%; bottom: 120px; }
.map-tree-3 { left: 15%; bottom: 80px; }
.map-tree-4 { right: 20%; bottom: 90px; }
.map-tree-5 { left: 25%; bottom: 110px; }
.map-tree-6 { right: 30%; bottom: 100px; }
.map-tree-7 { left: 80%; bottom: 95px; }
.map-tree-8 { right: 75%; bottom: 105px; }
.map-tree-9 { left: 10%; bottom: 115px; }
.map-tree-10 { right: 12%; bottom: 85px; }
.map-tree-11 { left: 35%; bottom: 95px; }
.map-tree-12 { right: 40%; bottom: 108px; }
.map-tree-13 { left: 45%; bottom: 92px; }
.map-tree-14 { right: 50%; bottom: 103px; }
.map-tree-15 { left: 55%; bottom: 88px; }
.map-tree-16 { right: 60%; bottom: 98px; }
.map-tree-17 { left: 70%; bottom: 107px; }
.map-tree-18 { right: 65%; bottom: 94px; }
.map-tree-19 { left: 3%; bottom: 102px; }
.map-tree-20 { right: 3%; bottom: 112px; }

/* Wooden sign board */
.wooden-sign-board {
    position: relative;
    max-width: 900px;
    margin: 0 auto;
    z-index: 10;
}

/* Sign pole */
.sign-pole {
    position: absolute;
    left: 50%;
    bottom: -50px;
    transform: translateX(-50%);
    width: 40px;
    height: 150px;
    background: linear-gradient(90deg, #5D4037 0%, #795548 50%, #5D4037 100%);
    border-radius: 8px;
    box-shadow: 0 8px 20px rgba(0,0,0,0.4);
    z-index: 5;
}

.sign-pole::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 15px;
    background: #4E342E;
    border-radius: 8px 8px 0 0;
}

/* Wooden board frame */
.sign-board-frame {
    position: relative;
    background: #795548;
    padding: 30px;
    border-radius: 15px;
    box-shadow:
        0 20px 60px rgba(0,0,0,0.5),
        0 10px 30px rgba(0,0,0,0.4),
        inset 0 3px 0 rgba(255,255,255,0.12),
        inset 0 -2px 0 rgba(0,0,0,0.35);
    border: 6px solid #5D4037;
    border-top-color: #8D6E63;
    border-bottom-color: #4E342E;
    z-index: 10;
}

/* Wood grain for sign board */
.sign-board-frame .wood-grain {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    pointer-events: none;
    opacity: 1;
    z-index: 1;
}

.sign-board-frame .wood-grain::before {
    content: '';
    position: absolute;
    top: 20%;
    left: 10%;
    width: 0;
    height: 0;
    border-left: 120px solid transparent;
    border-right: 200px solid transparent;
    border-bottom: 10px solid rgba(62,39,35,0.3);
    transform: rotate(1deg);
}

.sign-board-frame .wood-grain::after {
    content: '';
    position: absolute;
    bottom: 25%;
    right: 12%;
    width: 0;
    height: 0;
    border-left: 180px solid transparent;
    border-right: 140px solid transparent;
    border-bottom: 12px solid rgba(62,39,35,0.25);
    transform: rotate(-2deg);
}

.sign-board-frame .wood-knot-1 {
    position: absolute;
    top: 30%;
    left: 70%;
    width: 0;
    height: 0;
    border-left: 25px solid transparent;
    border-right: 25px solid transparent;
    border-bottom: 40px solid rgba(62,39,35,0.45);
    transform: rotate(45deg);
    z-index: 1;
}

.sign-board-frame .wood-knot-2 {
    position: absolute;
    bottom: 35%;
    left: 20%;
    width: 0;
    height: 0;
    border-left: 20px solid transparent;
    border-right: 20px solid transparent;
    border-bottom: 30px solid rgba(62,39,35,0.4);
    transform: rotate(-30deg);
    z-index: 1;
}

/* Nails for sign board */
.sign-board-frame .nail {
    position: absolute;
    width: 16px;
    height: 16px;
    background: radial-gradient(circle, #757575 0%, #424242 70%);
    border-radius: 50%;
    box-shadow:
        inset -2px -2px 3px rgba(255,255,255,0.4),
        2px 2px 4px rgba(0,0,0,0.6);
    z-index: 15;
}

.sign-board-frame .nail-1 { top: 20px; left: 20px; }
.sign-board-frame .nail-2 { top: 20px; right: 20px; }
.sign-board-frame .nail-3 { bottom: 20px; left: 20px; }
.sign-board-frame .nail-4 { bottom: 20px; right: 20px; }

/* Title for map section */
.map-section h2 {
    color: #FFF8E1 !important;
    text-shadow:
        3px 3px 0 rgba(0,0,0,0.4),
        6px 6px 0 rgba(0,0,0,0.2);
    position: relative;
    z-index: 10;
}

/* Map inside wooden frame */
.map {
    background: linear-gradient(135deg, var(--sky), var(--blue));
    height: 450px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-size: 1.8rem;
    font-weight: 900;
    box-shadow:
        inset 0 4px 8px rgba(0,0,0,0.2),
        0 4px 15px rgba(0,0,0,0.3);
    border: 3px solid #4E342E;
    position: relative;
    z-index: 10;
}

@keyframes pulse-map {
    0%, 100% {
        box-shadow: 0 25px 70px rgba(46,134,171,0.4);
    }
    50% {
        box-shadow: 0 30px 80px rgba(46,134,171,0.6);
    }
}

/* ===== FOOTER ===== */

footer {
    background: linear-gradient(180deg, var(--sky) 0%, var(--blue-dark) 100%);
    color: white;
    padding: 80px 20px 40px;
    text-align: center;
    position: relative;
    overflow: hidden;
}

/* Low poly mountains in footer */
footer::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 10%;
    width: 0;
    height: 0;
    border-left: 200px solid transparent;
    border-right: 200px solid transparent;
    border-bottom: 120px solid rgba(74, 101, 114, 0.4);
}

footer::after {
    content: '';
    position: absolute;
    bottom: 0;
    right: 15%;
    width: 0;
    height: 0;
    border-left: 180px solid transparent;
    border-right: 180px solid transparent;
    border-bottom: 100px solid rgba(58, 82, 96, 0.4);
}

.footer-mountain-1 {
    position: absolute;
    bottom: 0;
    left: 30%;
    width: 0;
    height: 0;
    border-left: 150px solid transparent;
    border-right: 150px solid transparent;
    border-bottom: 90px solid rgba(93, 123, 138, 0.5);
}

.footer-mountain-2 {
    position: absolute;
    bottom: 0;
    right: 25%;
    width: 0;
    height: 0;
    border-left: 130px solid transparent;
    border-right: 130px solid transparent;
    border-bottom: 80px solid rgba(93, 123, 138, 0.45);
}

.footer-tree {
    position: absolute;
    bottom: 15px;
    width: 0;
    height: 0;
    border-left: 8px solid transparent;
    border-right: 8px solid transparent;
    border-bottom: 35px solid rgba(45, 80, 22, 0.6);
}

.footer-tree-1 {
    left: 20%;
}

.footer-tree-2 {
    left: 25%;
}

.footer-tree-3 {
    right: 30%;
}

.footer-tree-4 {
    right: 18%;
}

.footer-content {
    position: relative;
    z-index: 10;
    max-width: 800px;
    margin: 0 auto;
}

footer strong {
    color: var(--yellow);
    text-shadow: 2px 2px 0 rgba(0,0,0,0.3);
    font-size: 1.4rem;
}

footer p {
    margin: 15px 0;
    font-size: 1.1rem;
    font-weight: 600;
    text-shadow: 1px 1px 2px rgba(0,0,0,0.3);
}

/* Low poly stars in footer */
.footer-star {
    position: absolute;
    background: var(--yellow);
    clip-path: polygon(50% 0%, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%);
    animation: twinkle 3s ease-in-out infinite;
}

.footer-star-1 {
    top: 20px;
    left: 15%;
    width: 15px;
    height: 15px;
    animation-delay: 0s;
}

.footer-star-2 {
    top: 50px;
    right: 20%;
    width: 12px;
    height: 12px;
    animation-delay: 1s;
}

.footer-star-3 {
    top: 35px;
    left: 60%;
    width: 10px;
    height: 10px;
    animation-delay: 2s;
}

.footer-star-4 {
    top: 60px;
    right: 40%;
    width: 14px;
    height: 14px;
    animation-delay: 1.5s;
}

@keyframes twinkle {
    0%, 100% {
        opacity: 1;
        transform: scale(1);
    }
    50% {
        opacity: 0.3;
        transform: scale(0.8);
    }
}

/* ===== LOW POLY CLOUDS ===== */

.low-poly-cloud {
    position: absolute;
    z-index: 1;
}

.cloud-1 {
    top: 12%;
    left: 5%;
    width: 120px;
    height: 55px;
    background: rgba(255,255,255,0.75);
    clip-path: polygon(20% 40%, 35% 25%, 55% 30%, 75% 20%, 92% 40%, 88% 60%, 68% 55%, 48% 68%, 28% 62%, 8% 52%);
    animation: float-cloud-1 28s ease-in-out infinite;
}

.cloud-2 {
    top: 25%;
    right: 12%;
    width: 140px;
    height: 65px;
    background: rgba(255,255,255,0.7);
    clip-path: polygon(15% 48%, 28% 28%, 48% 32%, 68% 22%, 88% 42%, 83% 62%, 58% 58%, 38% 72%, 18% 68%);
    animation: float-cloud-2 32s ease-in-out infinite;
}

.cloud-3 {
    top: 40%;
    left: 35%;
    width: 110px;
    height: 50px;
    background: rgba(255,255,255,0.65);
    clip-path: polygon(18% 45%, 32% 30%, 52% 35%, 72% 25%, 90% 45%, 85% 65%, 62% 60%, 42% 70%, 22% 65%);
    animation: float-cloud-3 35s ease-in-out infinite;
}

.cloud-4 {
    top: 8%;
    right: 30%;
    width: 95px;
    height: 45px;
    background: rgba(255,255,255,0.6);
    clip-path: polygon(22% 42%, 38% 28%, 58% 32%, 78% 24%, 92% 44%, 87% 62%, 65% 58%, 45% 68%, 25% 62%);
    animation: float-cloud-4 26s ease-in-out infinite;
}

.cloud-5 {
    top: 50%;
    right: 5%;
    width: 130px;
    height: 60px;
    background: rgba(255,255,255,0.5);
    clip-path: polygon(18% 46%, 34% 26%, 54% 30%, 74% 22%, 90% 44%, 86% 64%, 64% 60%, 44% 72%, 24% 66%);
    animation: float-cloud-5 30s ease-in-out infinite;
}

@keyframes float-cloud-1 {
    0%, 100% {
        transform: translateX(0) translateY(0);
    }
    50% {
        transform: translateX(35px) translateY(-12px);
    }
}

@keyframes float-cloud-2 {
    0%, 100% {
        transform: translateX(0) translateY(0);
    }
    50% {
        transform: translateX(-30px) translateY(-18px);
    }
}

@keyframes float-cloud-3 {
    0%, 100% {
        transform: translateX(0) translateY(0);
    }
    50% {
        transform: translateX(25px) translateY(15px);
    }
}

@keyframes float-cloud-4 {
    0%, 100% {
        transform: translateX(0) translateY(0);
    }
    50% {
        transform: translateX(-20px) translateY(-10px);
    }
}

@keyframes float-cloud-5 {
    0%, 100% {
        transform: translateX(0) translateY(0);
    }
    50% {
        transform: translateX(40px) translateY(20px);
    }
}

/* ===== LOW POLY BIRDS ===== */

.bird {
    position: absolute;
    z-index: 2;
}

.bird-body {
    position: relative;
}

.bird-wing-left,
.bird-wing-right {
    position: absolute;
    width: 0;
    height: 0;
}

/* Bird 1 */
.bird-1 {
    top: 18%;
    left: 25%;
    animation: fly-bird-1 20s ease-in-out infinite;
}

.bird-1 .bird-body {
    width: 0;
    height: 0;
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    border-bottom: 15px solid rgba(0,0,0,0.4);
}

.bird-1 .bird-wing-left {
    top: 5px;
    left: -12px;
    border-top: 8px solid transparent;
    border-bottom: 8px solid transparent;
    border-right: 15px solid rgba(0,0,0,0.35);
    animation: flap-wing 1.5s ease-in-out infinite;
}

.bird-1 .bird-wing-right {
    top: 5px;
    right: -12px;
    border-top: 8px solid transparent;
    border-bottom: 8px solid transparent;
    border-left: 15px solid rgba(0,0,0,0.35);
    animation: flap-wing 1.5s ease-in-out infinite 0.75s;
}

/* Bird 2 */
.bird-2 {
    top: 32%;
    right: 20%;
    animation: fly-bird-2 25s ease-in-out infinite;
}

.bird-2 .bird-body {
    width: 0;
    height: 0;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-bottom: 12px solid rgba(0,0,0,0.35);
}

.bird-2 .bird-wing-left {
    top: 4px;
    left: -10px;
    border-top: 7px solid transparent;
    border-bottom: 7px solid transparent;
    border-right: 13px solid rgba(0,0,0,0.3);
    animation: flap-wing 1.8s ease-in-out infinite;
}

.bird-2 .bird-wing-right {
    top: 4px;
    right: -10px;
    border-top: 7px solid transparent;
    border-bottom: 7px solid transparent;
    border-left: 13px solid rgba(0,0,0,0.3);
    animation: flap-wing 1.8s ease-in-out infinite 0.9s;
}

/* Bird 3 */
.bird-3 {
    top: 45%;
    left: 60%;
    animation: fly-bird-3 30s ease-in-out infinite;
}

.bird-3 .bird-body {
    width: 0;
    height: 0;
    border-left: 4px solid transparent;
    border-right: 4px solid transparent;
    border-bottom: 10px solid rgba(0,0,0,0.3);
}

.bird-3 .bird-wing-left {
    top: 3px;
    left: -8px;
    border-top: 6px solid transparent;
    border-bottom: 6px solid transparent;
    border-right: 11px solid rgba(0,0,0,0.25);
    animation: flap-wing 1.6s ease-in-out infinite;
}

.bird-3 .bird-wing-right {
    top: 3px;
    right: -8px;
    border-top: 6px solid transparent;
    border-bottom: 6px solid transparent;
    border-left: 11px solid rgba(0,0,0,0.25);
    animation: flap-wing 1.6s ease-in-out infinite 0.8s;
}

@keyframes fly-bird-1 {
    0% {
        transform: translate(0, 0);
    }
    25% {
        transform: translate(80px, -30px);
    }
    50% {
        transform: translate(150px, -10px);
    }
    75% {
        transform: translate(100px, 20px);
    }
    100% {
        transform: translate(0, 0);
    }
}

@keyframes fly-bird-2 {
    0% {
        transform: translate(0, 0);
    }
    25% {
        transform: translate(-100px, 20px);
    }
    50% {
        transform: translate(-180px, -15px);
    }
    75% {
        transform: translate(-120px, -35px);
    }
    100% {
        transform: translate(0, 0);
    }
}

@keyframes fly-bird-3 {
    0% {
        transform: translate(0, 0);
    }
    20% {
        transform: translate(-60px, -20px);
    }
    40% {
        transform: translate(-130px, 10px);
    }
    60% {
        transform: translate(-200px, -25px);
    }
    80% {
        transform: translate(-120px, 15px);
    }
    100% {
        transform: translate(0, 0);
    }
}

@keyframes flap-wing {
    0%, 100% {
        transform: scaleY(1);
    }
    50% {
        transform: scaleY(0.3);
    }
}

/* ===== HOT AIR BALLOON ===== */

.hot-air-balloon {
    position: absolute;
    left: 8%;
    top: 20%;
    animation: balloon-float 8s ease-in-out infinite;
    z-index: 5;
}

.balloon-envelope {
    width: 100px;
    height: 120px;
    position: relative;
    border-radius: 50% 50% 45% 45% / 60% 60% 40% 40%;
    overflow: hidden;
}

.balloon-segment {
    position: absolute;
    top: 0;
    height: 100%;
    width: 20%;
}

.segment-1 {
    left: 0%;
    background: linear-gradient(135deg, #E57373 0%, #EF5350 100%);
}

.segment-2 {
    left: 20%;
    background: linear-gradient(135deg, #FFB74D 0%, #FFA726 100%);
}

.segment-3 {
    left: 40%;
    background: linear-gradient(135deg, #FFF176 0%, #FFEE58 100%);
}

.segment-4 {
    left: 60%;
    background: linear-gradient(135deg, #81C784 0%, #66BB6A 100%);
}

.segment-5 {
    left: 80%;
    background: linear-gradient(135deg, #64B5F6 0%, #42A5F5 100%);
}

.balloon-ropes {
    position: absolute;
    width: 100%;
    height: 30px;
    top: 115px;
}

.rope {
    position: absolute;
    width: 2px;
    height: 30px;
    background: rgba(101, 67, 33, 0.6);
}

.rope-2 {
    left: 35%;
}

.rope-3 {
    right: 35%;
}

.balloon-basket {
    position: absolute;
    width: 40px;
    height: 25px;
    background: linear-gradient(135deg, #8D6E63 0%, #6D4C41 100%);
    left: 50%;
    transform: translateX(-50%);
    top: 140px;
    clip-path: polygon(10% 0%, 90% 0%, 100% 100%, 0% 100%);
    box-shadow: inset 0 -2px 5px rgba(0,0,0,0.3);
}

.balloon-basket::before {
    content: '';
    position: absolute;
    width: 100%;
    height: 3px;
    background: #5D4037;
    top: 8px;
    left: 0;
}

.balloon-basket::after {
    content: '';
    position: absolute;
    width: 100%;
    height: 3px;
    background: #5D4037;
    top: 16px;
    left: 0;
}

@keyframes balloon-float {
    0% {
        transform: translate(0, 0);
    }
    25% {
        transform: translate(-15px, -20px);
    }
    50% {
        transform: translate(10px, -30px);
    }
    75% {
        transform: translate(-10px, -15px);
    }
    100% {
        transform: translate(0, 0);
    }
}

/* ===== FLOAT ===== */

@keyframes float {
    0% { transform: translateY(0); }
    50% { transform: translateY(-15px); }
    100% { transform: translateY(0); }
}

/* ===== RESPONSIVE ===== */

@media (max-width: 1200px) {
    header {
        min-height: 500px;
        padding: 60px 20px 120px;
    }

    header h1 {
        font-size: 3rem;
        letter-spacing: -2px;
    }

    .logo {
        width: 160px;
        height: 160px;
    }

    h2 {
        font-size: 2.2rem;
        letter-spacing: -1px;
    }

    .grid {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .btn {
        font-size: 1.1rem;
        padding: 18px 35px;
    }

    header p {
        font-size: 1.1rem;
    }

    .signpost {
        max-width: 90%;
    }

    .signpost-pole {
        width: 20px;
        height: 280px;
    }

    .hot-air-balloon {
        transform: scale(0.7);
        left: 5%;
    }

    .wooden-board {
        padding: 20px 25px 30px 40px;
        margin: 10px 0;
        animation: none;
        transform: rotate(-0.5deg);
        font-size: 0.85rem;
    }

    .wooden-board h1 {
        font-size: 2.2rem;
        margin: 0 0 10px 0;
        letter-spacing: -1px;
    }

    .wooden-board p {
        font-size: 1rem;
        line-height: 1.5;
    }

    .wooden-board::before {
        border-width: 30px 22px 30px 0;
        left: -22px;
    }

    .wooden-board::after {
        border-width: 30px 22px 30px 0;
        left: -22px;
    }

    .signpost-time {
        font-size: 0.75rem;
        left: 40px;
        bottom: 8px;
    }

    .wooden-board .nail {
        width: 10px;
        height: 10px;
    }

    .nail-1 { top: 12px; left: 20px; }
    .nail-2 { top: 12px; right: 20px; }
    .nail-3 { bottom: 12px; left: 20px; }
    .nail-4 { bottom: 12px; right: 20px; }

    section {
        padding: 60px 15px;
    }

    .card {
        padding: 25px;
    }

    .card h3 {
        font-size: 1.3rem;
        margin-bottom: 12px;
    }

    .card p {
        font-size: 0.95rem;
        line-height: 1.5;
    }

    #o-nas .card:nth-child(1)::before,
    #o-nas .card:nth-child(2)::before,
    #o-nas .card:nth-child(3)::before {
        border-left: 30px solid transparent;
        border-top: 30px solid transparent;
        border-bottom: 30px solid;
        border-right: 30px solid;
    }

    #o-nas .card:nth-child(1)::after,
    #o-nas .card:nth-child(2)::after,
    #o-nas .card:nth-child(3)::after {
        width: 80px;
        height: 20px;
        top: -6px;
    }

    /* Smaller mountains on mobile */
    .mountain-back-1 {
        border-left: 250px solid transparent;
        border-right: 250px solid transparent;
        border-bottom: 180px solid var(--mountain-3);
    }

    .mountain-back-2 {
        border-left: 200px solid transparent;
        border-right: 200px solid transparent;
        border-bottom: 150px solid var(--mountain-3);
    }

    .mountain-mid-1 {
        border-left: 180px solid transparent;
        border-right: 180px solid transparent;
        border-bottom: 130px solid var(--mountain-2);
    }

    .mountain-mid-2 {
        border-left: 150px solid transparent;
        border-right: 150px solid transparent;
        border-bottom: 120px solid var(--mountain-2);
    }

    .mountain-front-1,
    .mountain-front-2,
    .mountain-front-3 {
        border-left: 120px solid transparent;
        border-right: 120px solid transparent;
        border-bottom: 90px solid var(--mountain-1);
    }

    /* Smaller trees on mobile */
    .tree-1, .tree-2, .tree-3, .tree-4 {
        border-left: 10px solid transparent;
        border-right: 10px solid transparent;
        border-bottom: 40px solid var(--green-dark);
    }

    /* Smaller sun on mobile */
    .sun {
        top: 40px;
        right: 5%;
    }

    .sun-center {
        width: 70px;
        height: 70px;
    }

    .sun-ray-1, .sun-ray-2 {
        width: 20px;
        height: 6px;
    }

    .sun-ray-3, .sun-ray-4 {
        width: 6px;
        height: 20px;
    }

    .sun-ray-5, .sun-ray-6, .sun-ray-7, .sun-ray-8 {
        width: 18px;
        height: 18px;
    }

    /* Smaller clouds on mobile */
    .cloud-1 {
        width: 80px;
        height: 40px;
    }

    .cloud-2 {
        width: 90px;
        height: 45px;
    }

    .cloud-3 {
        width: 75px;
        height: 35px;
    }

    .cloud-4 {
        width: 65px;
        height: 30px;
    }

    .cloud-5 {
        width: 85px;
        height: 40px;
    }

    /* Hide some birds on mobile for performance */
    .bird-3 {
        display: none;
    }

    /* Smaller balloon on mobile */
    .hot-air-balloon {
        transform: scale(0.5);
        left: 3%;
        top: 15%;
    }

    /* Smaller decorative triangles on mobile */
    section::after,
    section::before {
        opacity: 0.05;
    }

    #o-nas::after {
        border-left: 70px solid transparent;
        border-right: 70px solid transparent;
        border-bottom: 100px solid var(--teal);
    }

    /* Smaller footer mountains on mobile */
    footer::before {
        border-left: 120px solid transparent;
        border-right: 120px solid transparent;
        border-bottom: 70px solid rgba(74, 101, 114, 0.4);
    }

    footer::after {
        border-left: 100px solid transparent;
        border-right: 100px solid transparent;
        border-bottom: 60px solid rgba(58, 82, 96, 0.4);
    }

    .footer-mountain-1 {
        border-left: 90px solid transparent;
        border-right: 90px solid transparent;
        border-bottom: 55px solid rgba(93, 123, 138, 0.5);
    }

    .footer-mountain-2 {
        border-left: 80px solid transparent;
        border-right: 80px solid transparent;
        border-bottom: 50px solid rgba(93, 123, 138, 0.45);
    }

    .footer-tree {
        border-left: 5px solid transparent;
        border-right: 5px solid transparent;
        border-bottom: 25px solid rgba(45, 80, 22, 0.6);
    }

    .footer-star {
        display: none;
    }

    /* Contact section responsive */
    .contact-section {
        min-height: 550px;
        padding: 50px 15px 0 !important;
    }

    .contact-footer-bg {
        padding: 50px 15px 25px;
        min-height: 180px;
    }

    .contact-footer-bg .footer-content p {
        font-size: 0.95rem;
    }

    .contact-footer-bg strong {
        font-size: 1.2rem;
    }

    .contact-footer-bg .footer-star {
        transform: scale(0.7);
    }

    .contact-footer-bg .footer-mountain-1,
    .contact-footer-bg .footer-mountain-2 {
        transform: scale(0.7);
    }

    .contact-footer-bg .footer-tree {
        transform: scale(0.7);
    }

    .contact-footer-bg::before {
        border-left: 120px solid transparent;
        border-right: 120px solid transparent;
        border-bottom: 70px solid rgba(74, 101, 114, 0.4);
    }

    .contact-footer-bg::after {
        border-left: 100px solid transparent;
        border-right: 100px solid transparent;
        border-bottom: 60px solid rgba(58, 82, 96, 0.4);
    }

    .contact-star {
        transform: scale(0.7);
    }

    .contact-moon {
        width: 70px;
        height: 70px;
        top: 40px;
        right: 5%;
    }

    .contact-card-unified {
        margin: 60px 20px 0;
        padding: 30px 25px;
    }

    .contact-card-unified h3 {
        font-size: 1.35rem;
        margin-bottom: 25px;
    }

    .contact-row {
        margin: 15px 0;
        padding: 12px 16px;
        gap: 14px;
    }

    .contact-row p {
        font-size: 0.95rem;
    }

    .contact-icon-small {
        width: 28px;
        height: 28px;
    }

    .phone-small::before {
        width: 17px;
        height: 12px;
    }

    .instagram-small::before {
        width: 14px;
        height: 14px;
        border-width: 2px;
    }

    /* Navbar mobile */
    .navbar-container {
        padding: 0 20px;
    }

    .navbar-logo {
        font-size: 1.3rem;
        gap: 8px;
    }

    .navbar-logo-img {
        height: 35px;
    }

    .hamburger {
        display: flex;
    }

    .nav-menu {
        position: fixed;
        left: -100%;
        top: 70px;
        flex-direction: column;
        background: rgba(44, 62, 80, 0.98);
        width: 100%;
        text-align: center;
        transition: left 0.3s ease;
        box-shadow: 0 10px 27px rgba(0, 0, 0, 0.3);
        gap: 12px;
        padding: 20px;
    }

    .nav-menu.active {
        left: 0;
    }

    .nav-item {
        margin: 0;
    }

    .nav-link {
        display: block;
        padding: 14px 30px;
        font-size: 1rem;
        border-radius: 50px;
        width: 100%;
        max-width: 300px;
        margin: 0 auto;
    }

    .nav-link::after {
        display: none;
    }
}

/* ===== EXTRA STYLING ===== */

section p {
    line-height: 1.9;
    color: rgba(0,0,0,0.8);
    font-weight: 600;
    font-size: 1.1rem;
}

strong {
    font-weight: 900;
}

#o-nas strong { color: var(--teal); }
#jak-to-dziala strong { color: var(--blue); }
#mapa strong { color: var(--green); }
#wspolpraca strong { color: var(--blue-dark); }
#kontakt strong { color: var(--teal); }
#kontakt strong { color: var(--blue); }

/* ===== ANIMATIONS ===== */

@keyframes slideIn {
    from {
        opacity: 0;
        transform: translateX(-30px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

/* ===== CONTACT CARD ===== */

.contact-card {
    background: linear-gradient(135deg, var(--green-light), #D4F1E8);
    text-align: center;
    font-size: 1.3rem;
    border-radius: 30px;
    box-shadow: 0 20px 60px rgba(22,160,133,0.3);
    border: 4px solid var(--teal);
    max-width: 700px;
    margin: 0 auto;
}

.contact-card p {
    margin: 25px 0;
    color: var(--blue-dark);
    font-weight: 700;
}

/* ===== SCROLL EFFECTS ===== */

html {
    scroll-behavior: smooth;
}

/* ===== LOW POLY DECORATIVE SHAPES ===== */

section::after {
    content: '';
    position: absolute;
    width: 0;
    height: 0;
    opacity: 0.08;
    z-index: 0;
}

/* Low poly triangles for mountain feel */
#o-nas::after {
    top: 60px;
    right: 10%;
    border-left: 120px solid transparent;
    border-right: 120px solid transparent;
    border-bottom: 180px solid var(--teal);
}

#jak-to-dziala::after {
    bottom: 80px;
    left: 5%;
    border-left: 100px solid transparent;
    border-right: 100px solid transparent;
    border-bottom: 150px solid var(--blue);
}

#mapa::after {
    top: 100px;
    left: 8%;
    border-left: 90px solid transparent;
    border-right: 90px solid transparent;
    border-bottom: 140px solid var(--green);
}

#wspolpraca::after {
    bottom: 60px;
    right: 12%;
    border-left: 110px solid transparent;
    border-right: 110px solid transparent;
    border-bottom: 160px solid var(--sky);
}

section::before {
    content: '';
    position: absolute;
    width: 0;
    height: 0;
    z-index: 0;
    opacity: 0.06;
}

#o-nas::before {
    bottom: 120px;
    left: 15%;
    border-left: 80px solid transparent;
    border-right: 80px solid transparent;
    border-bottom: 120px solid var(--green);
    animation: float-shape 6s ease-in-out infinite;
}

#jak-to-dziala::before {
    top: 140px;
    right: 8%;
    border-left: 70px solid transparent;
    border-right: 70px solid transparent;
    border-bottom: 100px solid var(--teal);
    animation: float-shape 7s ease-in-out infinite reverse;
}

#mapa::before {
    bottom: 100px;
    right: 10%;
    border-left: 85px solid transparent;
    border-right: 85px solid transparent;
    border-bottom: 130px solid var(--blue);
    animation: float-shape 5s ease-in-out infinite;
}

#wspolpraca::before {
    top: 120px;
    left: 12%;
    border-left: 75px solid transparent;
    border-right: 75px solid transparent;
    border-bottom: 110px solid var(--green);
    animation: float-shape 8s ease-in-out infinite;
}

@keyframes float-shape {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-20px); }
}

/* ===== PARTNERSHIP SECTION - WOODEN DESK ===== */

.partnership-section {
    background: linear-gradient(135deg, #8D6E63 0%, #A1887F 50%, #8D6E63 100%) !important;
    position: relative;
    overflow: hidden;
    min-height: 650px;
    padding: 100px 20px !important;
}

/* Wooden desk surface */
.wooden-desk {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: #795548;
    box-shadow: inset 0 4px 10px rgba(0,0,0,0.3);
    z-index: 0;
}

.desk-wood-grain {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    opacity: 1;
}

.desk-wood-grain::before {
    content: '';
    position: absolute;
    top: 20%;
    left: 15%;
    width: 0;
    height: 0;
    border-left: 200px solid transparent;
    border-right: 300px solid transparent;
    border-bottom: 15px solid rgba(62,39,35,0.25);
    transform: rotate(2deg);
}

.desk-wood-grain::after {
    content: '';
    position: absolute;
    bottom: 30%;
    right: 20%;
    width: 0;
    height: 0;
    border-left: 250px solid transparent;
    border-right: 180px solid transparent;
    border-bottom: 18px solid rgba(62,39,35,0.2);
    transform: rotate(-3deg);
}

.desk-knot-1 {
    position: absolute;
    top: 25%;
    left: 70%;
    width: 0;
    height: 0;
    border-left: 30px solid transparent;
    border-right: 30px solid transparent;
    border-bottom: 50px solid rgba(62,39,35,0.4);
    transform: rotate(45deg);
}

.desk-knot-2 {
    position: absolute;
    bottom: 40%;
    left: 15%;
    width: 0;
    height: 0;
    border-left: 25px solid transparent;
    border-right: 25px solid transparent;
    border-bottom: 40px solid rgba(62,39,35,0.35);
    transform: rotate(-30deg);
}

.desk-knot-3 {
    position: absolute;
    top: 60%;
    right: 25%;
    width: 0;
    height: 0;
    border-left: 28px solid transparent;
    border-right: 28px solid transparent;
    border-bottom: 45px solid rgba(62,39,35,0.38);
    transform: rotate(60deg);
}

.partnership-section h2 {
    position: relative;
    z-index: 10;
    color: #FFF8E1 !important;
    text-shadow:
        3px 3px 0 rgba(0,0,0,0.4),
        6px 6px 0 rgba(0,0,0,0.2);
    margin-bottom: 50px;
}

/* ===== DESK TOOLS - LOW POLY ===== */

/* Compass */
.desk-compass {
    position: absolute;
    top: 100px;
    left: 3%;
    z-index: 5;
}

.compass-body {
    width: 80px;
    height: 80px;
    background: linear-gradient(135deg, #C9B037 0%, #E6D07F 50%, #C9B037 100%);
    clip-path: polygon(30% 0%, 70% 0%, 100% 30%, 100% 70%, 70% 100%, 30% 100%, 0% 70%, 0% 30%);
    border: 3px solid #A89022;
    position: relative;
    box-shadow: 0 4px 15px rgba(0,0,0,0.4);
}

.compass-needle {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) rotate(25deg);
    width: 4px;
    height: 45px;
    background: linear-gradient(180deg, #C0392B 0%, #C0392B 50%, #ECF0F1 50%, #ECF0F1 100%);
    box-shadow: 0 2px 6px rgba(0,0,0,0.3);
    z-index: 2;
    transition: transform 0.6s ease-in-out;
}

.desk-compass:hover .compass-needle {
    transform: translate(-50%, -50%) rotate(385deg);
}

.compass-directions {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
}

.compass-n {
    position: absolute;
    top: 8px;
    left: 50%;
    transform: translateX(-50%);
    font-weight: 900;
    font-size: 14px;
    color: #2C3E50;
}

/* Rope coil */
.desk-rope {
    position: absolute;
    top: 100px;
    right: 8%;
    z-index: 4;
}

.desk-rope:hover .rope-coil-1 {
    animation: rope-wave-1 0.6s ease-in-out;
}

.desk-rope:hover .rope-coil-2 {
    animation: rope-wave-2 0.6s ease-in-out 0.1s;
}

.desk-rope:hover .rope-coil-3 {
    animation: rope-wave-3 0.6s ease-in-out 0.2s;
}

@keyframes rope-wave-1 {
    0%, 100% { transform: rotate(0deg) scale(1); }
    25% { transform: rotate(10deg) scale(1.05); }
    75% { transform: rotate(-10deg) scale(0.95); }
}

@keyframes rope-wave-2 {
    0%, 100% { transform: rotate(30deg) scale(1); }
    25% { transform: rotate(40deg) scale(1.05); }
    75% { transform: rotate(20deg) scale(0.95); }
}

@keyframes rope-wave-3 {
    0%, 100% { transform: rotate(60deg) scale(1); }
    25% { transform: rotate(70deg) scale(1.05); }
    75% { transform: rotate(50deg) scale(0.95); }
}

.rope-coil-1,
.rope-coil-2,
.rope-coil-3 {
    position: absolute;
    width: 0;
    height: 0;
}

.rope-coil-1 {
    border-left: 35px solid transparent;
    border-right: 35px solid transparent;
    border-bottom: 18px solid #CD7F32;
    border-radius: 50%;
    transform: rotate(0deg);
    transition: transform 0.3s ease;
}

.rope-coil-2 {
    border-left: 32px solid transparent;
    border-right: 32px solid transparent;
    border-bottom: 16px solid #B8733A;
    border-radius: 50%;
    transform: rotate(30deg);
    top: 5px;
    left: 3px;
    transition: transform 0.3s ease;
}

.rope-coil-3 {
    border-left: 30px solid transparent;
    border-right: 30px solid transparent;
    border-bottom: 14px solid #A86832;
    border-radius: 50%;
    transform: rotate(60deg);
    top: 10px;
    left: 5px;
    transition: transform 0.3s ease;
}

/* Ice axe */
.desk-ice-axe {
    position: absolute;
    bottom: 100px;
    left: 6%;
    z-index: 6;
    transform: rotate(-35deg) scale(1.15);
    transition: transform 0.5s ease-in-out;
    transform-origin: top center;
}

.desk-ice-axe:hover {
    animation: swing-axe 0.6s ease-in-out;
}

@keyframes swing-axe {
    0%, 100% { transform: rotate(-35deg) scale(1.15); }
    25% { transform: rotate(-25deg) scale(1.15); }
    75% { transform: rotate(-45deg) scale(1.15); }
}

.axe-handle {
    width: 8px;
    height: 120px;
    background: linear-gradient(90deg, #8B4513 0%, #A0522D 50%, #8B4513 100%);
    position: relative;
    box-shadow: 2px 2px 8px rgba(0,0,0,0.3);
}

.axe-head {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 0;
    height: 0;
    border-left: 15px solid transparent;
    border-right: 15px solid transparent;
    border-bottom: 25px solid #95A5A6;
    filter: drop-shadow(0 2px 4px rgba(0,0,0,0.4));
}

.axe-pick {
    position: absolute;
    top: 15px;
    left: 50%;
    transform: translateX(-50%);
    width: 0;
    height: 0;
    border-top: 10px solid transparent;
    border-bottom: 10px solid transparent;
    border-left: 40px solid #7F8C8D;
    filter: drop-shadow(2px 0 4px rgba(0,0,0,0.3));
}

/* Flashlight */
.desk-flashlight {
    position: absolute;
    bottom: 100px;
    right: 10%;
    z-index: 5;
    transform: rotate(25deg);
}

.flashlight-body {
    width: 70px;
    height: 25px;
    background: linear-gradient(180deg, #2C3E50 0%, #34495E 100%);
    clip-path: polygon(0 20%, 5% 0, 95% 0, 100% 20%, 100% 80%, 95% 100%, 5% 100%, 0 80%);
    position: relative;
    box-shadow: 0 3px 10px rgba(0,0,0,0.4);
}

.flashlight-head {
    position: absolute;
    right: -15px;
    top: 50%;
    transform: translateY(-50%);
    width: 0;
    height: 0;
    border-top: 18px solid transparent;
    border-bottom: 18px solid transparent;
    border-left: 20px solid #7F8C8D;
}

.flashlight-light {
    position: absolute;
    right: -20px;
    top: 50%;
    transform: translateY(-50%);
    width: 12px;
    height: 12px;
    background: radial-gradient(circle, #F39C12 0%, transparent 70%);
    border-radius: 50%;
    opacity: 0.6;
    transition: all 0.3s ease;
}

.desk-flashlight:hover .flashlight-light {
    opacity: 1;
    width: 40px;
    height: 40px;
    right: -35px;
    background: radial-gradient(circle, #F1C40F 0%, #F39C12 30%, transparent 70%);
    box-shadow: 0 0 30px rgba(241, 196, 15, 0.8);
}

/* Thermos */
.desk-thermos {
    position: absolute;
    top: 200px;
    left: 10%;
    z-index: 5;
    transition: transform 0.3s ease;
}

.desk-thermos:hover {
    animation: wobble-thermos 0.5s ease-in-out;
}

@keyframes wobble-thermos {
    0%, 100% { transform: rotate(0deg); }
    25% { transform: rotate(-5deg); }
    75% { transform: rotate(5deg); }
}

.thermos-body {
    width: 40px;
    height: 65px;
    background: linear-gradient(90deg, #C0392B 0%, #E74C3C 50%, #C0392B 100%);
    clip-path: polygon(15% 0%, 85% 0%, 100% 5%, 100% 95%, 85% 100%, 15% 100%, 0% 95%, 0% 5%);
    position: relative;
    box-shadow: 0 4px 12px rgba(0,0,0,0.3);
}

.thermos-lid {
    position: absolute;
    top: -8px;
    left: 50%;
    transform: translateX(-50%);
    width: 35px;
    height: 10px;
    background: #7F8C8D;
    clip-path: polygon(10% 0%, 90% 0%, 100% 50%, 90% 100%, 10% 100%, 0% 50%);
}

.thermos-steam {
    position: absolute;
    top: -15px;
    left: 50%;
    transform: translateX(-50%);
    width: 20px;
    height: 20px;
    background: radial-gradient(circle, rgba(236, 240, 241, 0.7) 0%, rgba(236, 240, 241, 0.3) 50%, transparent 100%);
    border-radius: 50%;
    opacity: 0;
}

.desk-thermos:hover .steam-1 {
    animation: steam-rise-1 2s ease-out infinite;
}

.desk-thermos:hover .steam-2 {
    animation: steam-rise-2 2s ease-out infinite 0.6s;
}

.desk-thermos:hover .steam-3 {
    animation: steam-rise-3 2s ease-out infinite 1.2s;
}

@keyframes steam-rise-1 {
    0% {
        opacity: 0;
        transform: translateX(-50%) translateY(0) scale(0.5);
    }
    20% {
        opacity: 0.8;
    }
    80% {
        opacity: 0.3;
    }
    100% {
        opacity: 0;
        transform: translateX(-45%) translateY(-40px) scale(1.2);
    }
}

@keyframes steam-rise-2 {
    0% {
        opacity: 0;
        transform: translateX(-50%) translateY(0) scale(0.5);
    }
    20% {
        opacity: 0.7;
    }
    80% {
        opacity: 0.2;
    }
    100% {
        opacity: 0;
        transform: translateX(-55%) translateY(-45px) scale(1.3);
    }
}

@keyframes steam-rise-3 {
    0% {
        opacity: 0;
        transform: translateX(-50%) translateY(0) scale(0.5);
    }
    20% {
        opacity: 0.9;
    }
    80% {
        opacity: 0.4;
    }
    100% {
        opacity: 0;
        transform: translateX(-50%) translateY(-38px) scale(1.1);
    }
}

/* Pencil */
.desk-pencil {
    position: absolute;
    bottom: 200px;
    left: 12%;
    z-index: 4;
    transform: rotate(-15deg);
    transition: transform 0.4s ease-in-out;
}

.desk-pencil:hover {
    animation: pencil-roll 0.5s ease-in-out;
}

@keyframes pencil-roll {
    0% { transform: rotate(-15deg) translateX(0); }
    50% { transform: rotate(-5deg) translateX(8px); }
    100% { transform: rotate(-15deg) translateX(0); }
}

.pencil-body {
    width: 10px;
    height: 100px;
    background: linear-gradient(180deg, #F39C12 0%, #E67E22 100%);
    clip-path: polygon(20% 0%, 80% 0%, 100% 2%, 100% 98%, 80% 100%, 20% 100%, 0% 98%, 0% 2%);
    position: relative;
    box-shadow: 2px 2px 8px rgba(0,0,0,0.3);
}

.pencil-tip {
    position: absolute;
    bottom: -15px;
    left: 50%;
    transform: translateX(-50%);
    width: 0;
    height: 0;
    border-left: 8px solid transparent;
    border-right: 8px solid transparent;
    border-top: 18px solid #2C3E50;
}

/* Winter hat */
.desk-hat {
    position: absolute;
    top: 200px;
    right: 10%;
    z-index: 4;
    transition: transform 0.4s ease;
}

.desk-hat:hover {
    animation: hat-wiggle 0.5s ease-in-out;
}

@keyframes hat-wiggle {
    0%, 100% { transform: rotate(0deg); }
    25% { transform: rotate(-8deg); }
    75% { transform: rotate(8deg); }
}

/* Hat main body */
.hat-body {
    width: 80px;
    height: 70px;
    background: #E74C3C;
    clip-path: polygon(
        15% 10%, 20% 0%, 80% 0%, 85% 10%,
        100% 100%, 0% 100%
    );
    position: relative;
    filter: drop-shadow(3px 4px 8px rgba(0,0,0,0.4));
}

/* Ribbed pattern on hat */
.hat-body::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: repeating-linear-gradient(
        90deg,
        transparent,
        transparent 8px,
        rgba(0, 0, 0, 0.1) 8px,
        rgba(0, 0, 0, 0.1) 10px
    );
}

/* Hat brim (folded edge) */
.hat-brim {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 80px;
    height: 15px;
    background: #C0392B;
    clip-path: polygon(0 30%, 100% 30%, 100% 100%, 0 100%);
    filter: drop-shadow(0 2px 4px rgba(0,0,0,0.3));
}

/* Pompom on top */
.hat-pompom {
    position: absolute;
    top: -18px;
    left: 50%;
    transform: translateX(-50%);
    width: 28px;
    height: 28px;
    background: #ECF0F1;
    border-radius: 50%;
    box-shadow:
        0 3px 8px rgba(0,0,0,0.3),
        inset 0 2px 4px rgba(255,255,255,0.5);
}

/* Pompom texture */
.hat-pompom::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 20px;
    height: 20px;
    background: radial-gradient(circle, #FFF 30%, transparent 70%);
    border-radius: 50%;
    opacity: 0.6;
}

/* ===== DOCUMENT CARDS ON DESK ===== */

.desk-documents {
    position: relative;
    max-width: 1000px;
    margin: 0 auto;
    display: flex;
    gap: 40px;
    justify-content: center;
    flex-wrap: wrap;
    z-index: 10;
}

.document-card {
    position: relative;
    background: #FEFEFA;
    padding: 35px;
    width: 400px;
    box-shadow:
        0 8px 25px rgba(0,0,0,0.3),
        inset 0 1px 0 rgba(255,255,255,0.8);
    clip-path: polygon(0 0, 100% 0, 100% 97%, 95% 100%, 0 100%);
    transform: rotate(-1deg);
    transition: all 0.3s ease;
}

.document-card.card-2 {
    transform: rotate(2deg);
}

.document-card:hover {
    transform: rotate(0deg) translateY(-8px) scale(1.02);
    box-shadow:
        0 15px 35px rgba(0,0,0,0.4),
        inset 0 1px 0 rgba(255,255,255,0.9);
}

/* Paper fold corner */
.document-card::after {
    content: '';
    position: absolute;
    bottom: 0;
    right: 0;
    width: 0;
    height: 0;
    border-left: 30px solid transparent;
    border-top: 30px solid transparent;
    border-bottom: 30px solid #E0E0D8;
    border-right: 30px solid #E0E0D8;
}

/* Paper clip */
.document-clip {
    position: absolute;
    top: -8px;
    left: 50%;
    transform: translateX(-50%);
    width: 50px;
    height: 20px;
    border: 3px solid #95A5A6;
    border-radius: 10px 10px 0 0;
    border-bottom: none;
    box-shadow: 0 3px 8px rgba(0,0,0,0.3);
    z-index: 5;
}

.document-clip::before {
    content: '';
    position: absolute;
    top: -2px;
    left: 5px;
    width: 36px;
    height: 16px;
    border: 2px solid #7F8C8D;
    border-radius: 8px 8px 0 0;
    border-bottom: none;
}

.document-content {
    position: relative;
    z-index: 2;
}

.document-content h3 {
    font-size: 1.8rem;
    color: #2C3E50;
    margin: 0 0 15px 0;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: -1px;
}

.document-content p {
    font-size: 1.1rem;
    color: rgba(0,0,0,0.8);
    line-height: 1.6;
    margin: 0 0 20px 0;
    font-weight: 600;
}

.document-content a,
.document-btn {
    display: inline-block;
    padding: 12px 30px;
    background: linear-gradient(135deg, #8D6E63 0%, #A1887F 100%);
    color: #FEFEFA;
    text-decoration: none;
    font-size: 1.1rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 1px;
    border-radius: 8px;
    box-shadow: 0 4px 15px rgba(141, 110, 99, 0.4);
    transition: all 0.3s ease;
    border: none;
    cursor: pointer;
}

.document-content a:hover,
.document-btn:hover {
    background: linear-gradient(135deg, #A1887F 0%, #8D6E63 100%);
    transform: translateY(-3px);
    box-shadow: 0 6px 20px rgba(141, 110, 99, 0.6);
}

/* ===== CONTACT SECTION - NIGHT CAMPING ===== */

.contact-section {
    background: linear-gradient(180deg, #1A1A2E 0%, #16213E 40%, #0F3460 65%, var(--sky) 85%, var(--blue-dark) 100%) !important;
    position: relative;
    overflow: hidden;
    min-height: 650px;
    padding: 80px 20px 0 !important;
}

/* Stars */
.contact-star {
    position: absolute;
    background: #FFF;
    clip-path: polygon(50% 0%, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%);
    animation: twinkle-contact 3s ease-in-out infinite;
    z-index: 1;
}

.contact-star-1 {
    width: 20px;
    height: 20px;
    top: 10%;
    left: 15%;
}

.contact-star-2 {
    width: 15px;
    height: 15px;
    top: 20%;
    right: 20%;
    animation-delay: 0.5s;
}

.contact-star-3 {
    width: 18px;
    height: 18px;
    top: 8%;
    left: 60%;
    animation-delay: 1s;
}

.contact-star-4 {
    width: 12px;
    height: 12px;
    top: 15%;
    right: 40%;
    animation-delay: 1.5s;
}

.contact-star-5 {
    width: 16px;
    height: 16px;
    top: 25%;
    left: 35%;
    animation-delay: 2s;
}

.contact-star-6 {
    width: 14px;
    height: 14px;
    top: 12%;
    right: 10%;
    animation-delay: 2.5s;
}

.contact-star-7 {
    width: 17px;
    height: 17px;
    top: 18%;
    left: 80%;
    animation-delay: 1.2s;
}

.contact-star-8 {
    width: 13px;
    height: 13px;
    top: 22%;
    right: 65%;
    animation-delay: 1.8s;
}

@keyframes twinkle-contact {
    0%, 100% {
        opacity: 1;
        transform: scale(1);
    }
    50% {
        opacity: 0.4;
        transform: scale(0.8);
    }
}

/* Moon */
.contact-moon {
    position: absolute;
    top: 60px;
    right: 10%;
    width: 100px;
    height: 100px;
    background: #F4E7C3;
    clip-path: circle(50%);
    box-shadow: 0 0 40px rgba(244, 231, 195, 0.5);
    z-index: 1;
}

.contact-moon::before {
    content: '';
    position: absolute;
    top: 20%;
    left: 15%;
    width: 20px;
    height: 20px;
    background: rgba(209, 196, 158, 0.4);
    clip-path: circle(50%);
}

.contact-moon::after {
    content: '';
    position: absolute;
    bottom: 30%;
    right: 20%;
    width: 15px;
    height: 15px;
    background: rgba(209, 196, 158, 0.3);
    clip-path: circle(50%);
}

.contact-section h2 {
    position: relative;
    z-index: 10;
    color: #F4E7C3 !important;
    text-shadow:
        3px 3px 0 rgba(0,0,0,0.4),
        6px 6px 0 rgba(0,0,0,0.2);
    margin-bottom: 40px;
}

/* Unified contact card */
.contact-card-unified {
    position: relative;
    max-width: 520px;
    margin: 50px auto 0;
    background: rgba(255, 255, 255, 0.95);
    padding: 40px 45px;
    border-radius: 20px;
    box-shadow:
        0 15px 40px rgba(0,0,0,0.25),
        0 5px 15px rgba(0,0,0,0.15);
    z-index: 10;
    transition: all 0.4s ease;
}

.contact-card-unified:hover {
    transform: translateY(-8px);
    box-shadow:
        0 20px 50px rgba(0,0,0,0.3),
        0 10px 20px rgba(0,0,0,0.2);
}

.contact-card-unified h3 {
    font-size: 1.5rem;
    color: #2C3E50;
    margin: 0 0 30px 0;
    font-weight: 700;
    text-transform: none;
    letter-spacing: 0.5px;
    text-align: center;
}

.contact-row {
    display: flex;
    align-items: center;
    gap: 16px;
    margin: 18px 0;
    padding: 14px 20px;
    background: rgba(52, 152, 219, 0.05);
    border-radius: 12px;
    border-left: 3px solid #3498DB;
    transition: all 0.3s ease;
}

.contact-row:hover {
    background: rgba(52, 152, 219, 0.1);
    transform: translateX(5px);
    border-left-width: 4px;
}

.contact-icon-small {
    width: 32px;
    height: 32px;
    flex-shrink: 0;
    position: relative;
}

/* Email icon - simplified envelope */
.email-small {
    background: #3498DB;
    clip-path: polygon(0 20%, 50% 50%, 100% 20%, 100% 100%, 0 100%);
    box-shadow: 0 2px 6px rgba(0,0,0,0.15);
}

/* Phone icon - simplified */
.phone-small {
    background: #27AE60;
    clip-path: polygon(15% 0%, 85% 0%, 100% 10%, 100% 90%, 85% 100%, 15% 100%, 0% 90%, 0% 10%);
    box-shadow: 0 2px 6px rgba(0,0,0,0.15);
}

.phone-small::before {
    content: '';
    position: absolute;
    top: 6px;
    left: 50%;
    transform: translateX(-50%);
    width: 20px;
    height: 14px;
    background: #E8F5E9;
    clip-path: polygon(10% 0%, 90% 0%, 100% 5%, 100% 95%, 90% 100%, 10% 100%, 0% 95%, 0% 5%);
}

/* Instagram icon - simplified camera */
.instagram-small {
    background: linear-gradient(135deg, #F58529, #DD2A7B, #8134AF);
    clip-path: polygon(20% 0%, 80% 0%, 100% 20%, 100% 80%, 80% 100%, 20% 100%, 0% 80%, 0% 20%);
    box-shadow: 0 2px 6px rgba(0,0,0,0.15);
}

.instagram-small::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 16px;
    height: 16px;
    border: 2.5px solid #FFF;
    border-radius: 50%;
}

.contact-row p {
    font-size: 1.05rem;
    color: #34495E;
    margin: 0;
    font-weight: 600;
    letter-spacing: 0.3px;
}

/* Footer area integrated into contact section */
.contact-footer-bg {
    position: relative;
    width: 100%;
    min-height: 220px;
    padding: 60px 20px 30px;
    text-align: center;
}

.contact-footer-bg::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 10%;
    width: 0;
    height: 0;
    border-left: 200px solid transparent;
    border-right: 200px solid transparent;
    border-bottom: 120px solid rgba(74, 101, 114, 0.4);
}

.contact-footer-bg::after {
    content: '';
    position: absolute;
    bottom: 0;
    right: 15%;
    width: 0;
    height: 0;
    border-left: 180px solid transparent;
    border-right: 180px solid transparent;
    border-bottom: 100px solid rgba(58, 82, 96, 0.4);
}

.contact-footer-bg .footer-content {
    position: relative;
    z-index: 10;
    max-width: 1200px;
    margin: 0 auto;
    color: white;
}

/* Footer container */
.footer-container {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 40px;
    margin-bottom: 40px;
    padding: 0 20px;
}

/* Footer columns */
.footer-column {
    text-align: left;
}

.footer-column:first-child {
    border-right: 1px solid rgba(255, 255, 255, 0.15);
    padding-right: 50px;
}

.footer-column h4 {
    color: var(--yellow);
    font-size: 1.2rem;
    font-weight: 800;
    margin-bottom: 20px;
    margin-top: 0;
    text-transform: uppercase;
    letter-spacing: 1px;
    text-shadow: 2px 2px 4px rgba(0,0,0,0.4);
    line-height: 1.4;
}

/* Logo section */
.footer-logo {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 20px;
}

.footer-logo img {
    width: 50px;
    height: 50px;
    filter: drop-shadow(2px 2px 4px rgba(0,0,0,0.3));
}

.footer-logo h3 {
    color: white;
    font-size: 1.8rem;
    font-weight: 900;
    margin: 0;
    text-shadow: 2px 2px 4px rgba(0,0,0,0.4);
}

.footer-logo .logo-raczko {
    color: var(--yellow);
}

.footer-tagline {
    color: var(--yellow);
    font-size: 1.1rem;
    font-weight: 700;
    margin: 10px 0;
    font-style: italic;
}

.footer-description {
    color: rgba(255, 255, 255, 0.85);
    font-size: 0.95rem;
    line-height: 1.6;
    margin: 10px 0;
    font-weight: lighter;
    text-align: justify;
}

/* Footer links */
.footer-links {
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer-links li {
    margin: 12px 0;
}

.footer-links a {
    color: rgba(255, 255, 255, 0.9);
    text-decoration: none;
    font-size: 0.95rem;
    transition: all 0.3s ease;
    display: inline-block;
    position: relative;
    padding-left: 18px;
}

.footer-links a:before {
    content: '▸';
    position: absolute;
    left: 0;
    color: var(--yellow);
    font-weight: bold;
}

.footer-links a:hover {
    color: var(--yellow);
    transform: translateX(5px);
}

/* Footer contact */
.footer-contact {
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer-contact li {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 15px 0;
}

.footer-contact svg {
    color: var(--yellow);
    flex-shrink: 0;
}

.footer-contact a {
    color: rgba(255, 255, 255, 0.9);
    text-decoration: none;
    font-size: 0.95rem;
    transition: all 0.3s ease;
}

.footer-contact a:hover {
    color: var(--yellow);
}

/* Footer bottom */
.footer-bottom {
    border-top: 2px solid rgba(255, 255, 255, 0.2);
    padding: 25px 20px 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 15px;
}

.footer-bottom p {
    margin: 0;
    font-size: 0.95rem;
    color: rgba(255, 255, 255, 0.85);
}

.footer-bottom strong {
    color: var(--yellow);
    font-weight: 900;
}

.footer-bottom-links {
    display: flex;
    gap: 15px;
    align-items: center;
}

.footer-bottom-links a {
    color: rgba(255, 255, 255, 0.75);
    text-decoration: none;
    font-size: 0.9rem;
    transition: color 0.3s ease;
}

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

.footer-bottom-links span {
    color: rgba(255, 255, 255, 0.5);
}

/* Responsive footer */
@media (max-width: 992px) {
    .footer-container {
        grid-template-columns: repeat(2, 1fr);
        gap: 35px;
    }

    .footer-column:first-child {
        border-right: none;
        padding-right: 0;
    }
}

@media (max-width: 576px) {
    .footer-container {
        grid-template-columns: 1fr;
        gap: 30px;
        text-align: center;
    }

    .footer-column {
        text-align: center;
    }

    .footer-logo {
        justify-content: center;
    }

    .footer-links a {
        padding-left: 0;
    }

    .footer-links a:before {
        display: none;
    }

    .footer-contact li {
        justify-content: center;
    }

    .footer-bottom {
        flex-direction: column;
        text-align: center;
    }
}

.contact-footer-bg strong {
    color: var(--yellow);
    text-shadow: 2px 2px 0 rgba(0,0,0,0.3);
    font-size: 1.4rem;
}

.contact-footer-bg .footer-star {
    position: absolute;
    background: var(--yellow);
    clip-path: polygon(50% 0%, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%);
    animation: twinkle 3s ease-in-out infinite;
}

.contact-footer-bg .footer-star-1 {
    top: 20px;
    left: 15%;
    width: 15px;
    height: 15px;
    animation-delay: 0s;
}

.contact-footer-bg .footer-star-2 {
    top: 50px;
    right: 20%;
    width: 12px;
    height: 12px;
    animation-delay: 1s;
}

.contact-footer-bg .footer-star-3 {
    top: 35px;
    left: 60%;
    width: 10px;
    height: 10px;
    animation-delay: 2s;
}

.contact-footer-bg .footer-star-4 {
    top: 60px;
    right: 40%;
    width: 14px;
    height: 14px;
    animation-delay: 1.5s;
}

.contact-footer-bg .footer-mountain-1 {
    position: absolute;
    bottom: 0;
    left: 30%;
    width: 0;
    height: 0;
    border-left: 150px solid transparent;
    border-right: 150px solid transparent;
    border-bottom: 90px solid rgba(93, 123, 138, 0.5);
}

.contact-footer-bg .footer-mountain-2 {
    position: absolute;
    bottom: 0;
    right: 25%;
    width: 0;
    height: 0;
    border-left: 130px solid transparent;
    border-right: 130px solid transparent;
    border-bottom: 80px solid rgba(93, 123, 138, 0.45);
}

.contact-footer-bg .footer-tree {
    position: absolute;
    bottom: 15px;
    width: 0;
    height: 0;
    border-left: 8px solid transparent;
    border-right: 8px solid transparent;
    border-bottom: 35px solid rgba(45, 80, 22, 0.6);
}

.contact-footer-bg .footer-tree-1 {
    left: 20%;
}

.contact-footer-bg .footer-tree-2 {
    left: 25%;
}

.contact-footer-bg .footer-tree-3 {
    right: 30%;
}

.contact-footer-bg .footer-tree-4 {
    right: 18%;
}

/* ===== SCROLL TO TOP BUTTON ===== */

.scroll-to-top {
    position: fixed;
    bottom: 30px;
    right: 30px;
    width: 60px;
    height: 60px;
    background: linear-gradient(135deg, var(--teal), var(--green));
    border: none;
    cursor: pointer;
    z-index: 999;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
    box-shadow:
        0 5px 0 var(--green-dark),
        0 8px 20px rgba(22,160,133,0.5);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

@keyframes pulse-button {
    0%, 100% {
        box-shadow:
            0 5px 0 var(--green-dark),
            0 8px 20px rgba(22,160,133,0.5);
    }
    50% {
        box-shadow:
            0 5px 0 var(--green-dark),
            0 8px 30px rgba(22,160,133,0.7);
    }
}

@keyframes bounce-in {
    0% {
        opacity: 0;
        transform: scale(0.3) translateY(20px);
    }
    50% {
        transform: scale(1.1) translateY(-5px);
    }
    70% {
        transform: scale(0.9) translateY(0);
    }
    100% {
        opacity: 1;
        transform: scale(1) translateY(0);
    }
}

.scroll-to-top.show {
    opacity: 1;
    visibility: visible;
}

.scroll-to-top:hover {
    transform: translateY(-3px);
    box-shadow:
        0 8px 0 var(--green-dark),
        0 12px 25px rgba(22,160,133,0.6);
}

.scroll-to-top:active {
    transform: translateY(2px);
    box-shadow:
        0 3px 0 var(--green-dark),
        0 5px 15px rgba(22,160,133,0.4);
}

/* Simple arrow up */
.arrow-up {
    width: 0;
    height: 0;
    border-left: 16px solid transparent;
    border-right: 16px solid transparent;
    border-bottom: 22px solid var(--green-dark);
    filter: drop-shadow(0 1px 2px rgba(0,0,0,0.2));
    transition: transform 0.3s ease;
}

.scroll-to-top:hover .arrow-up {
    transform: translateY(-3px);
}

@media (max-width: 768px) {
    .scroll-to-top {
        width: 55px;
        height: 55px;
        bottom: 20px;
        right: 20px;
        box-shadow:
            0 4px 0 var(--green-dark),
            0 6px 15px rgba(22,160,133,0.5);
    }

    .scroll-to-top:hover {
        transform: translateY(-2px);
        box-shadow:
            0 6px 0 var(--green-dark),
            0 9px 20px rgba(22,160,133,0.6);
    }

    .scroll-to-top:active {
        transform: translateY(1px);
        box-shadow:
            0 2px 0 var(--green-dark),
            0 4px 12px rgba(22,160,133,0.4);
    }

    .arrow-up {
        border-left: 12px solid transparent;
        border-right: 12px solid transparent;
        border-bottom: 16px solid var(--green-dark);
    }
}