/* Hero Section Styles */
.hero {
    position: relative;
    width: 100%;
    height: 100svh;
    min-height: 720px;
    overflow: hidden;
    background: #080909; /* --bg-primary */
    display: flex;
    align-items: center;
    padding: 0 40px;
    box-sizing: border-box;
}

.hero__content {
    flex: 0 0 30%; /* text takes 25-30% */
    display: flex;
    flex-direction: column;
    justify-content: center;
    z-index: 2;
    position: relative;
    color: #F2EFE8; /* --text-primary */
}

.hero__headline {
    font-family: 'Canela', 'Editorial New', 'Cormorant', 'Instrument Serif', 'PP Editorial', serif;
    font-size: 4.5rem;
    line-height: 1.1;
    margin: 0 0 0.5rem 0;
    text-transform: uppercase;
    letter-spacing: -0.02em;
}

.hero__tagline {
    font-size: 1.5rem;
    line-height: 1.4;
    margin: 0 0 2rem 0;
    color: #AAA69D; /* --text-secondary */
    max-width: 30ch;
}

.hero__cta {
    display: inline-block;
    padding: 1rem 2rem;
    background: #B89A6A; /* --accent */
    color: #080909;
    text-decoration: none;
    font-weight: 600;
    border-radius: 4px;
    transition: background 0.3s ease;
}

.hero__cta:hover {
    background: #a5885a;
}

.hero__scene {
    flex: 1;
    position: relative;
    height: 100%;
    /* Three.js canvas will be inserted here */
}

/* Responsive */
@media (max-width: 768px) {
    .hero {
        padding: 0 20px;
    }
    .hero__content {
        flex: 0 0 100%;
        text-align: center;
        order: 2;
    }
    .hero__scene {
        order: 1;
        height: 60vh;
    }
    .hero__headline {
        font-size: 3rem;
    }
    .hero__tagline {
        font-size: 1.25rem;
    }
}
