/* Header Styles */
.site-header {
    background: linear-gradient(135deg, var(--color-primary), var(--color-secondary));
    padding: var(--space-5) 0;
    color: white;
    border-bottom: 4px solid var(--color-accent);
    position: relative;
    overflow: hidden;
}

.site-header::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="100" height="100" viewBox="0 0 100 100"><circle cx="10" cy="10" r="3" fill="rgba(255,255,255,0.1)"/><circle cx="30" cy="20" r="4" fill="rgba(255,255,255,0.1)"/><circle cx="50" cy="10" r="2" fill="rgba(255,255,255,0.1)"/><circle cx="70" cy="30" r="5" fill="rgba(255,255,255,0.1)"/><circle cx="90" cy="15" r="3" fill="rgba(255,255,255,0.1)"/></svg>');
    opacity: 0.5;
    z-index: 1;
}

.site-branding {
    position: relative;
    z-index: 2;
    text-align: center;
}

.site-name {
    font-size: 3.5rem;
    font-weight: 800;
    margin-bottom: var(--space-2);
    color: white;
    text-shadow: 2px 2px 0 var(--color-secondary-dark), 
                 4px 4px 0 var(--color-accent-dark);
    letter-spacing: 1px;
    transform: perspective(500px) rotateX(10deg);
    transform-origin: center;
    transition: transform 0.3s ease;
}

.site-name:hover {
    transform: perspective(500px) rotateX(0deg);
}

.site-slogan {
    font-size: 1.25rem;
    max-width: 600px;
    margin: 0 auto;
    font-weight: 400;
    color: var(--color-neutral-100);
    text-shadow: 1px 1px 0 rgba(0, 0, 0, 0.2);
    position: relative;
    padding-bottom: var(--space-3);
}

.site-slogan::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100px;
    height: 3px;
    background-color: var(--color-accent);
    border-radius: 3px;
}