/* Layout Utilities */
.container {
    width: 100%;
    max-width: 1440px;
    margin: 0 auto;
    padding: 0 var(--space-md);
}

.section {
    position: relative;
    padding: var(--space-xl) 0;
    isolation: isolate;
}

.section::after {
    opacity: var(--opacity-quaternary);
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(
        to bottom,
        rgba(10, 10, 18, 0.3) 40%,
        transparent 20%,
        transparent 80%,
        rgba(10, 10, 18, 0.3) 40%
    );
    pointer-events: none;
    z-index: -1;
}

.section-container {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 var(--space-md);
}

.grid {
    display: grid;
    gap: var(--space-md);
}

.flex {
    display: flex;
}

.flex-col {
    flex-direction: column;
}

.items-center {
    align-items: center;
}

.justify-center {
    justify-content: center;
}

.justify-between {
    justify-content: space-between;
}

/* Hero Layout */
.hero-section {
    height: 100vh;
    min-height: 800px;
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}

.hero-content {
    position: relative;
    z-index: 10;
    text-align: center;
    padding: var(--space-xl);
}

.content-wrapper {
    position: relative;
    z-index: 10;
}

.space-bg {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url('../assets/images/space-bg.jpg') center/cover no-repeat;
    z-index: -2;
}

/* About Layout */
.about-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: var(--space-lg)transparent:70%;;
    margin-top: var(--space-xl)transparent:70%;;
}

/* Work Layout */
.work-section {
    padding: var(--space-xl) 0;
    position: relative;
}

.sticky-container {
    position: relative;
    height: 100vh;
}

.sticky-title {
    position: absolute;
    top: 50%;
    left: var(--space-md);
    transform: translateY(-50%);
    z-index: 2;
}

.horizontal-scroll {
    display: flex;
    height: 100vh;
    align-items: center;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
}

.project {
    scroll-snap-align: start;
    flex: 0 0 80vw;
    margin-right: var(--space-lg);
    height: 70vh;
    position: relative;
}

/* Process Layout */
.timeline {
    position: relative;
    padding: var(--space-xl) 0;
}

.timeline::before {
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 2px;
    height: 100%;
    background: linear-gradient(to bottom, 
        transparent 0%, 
        var(--color-primary) 10%, 
        var(--color-primary) 90%, 
        transparent 100%);
}

.timeline-item {
    display: flex;
    margin-bottom: var(--space-xl);
    position: relative;
}

.timeline-item:nth-child(odd) {
    flex-direction: row-reverse;
    text-align: right;
}

.timeline-number {
    font-size: 2rem;
    color: var(--color-primary);
    margin: 0 var(--space-md);
    font-family: var(--font-secondary);
}

.timeline-content {
    flex: 1;
}

/* Contact Layout */
.contact-section {
    text-align: center;
    padding: var(--space-xl) 0;
}

.social-links {
    display: flex;
    justify-content: center;
    gap: var(--space-md);
    margin-top: var(--space-lg);
}

/* Footer Layout */
.main-footer {
    padding: var(--space-lg) 0;
    text-align: center;
    z-index: 100;
}

.footer-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--space-md);
}

.footer-links {
    display: flex;
    gap: var(--space-md);
}

/* New Projects Layout */
.projects-grid {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    gap: 2vw;
    padding: 0 5vw;
}

.project-card {
    grid-column: span 4;
}

.project-card:nth-child(3n+1) {
    transform-origin: left center;
}

.project-card:nth-child(3n+3) {
    transform-origin: right center;
}

@media (max-width: 1024px) {
    .project-card {
        grid-column: span 6;
    }
}

@media (max-width: 768px) {
    .project-card {
        grid-column: span 12;
    }
}
