.hero-port {
    background: linear-gradient(135deg, rgba(15, 52, 96, 0.92) 0%, rgba(10, 37, 64, 0.95) 100%),
                url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 600'%3E%3Cdefs%3E%3ClinearGradient id='port' x1='0%25' y1='0%25' x2='100%25' y2='100%25'%3E%3Cstop offset='0%25' stop-color='%231A4A7A'/%3E%3Cstop offset='100%25' stop-color='%230F3460'/%3E%3C/linearGradient%3E%3C/defs%3E%3Crect fill='url(%23port)' width='1200' height='600'/%3E%3Crect x='100' y='150' width='200' height='120' rx='4' fill='%23E6B325' opacity='0.15'/%3E%3Crect x='400' y='130' width='250' height='140' rx='4' fill='%23E6B325' opacity='0.2'/%3E%3Crect x='750' y='150' width='200' height='120' rx='4' fill='%23E6B325' opacity='0.12'/%3E%3Cpath d='M200 270 L280 240 L280 300 L200 270 Z' fill='%23E6B325' opacity='0.1'/%3E%3Cpath d='M500 250 L580 220 L580 280 L500 250 Z' fill='%23E6B325' opacity='0.08'/%3E%3Cpath d='M850 270 L930 240 L930 300 L850 270 Z' fill='%23E6B325' opacity='0.1'/%3E%3C/svg%3E");
    background-size: cover;
    background-position: center;
    min-height: 500px;
}

.intro-section {
    background: linear-gradient(180deg, #f8f9fa 0%, #ffffff 100%);
}

.intro-text-wrapper {
    animation: fadeInUp 0.6s ease-out forwards;
}

.intro-image-wrapper {
    animation: fadeInRight 0.6s ease-out 0.3s both;
}

.intro-image-bg {
    background-size: cover;
    background-position: center;
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes fadeInRight {
    from {
        opacity: 0;
        transform: translateX(20px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

.service-card-port {
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 4px 16px rgba(15, 52, 96, 0.1);
}

.service-card-port:hover {
    transform: translateY(-8px);
    box-shadow: 0 12px 32px rgba(15, 52, 96, 0.2);
}

.bg-port-operation {
    background: linear-gradient(135deg, #1a3a5c 0%, #0f2840 100%),
                url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 600 450'%3E%3Crect x='50' y='150' width='150' height='100' rx='4' fill='%23E6B325' opacity='0.15'/%3E%3Crect x='250' y='130' width='180' height='120' rx='4' fill='%23E6B325' opacity='0.12'/%3E%3Crect x='480' y='150' width='120' height='100' rx='4' fill='%23E6B325' opacity='0.1'/%3E%3Ccircle cx='125' cy='200' r='30' stroke='%23E6B325' stroke-width='2' fill='none' opacity='0.2'/%3E%3Ccircle cx='340' cy='190' r='40' stroke='%23E6B325' stroke-width='2' fill='none' opacity='0.15'/%3E%3Cpath d='M80 280 L170 280' stroke='%23E6B325' stroke-width='3' stroke-dasharray='10 5' opacity='0.2'/%3E%3Cpath d='M280 280 L420 280' stroke='%23E6B325' stroke-width='3' stroke-dasharray='10 5' opacity='0.15'/%3E%3Cpath d='M510 280 L590 280' stroke='%23E6B325' stroke-width='3' stroke-dasharray='10 5' opacity='0.1'/%3E%3C/svg%3E");
    background-size: cover;
    background-position: center;
}

.bg-customs-service {
    background: linear-gradient(135deg, #1a3a5c 0%, #0f2840 100%),
                url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 600 450'%3E%3Crect x='80' y='100' width='200' height='140' rx='4' fill='%23E6B325' opacity='0.12'/%3E%3Crect x='320' y='100' width='200' height='140' rx='4' fill='%23E6B325' opacity='0.1'/%3E%3Crect x='100' y='130' width='60' height='80' rx='2' fill='%23ffffff' opacity='0.1'/%3E%3Crect x='180' y='130' width='60' height='80' rx='2' fill='%23ffffff' opacity='0.08'/%3E%3Crect x='340' y='130' width='60' height='80' rx='2' fill='%23ffffff' opacity='0.08'/%3E%3Crect x='420' y='130' width='60' height='80' rx='2' fill='%23ffffff' opacity='0.1'/%3E%3Cpath d='M130 250 L130 300 L230 300 L230 250' stroke='%23E6B325' stroke-width='2' fill='none' opacity='0.2'/%3E%3Cpath d='M370 250 L370 300 L470 300 L470 250' stroke='%23E6B325' stroke-width='2' fill='none' opacity='0.15'/%3E%3C/svg%3E");
    background-size: cover;
    background-position: center;
}

@media (max-width: 768px) {
    .hero-port {
        min-height: auto;
        padding-top: 80px;
        padding-bottom: 40px;
    }
    
    .service-card-port {
        height: 350px;
    }
    
    .service-card-port:hover {
        transform: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    .service-card-port {
        transition: none;
    }
    
    .service-card-port:hover {
        transform: none;
    }
    
    .intro-text-wrapper {
        animation: none;
    }
    
    .intro-image-wrapper {
        animation: none;
    }
}
