@font-face {
    font-family: 'Rotunda';
    src: url('./fonts/Rotunda-Regular.woff2') format('woff2'),
         url('./fonts/Rotunda-Regular.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

/* Reset and base styles */
*,
*::before,
*::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

:root {
    font-family: Inter, system-ui, Avenir, Helvetica, Arial, sans-serif;
    line-height: 1.5;
    font-weight: 400;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    --header-height: clamp(60px, 8vh, 80px);
    --side-padding: clamp(24px, 3vw, 67.68px);
    --nav-font-size: clamp(13px, 1vw, 14px);
    --logo-font-size: clamp(20px, 2vw, 23px);
    --hero-font-size: clamp(42px, 8vw, 82px);
    --mobile-padding: 16px;
    --tablet-padding: 40px;
    --desktop-padding: 30px;
    --container-width: min(95vw, 1440px);
    --content-width: clamp(280px, 90vw, 1200px);
    --spacing-unit: clamp(0.5rem, 2vw, 2rem);
    --logo-size: clamp(48px, 8vw, 96px);
    --vertical-line-height: 100%;
}

body {
    position: relative;
    width: 100%;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    min-height: 100vh;
    background-color: #ffffff;
    color: #000000;
}

/* Header and Logo styles */
header {
    position: absolute;
    padding: 20px 32px;
    height: 80px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 10;
    background: none;
    pointer-events: none;
}

.logo {
    font-family: 'Inter', sans-serif;
    font-size: var(--logo-font-size, 20px);
    font-weight: 600;
    color: #000;
    text-decoration: none;
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    letter-spacing: -0.69px;
    pointer-events: auto;
    position: absolute;
    left: 32px;  /* Match header padding */
    top: 22px;  /* Center vertically in header */
}

.logo:hover {
    transform: scale(1.1);
}

/* Ensure logo is accessible when focused */
.logo:focus {
    outline: 2px solid #4a90e2;
    outline-offset: 2px;
    border-radius: 2px;
}

/* Responsive adjustments */
@media (max-width: 1200px) {
    .main-content {
        width: clamp(280px, 55vw, 800px);
    }
}

@media (max-width: 900px) {
    :root {
        --hero-font-size: clamp(36px, 5vw, 42px);
    }
    
    .vertical-line {
        opacity: 0.08;
    }
}

@media (max-width: 768px) {
    :root {
        --mobile-padding: 16px;
    }

    /* Project content container - parent element */
    .project-content {
        padding: 0;  /* Remove padding from parent */
        margin-top: 2.5rem;
    }

    /* Left column - where title and sections are */
    .left-column {
        padding-left: 0;
        gap: 2.5rem;
        margin-bottom: 2rem;
    }

    /* Center column - where description is */
    .center-column {
        padding-left: 0;
        width: 100%;
        margin-top: 3rem;
        gap: 3rem;
    }

    /* Project description */
    .project-description {
        padding-left: 0;  /* Remove any additional padding */
    }

    /* Documentation button */
    .documentation-btn {
        margin: 2rem 0 0 0;
        padding: 0 var(--mobile-padding);
    }

    /* Project header and sections */
    .project-header,
    .section-group,
    .section-title,
    .section-list {
        padding-left: 0;  /* Remove any additional padding */
    }

    .side-nav {
        position: absolute;
        left: var(--mobile-padding);
        top: 100px;
        flex-direction: row;
        overflow-x: auto;
        width: calc(100% - (var(--mobile-padding) * 2));
        padding: 36px 0;
        padding-left: 16px;
        gap: 16px;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        mask-image: linear-gradient(to right, black 95%, transparent 100%);
        -webkit-mask-image: linear-gradient(to right, black 95%, transparent 100%);
    }
    
    .side-nav::-webkit-scrollbar {
        display: none;
    }

    .nav-container {
        background: rgba(255, 255, 255, 0.73);
        backdrop-filter: blur(8px) saturate(150%);
        -webkit-backdrop-filter: blur(8px) saturate(150%);
        border: 1px solid #D2D2D2;
        box-shadow: 
            0px 2px 12px -1px rgba(0, 0, 0, 0.08),
            0px 1px 1px 0px rgba(255, 255, 255, 0.2) inset;
        padding: 4px 6px;
        gap: 3px;
    }

    /* Project title and content */
    .project-header,
    .section-group,
    .project-description {
        padding-left: 0;  /* Remove any additional padding */
    }

    /* Documentation button */
    .documentation-btn {
        margin-left: 0;  /* Align with content */
    }

    /* Vertical line position */
    .vertical-line {
        position: absolute;
        width: calc(100% - (var(--mobile-padding) * 2) - 32px);
        height: 1px;
        top: 185px;
        left: calc(var(--mobile-padding) + 32px);
    }

    .dot-container {
        position: absolute;
        top: 178px;
        left: var(--mobile-padding);
    }

    /* Show and style the mobile documentation button */
    .documentation-btn-mobile {
        display: block;
        margin: 1.5rem 0 0 0; /* Add margin top only */
        transform: none;
        width: 100%;
    }

    /* Adjust spacing in left column */
    .left-column {
        gap: 1.5rem; /* Keep general spacing */
    }

    /* Remove the negative margin we added before */
    .section-group {
        margin-top: 0;
    }

    .hero-video {
        object-position: center center; /* Ensure center positioning on mobile */
        height: 100vh; /* Force full viewport height */
        max-width: none; /* Remove any max-width constraints */
        width: 100%; /* Ensure full width */
    }

    /* Update logo styles to hide on mobile */
    .logo {
        display: none !important;
    }

    /* Adjust header padding since logo is hidden */
    header {
        padding: 20px 8px;
        justify-content: center; /* Center the remaining content */
    }

    .main-nav {
        position: absolute;
        left: 0;
        right: 0;
        top: 16px;
        margin: 0 auto;
        width: fit-content;
        display: flex !important;
        align-items: center;
        justify-content: center;
        pointer-events: auto;
    }

    .nav-link {
        padding: 8px 18px; /* Slightly reduce horizontal padding */
    }

    .main-content {
        position: relative;
        left: var(--mobile-padding);
        top: 220px;  /* Increased from 125px to give more space at top */
        width: calc(100% - (var(--mobile-padding) * 2));
        padding-right: var(--mobile-padding);
        margin-bottom: 60px;
    }

    .hero-text {
        font-size: 42px;
        line-height: 1.15;
        position: relative;
        z-index: 1;
    }

    /* About section adjustments */
    .about-section {
        margin-top: 100vh;  /* Changed to 100vh to push it below the viewport */
        padding: 60px var(--mobile-padding);
    }
}

@media (max-width: 480px) {
    :root {
        --mobile-padding: 16px;
    }

    .project-content {
        padding: 0 var(--mobile-padding);
        padding-bottom: 4rem;
    }

    .main-nav {
        top: 12px; /* Even less top spacing for very small screens */
    }

    .nav-container {
        padding: 4px 5px;
        gap: 2px;
    }

    .nav-link {
        padding: 8px 16px;
    }

    .side-nav {
        padding: 32px 0;
        padding-left: 12px;
        gap: 14px;
    }

    .vertical-line {
        top: 185px;
    }

    .dot-container {
        top: 178px;
    }

    .main-content {
        top: 220px;  /* Keep consistent with larger mobile view */
    }

    .about-section {
        margin-top: 100vh;  /* Keep consistent with larger mobile view */
        padding: 40px var(--mobile-padding);
    }
}

/* Ensure minimum height */
@media (max-height: 700px) {
    .vertical-line {
        height: 500px;
    }
    
    .side-nav {
        top: 100px; /* Updated to match new mobile spacing */
    }
}

/* Print styles */
@media print {
    .main-content {
        position: relative;
        left: 0;
        top: 0;
        width: 100%;
    }
}

/* Preserve animations on devices that prefer reduced motion */
@media (prefers-reduced-motion: reduce) {
    .dot-pulse {
        animation: none;
    }
}

/* Side Navigation */
.side-nav {
    position: absolute;
    left: 32px;
    top: clamp(180px, 25vh, 223px);
    display: flex;
    flex-direction: column;
    gap: clamp(8px, 1.2vh, 12px);
}

.nav-item {
    position: relative;
    color: #AAAAAA;
    text-decoration: none;
    font-size: var(--nav-font-size);
    padding: 10px 24px;
    margin: 2px 0;
    border-radius: 100px;
    transition: color 0.3s ease, transform 0.3s ease;
    width: fit-content;
    display: inline-block;
    white-space: nowrap;
}

.nav-item:hover {
    color: #000000;
    transform: translateX(4px);
}

.nav-item.active {
    color: #000000;
    background-color: rgba(0, 0, 0, 0.03);
    font-weight: 600;
    transform: none;
}

/* Default vertical line state */
.vertical-line {
    position: absolute;
    width: 1px;
    height: var(--vertical-line-height);
    top: clamp(200px, 25vh, 336px);
    left: clamp(1rem, 15vw, 240px);
    background-color: currentColor;
    opacity: 0.1;
}

/* Dot and its animation */
.dot-container {
    position: absolute;
    width: 14px;
    height: 14px;
    top: 240px;
    left: 233px;
    z-index: 1;
}

.dot {
    position: absolute;
    width: 8px;
    height: 8px;
    background-color: #000000;
    border-radius: 50%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 2;
}

.dot-pulse {
    position: absolute;
    width: 14px;
    height: 14px;
    background-color: #000000;
    border-radius: 50%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    animation: pulse 3s ease-in-out infinite;
    filter: blur(8px);
    opacity: 0.4;
}

@keyframes pulse {
    0% {
        transform: translate(-50%, -50%) scale(0.8);
        opacity: 0.6;
        background-color: #000000;
    }
    50% {
        transform: translate(-50%, -50%) scale(2);
        opacity: 0.2;
        background-color: #2e2e2e;
    }
    100% {
        transform: translate(-50%, -50%) scale(0.8);
        opacity: 0.6;
        background-color: #000000;
    }
}

/* Main Navigation - Desktop */
.main-nav {
    position: absolute;
    top: 22px;
    left: 0;
    right: 0;
    margin: 0 auto;
    width: fit-content;
    z-index: 20;
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: auto;
}

.nav-container {
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.73);
    backdrop-filter: blur(8px) saturate(150%);
    -webkit-backdrop-filter: blur(8px) saturate(150%);
    border-radius: 100px;
    padding: clamp(4px, 0.5vw, 6px);
    border: 1px solid #D2D2D2;
    box-shadow: 
        0px 2px 12px -1px rgba(0, 0, 0, 0.08),
        0px 1px 1px 0px rgba(255, 255, 255, 0.2) inset;
    gap: clamp(4px, 1vw, 8px);
    user-select: none;
    -webkit-user-select: none;
}

.nav-link {
    font-family: 'Inter', sans-serif;
    font-size: var(--nav-font-size);
    font-weight: 500;
    color: #888888;
    text-decoration: none;
    padding: 8px clamp(20px, 2vw, 28px);
    border-radius: 100px;
    transition: all 0.2s ease;
    white-space: nowrap;
}

.nav-link:hover {
    color: #000000;
}

.nav-link.active {
    color: #000000;
    background: #F2F2F2;
    box-shadow: 
        0px 2px 4px rgba(0, 0, 0, 0.06),
        0px 1px 2px rgba(0, 0, 0, 0.04),
        0px 1px 1px rgba(255, 255, 255, 0.3) inset;
}

/* Projects Dropdown - Desktop */
.nav-container .projects-section {
    position: relative;
}

.nav-container .projects-toggle {
    padding: 8px clamp(20px, 2vw, 28px);
    color: #888888;
    cursor: pointer;
    transition: all 0.2s ease;
}

.nav-container .projects-toggle:hover {
    color: #000000;
}

.nav-container .projects-toggle.active {
    color: #000000;
    background: #F2F2F2;
    box-shadow: 
        0px 2px 4px rgba(0, 0, 0, 0.06),
        0px 1px 2px rgba(0, 0, 0, 0.04),
        0px 1px 1px rgba(255, 255, 255, 0.3) inset;
    border-radius: 100px;
}

.nav-container .projects-dropdown {
    position: absolute;
    top: calc(100% + 8px);
    left: 50%;
    transform: translateX(-50%);
    background: rgba(255, 255, 255, 0.98);
    backdrop-filter: blur(20px);
    border: 1px solid rgba(0, 0, 0, 0.1);
    border-radius: 16px;
    padding: 12px;
    min-width: 220px;
    box-shadow: 0px 8px 24px rgba(0, 0, 0, 0.12);
    opacity: 0;
    visibility: hidden;
    transition: all 0.2s ease;
    z-index: 30;
}

.nav-container .projects-section:hover .projects-dropdown {
    opacity: 1;
    visibility: visible;
}

.nav-container .project-item {
    position: relative;
    display: block;
    padding: 14px 18px;
    padding-left: 24px;
    color: #666666;
    text-decoration: none;
    font-size: var(--nav-font-size);
    transition: color 0.2s ease;
    white-space: nowrap;
    font-weight: 500;
}

.nav-container .project-item:hover {
    color: #000000;
}

.nav-container .project-item.active {
    color: #000000;
    background: none;
}

/* Current page dot indicator for desktop */
.nav-container .project-item.active .current-page-dot {
    width: 6px;
    height: 6px;
    background-color: #FF4141;
    border-radius: 50%;
    display: inline-block;
    margin-right: 8px;
    vertical-align: middle;
    position: absolute;
    left: -12px;
    top: 50%;
    transform: translateY(-50%);
}

/* Main Content - adjust position to account for new spacing */
.main-content {
    position: relative;
    left: clamp(340px, 38vw, 520px);
    top: clamp(160px, 22vh, 205px);
    width: clamp(400px, 60vw, 900px);
}

.hero-text {
    font-family: 'Rotunda', sans-serif;
    font-weight: normal;
    font-size: var(--hero-font-size);
    line-height: 1.01;
    letter-spacing: -0.03em;
    color: #000000;
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.6s ease, transform 0.6s ease;
}

.hero-text.visible {
    opacity: 1;
    transform: translateY(0);
}

/* Adjust letter spacing for larger font */
.hero-text span,
.hero-text .hyphen {
    letter-spacing: -1.8px;  /* Slightly adjusted for larger font */
}

/* Responsive Transformations */
@media (max-width: 1024px) {
    /* Start transitioning layout */
    .main-content {
        width: 65vw;
        padding-right: var(--tablet-padding);
    }

    .hero-text {
        font-size: 62px;
    }
}

@media (max-width: 768px) {
    /* Major layout transformation */
    
    /* Side Navigation becomes horizontal */
    .side-nav {
        position: absolute;
        left: var(--mobile-padding);
        top: 100px;
        flex-direction: row;
        overflow-x: auto;
        width: calc(100% - (var(--mobile-padding) * 2));
        padding: 36px 0;
        padding-left: 16px;
        gap: 16px;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        mask-image: linear-gradient(to right, black 95%, transparent 100%);
        -webkit-mask-image: linear-gradient(to right, black 95%, transparent 100%);
    }

    .side-nav::-webkit-scrollbar {
        display: none;
    }

    /* Vertical line transforms to horizontal */
    .vertical-line {
        position: absolute;
        width: calc(100% - (var(--mobile-padding) * 2) - 32px);
        height: 1px;
        top: 185px;
        left: calc(var(--mobile-padding) + 32px);
    }

    .dot-container {
        position: absolute;
        top: 178px;
        left: var(--mobile-padding);
    }

    /* Main content adjustments */
    .main-content {
        position: relative;
        left: var(--mobile-padding);
        top: 220px;  /* Increased from 125px to give more space at top */
        width: calc(100% - (var(--mobile-padding) * 2));
        padding-right: var(--mobile-padding);
        margin-bottom: 60px;
    }

    .hero-text {
        font-size: 42px;
        line-height: 1.15;
        position: relative;
        z-index: 1;
    }

    /* Hamburger Menu */
    .main-nav {
        display: none; /* Hide default navigation */
    }

    .hamburger-menu {
        display: none !important; /* Force hide the hamburger menu */
    }

    .hamburger-menu span {
        display: block;
        width: 18px;
        height: 2px;
        background-color: #000;
        transition: transform 0.3s ease, opacity 0.3s ease;
        transform-origin: center;
    }

    /* Mobile menu */
    .mobile-nav {
        position: absolute;
        top: 0;
        right: 0;
        width: min(400px, 80%); /* Set maximum width and fallback percentage */
        height: 100vh;
        background: rgba(255, 255, 255, 0.98);
        backdrop-filter: blur(10px);
        padding: 100px 40px;
        transform: translateX(100%);
        transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), visibility 0.3s ease;
        z-index: 90;
        display: flex;
        flex-direction: column;
        gap: 32px;
        visibility: hidden;
        box-shadow: -10px 0 30px rgba(0, 0, 0, 0.1);
    }

    .mobile-nav.active {
        transform: translateX(0);
        visibility: visible;
    }

    .mobile-nav .nav-link {
        font-family: 'Inter', sans-serif;
        font-size: 18px;
        color: #888888;
        text-decoration: none;
        transition: color 0.2s ease;
        padding: 0;
        background: none;
        border-radius: 0;
    }

    .mobile-nav .nav-link:hover {
        color: #000000;
    }

    .mobile-nav .nav-link.active {
        color: #000000;
        background: none;
        box-shadow: none;
        transform: none;
    }

    /* Hamburger Animation */
    body.menu-active .hamburger-menu span:nth-child(1) {
        transform: rotate(-45deg) translateY(6px);
    }

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

    body.menu-active .hamburger-menu span:nth-child(3) {
        transform: rotate(45deg) translateY(-6px);
    }

    .vertical-line,
    .dot-container {
        display: none !important;
    }

    .experience-content {
        padding: 80px var(--mobile-padding);
        padding-left: var(--mobile-padding); /* Override the desktop padding-left */
    }
}

@media (max-width: 480px) {
    .hero-text {
        font-size: 42px;
        line-height: 1.15;
    }

    .side-nav {
        gap: 8px;
        padding-left: 8px;
    }

    .nav-item {
        padding: 6px 14px;
        font-size: 12px;
    }

    .mobile-nav {
        width: min(300px, 85%); /* Slightly smaller on mobile */
        padding: 100px 32px;
    }
}

/* Smooth transitions */
.loaded .side-nav,
.loaded .vertical-line,
.loaded .dot-container,
.loaded .main-content,
.loaded .hero-text {
    transition: all 0.3s ease-in-out;
}

/* Remove any initial transitions */
.side-nav,
.vertical-line,
.dot-container,
.main-content,
.hero-text {
    transition: none;
}

/* Projects Section Styling */
.mobile-nav .projects-section {
    margin: 0;
    padding: 0;
}

.mobile-nav .projects-toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 18px;
    color: #888888;
    margin-bottom: 8px;
}

.mobile-nav .projects-toggle::after {
    content: '';
    width: 6px;
    height: 6px;
    border-right: 1.5px solid #888;
    border-bottom: 1.5px solid #888;
    transform: rotate(45deg);
    transition: transform 0.3s ease;
    margin-right: 8px;
}

.mobile-nav .projects-toggle.active::after {
    transform: rotate(-135deg);
}

/* Dropdown Styling */
.mobile-nav .projects-dropdown {
    display: none;
    padding-left: 24px;
    border-left: 1px solid rgba(0, 0, 0, 0.08);
}

.mobile-nav .projects-dropdown.active {
    display: block;
}

.mobile-nav .project-item {
    font-size: 16px;
    color: #888888;
    text-decoration: none;
    transition: color 0.2s ease;
}

.mobile-nav .project-item:hover {
    color: #000000;
}

/* Overlay for background when menu is open */
.menu-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    background: rgba(0, 0, 0, 0.2);
    backdrop-filter: blur(4px);
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
    z-index: 80;
}

.menu-overlay.active {
    opacity: 1;
    visibility: visible;
}

/* Remove all transitions from base elements */
body, 
.hero-text,
.main-content,
.side-nav,
.nav-item,
.vertical-line,
.dot-container {
    transition: none !important;
    animation: none !important;
}

/* Only keep transitions for interactive elements */
.hamburger-menu span,
.mobile-nav,
.menu-overlay,
.nav-link:hover,
.nav-item:hover,
.projects-toggle::after {
    transition: all 0.3s ease;
}

/* Remove transform transitions */
.main-content {
    transform: none !important;
}

/* Remove these conflicting styles */
.main-nav,
.nav-container,
.nav-link {
    transition: none !important;
    transform: none !important;
}

/* Hero section */
.hero {
    width: 100%;
    height: 100vh;
    overflow: hidden;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #000;
}

.hero-content {
    width: 100%;
    height: 100%;
}

.hero-content picture {
    width: 100%;
    height: 100%;
    display: block;
}

.hero-video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}

/* Project Content Layout - Desktop */
.project-content {
    position: relative;
    z-index: 2;
    background: #ffffff;
    padding: 0 var(--side-padding);
    margin-top: 8rem;
    padding-bottom: 6rem;
}

.project-details {
    max-width: var(--container-width);
    margin: 0 auto;
    display: grid;
    grid-template-columns: minmax(min(240px, 20%), 1fr) minmax(auto, 2fr) minmax(min(200px, 20%), 300px);
    gap: clamp(2rem, 5vw, 8rem);
    position: relative;
    padding: 0 var(--spacing-unit);
}

.left-column {
    margin-left: -4rem;
    display: flex;
    flex-direction: column;
    gap: 2.75rem;
}

/* Project Header Styles */
.project-header {
    margin-bottom: 0;
}

.year {
    font-size: 19.2px;
    letter-spacing: -0.58px;
    color: #000;
    font-weight: 500;
    display: block;
    margin-bottom: 0.5rem;
}

.project-title h1 {
    font-size: clamp(40px, 6vw, 69.12px);
    letter-spacing: -2.07px;
    font-weight: 700;
    line-height: 1;
    margin: 0;
}

/* Section Styles */
.section-group {
    display: flex;
    flex-direction: column;
    gap: 0.875rem;
}

.section-title {
    font-family: 'Inter', sans-serif;
    font-size: 48px;
    font-weight: 500;
    color: #000;
    margin-bottom: 0;
    letter-spacing: -0.03em;
}

/* Explicitly capitalize specific titles */
.career-section .section-title,
.education-section .section-title {
    text-transform: none;
}

.career-section .section-title::first-letter,
.education-section .section-title::first-letter {
    text-transform: uppercase;
}

.section-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.section-list li {
    font-size: 18px;
    letter-spacing: -0.03em;
    color: #7A7A7A;
    font-weight: 400;
    line-height: 1.5;
    margin-bottom: 0.35rem;
}

/* Responsive Styles */
@media (max-width: 768px) {
    .project-details {
        display: flex;
        flex-direction: column;
        gap: 2rem;
        padding: 0;
    }

    .left-column {
        margin-left: 0;
        padding-left: var(--mobile-padding);
    }

    .section-group {
        gap: 0.75rem;
    }

    .year {
        font-size: clamp(24px, 5vw, 28px);
        letter-spacing: -0.8px;
        margin-bottom: 0.75rem;
    }

    .project-title h1 {
        font-size: clamp(56px, 10vw, 72px);
        letter-spacing: -2.5px;
        line-height: 0.95;
    }

    .section-title,
    .section-list {
        padding-left: 0;
    }

    .project-content {
        margin-top: 2.5rem;
        padding: 0 var(--mobile-padding);
    }

    .documentation-btn {
        transform: none;
        margin-left: var(--mobile-padding);
    }

    .section-list {
        gap: 0.2rem;
    }
}

@media (max-width: 480px) {
    .project-content {
        padding: 0 1.25rem;
        padding-bottom: 4rem;
    }

    .left-column {
        gap: 2rem;
    }

    .project-header {
        margin-bottom: 1.5rem;
    }
}

/* Documentation buttons container */
.documentation-buttons {
    position: relative;
    margin-top: 3.75rem;
    margin-left: auto;
    width: 273px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

/* Shared styles for both buttons */
.documentation-btn {
    flex-shrink: 0;
    position: relative;
    transform: translateX(4rem);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    width: 273px;
    height: 66px;
    display: block;
}

.documentation-btn:hover {
    transform: translateX(4.15rem) translateY(-2px);
    opacity: 0.95;
}

.documentation-btn svg {
    display: block;
    width: 100%;
    height: 100%;
    pointer-events: none;
}

/* Mobile text handling */
.documentation-btn .mobile-text {
    display: none;
}

/* Responsive handling */
@media (max-width: 1440px) {
    .documentation-btn {
        transform: translateX(3rem);
    }
    .documentation-btn:hover {
        transform: translateX(3.15rem) translateY(-2px);
    }
}

@media (max-width: 1200px) {
    .documentation-btn {
        transform: translateX(2rem);
    }
    .documentation-btn:hover {
        transform: translateX(2.15rem) translateY(-2px);
    }
}

@media (max-width: 768px) {
    .documentation-buttons {
        display: none;
    }
    
    .documentation-btn .desktop-text {
        display: none;
    }
    
    .documentation-btn .mobile-text {
        display: block;
    }
}

/* Center column styles */
.center-column {
    max-width: 650px;
    flex-shrink: 0;
    margin-top: 3.75rem;
    display: flex;
    flex-direction: column;
    gap: 2.875rem;
    position: relative;
    margin: 3.75rem auto 0;
}

.project-description {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.project-description p {
    font-size: 18px;
    line-height: 1.6;
    letter-spacing: -0.01em;
    color: #454545;
    margin: 0;
}

.next-project {
    font-size: 20.16px;
    font-weight: 600;
    letter-spacing: -0.03em;
    color: #000000;
    text-decoration: none;
    transition: opacity 0.2s ease;
}

.next-project:hover {
    opacity: 0.8;
}

/* Mobile Navigation and Hamburger Menu - SINGLE DECLARATION */
.hamburger-menu {
    display: none !important;
}

/* Menu Overlay */
.menu-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    background: rgba(0, 0, 0, 0.2);
    backdrop-filter: blur(4px);
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
    z-index: 80;
}

.menu-overlay.active {
    opacity: 1;
    visibility: visible;
}

/* Mobile Navigation */
.mobile-nav {
    position: absolute;
    top: 0;
    right: 0;
    width: min(400px, 80%);
    height: 100vh;
    background: rgba(255, 255, 255, 0.98);
    backdrop-filter: blur(10px);
    padding: 100px 40px;
    transform: translateX(100%);
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), visibility 0.3s ease;
    z-index: 90;
    display: flex;
    flex-direction: column;
    gap: 32px;
    visibility: hidden;
    box-shadow: -10px 0 30px rgba(0, 0, 0, 0.1);
}

.mobile-nav.active {
    transform: translateX(0);
    visibility: visible;
}

/* Mobile Navigation Links */
.mobile-nav .nav-link {
    font-family: 'Inter', sans-serif;
    font-size: 18px;
    color: #888888;
    text-decoration: none;
    transition: color 0.2s ease;
    padding: 0;
    background: none;
    border-radius: 0;
}

.mobile-nav .nav-link:hover {
    color: #000000;
}

.mobile-nav .nav-link.active {
    color: #000000;
    background: none;
    box-shadow: none;
    transform: none;
}

/* Mobile Projects Section */
.mobile-nav .projects-section {
    margin: 0;
    padding: 0;
}

.mobile-nav .projects-toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 18px;
    color: #888888;
    margin-bottom: 8px;
}

.mobile-nav .projects-toggle::after {
    content: '';
    width: 6px;
    height: 6px;
    border-right: 1.5px solid #888;
    border-bottom: 1.5px solid #888;
    transform: rotate(45deg);
    transition: transform 0.3s ease;
    margin-right: 8px;
}

.mobile-nav .projects-toggle.active::after {
    transform: rotate(-135deg);
}

/* Dropdown Styling */
.mobile-nav .projects-dropdown {
    display: none;
    padding-left: 24px;
    border-left: 1px solid rgba(0, 0, 0, 0.08);
}

.mobile-nav .projects-dropdown.active {
    display: block;
}

.mobile-nav .project-item {
    font-size: 16px;
    color: #888888;
    text-decoration: none;
    transition: color 0.2s ease;
}

.mobile-nav .project-item:hover {
    color: #000000;
}

/* Hamburger Animation */
body.menu-active .hamburger-menu span:nth-child(1) {
    transform: rotate(-45deg) translateY(6px);
}

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

body.menu-active .hamburger-menu span:nth-child(3) {
    transform: rotate(45deg) translateY(-6px);
}

/* Media Queries */
@media (max-width: 768px) {
    .main-nav {
        position: absolute;
        left: 0;
        right: 0;
        top: 32px;
        margin: 0 auto;
        width: fit-content;
        z-index: 20;
        display: flex !important;
        align-items: center;
        pointer-events: auto;
    }
}

@media (max-width: 480px) {
    .mobile-nav {
        width: min(300px, 85%);
        padding: 100px 32px;
    }
}

/* Keep the rest of your responsive styles */

/* Update mobile navigation styles */
.mobile-nav .nav-link.active,
.mobile-nav .project-item.active,
.mobile-nav .projects-toggle.active {
    color: #000000;
    font-weight: 500;
    position: relative;
}

/* Current page dot indicator */
.current-page-dot {
    width: 6px;
    height: 6px;
    background-color: #FF4141;
    border-radius: 50%;
    display: inline-block;
    margin-right: 8px;
    vertical-align: middle;
    position: absolute;
    left: -12px;
    top: 50%;
    transform: translateY(-50%);
}

/* Update project item styles to accommodate dot */
.mobile-nav .project-item,
.nav-container .project-item {
    position: relative;
    padding-left: 4px;
}

/* Update main navigation styles */
.nav-container .project-item.active {
    color: #000000;
    background: none;
}

.nav-container .projects-toggle.active {
    color: #000000;
}

/* Adjust dropdown padding for dot visibility */
.mobile-nav .projects-dropdown {
    padding-left: 32px;
}

.nav-container .projects-dropdown {
    padding: 12px;
    padding-left: 20px;
}

/* Add a mobile-specific documentation button */
.documentation-btn-mobile {
    display: none;
}

@media (max-width: 768px) {
    .documentation-btn {
        display: none;
    }

    .documentation-btn-mobile {
        display: block;
        margin: 1.5rem 0 0 0;
        transform: none;
        width: 100%;
    }

    .documentation-btn-mobile svg {
        width: 100%;
        max-width: 220px;
        height: auto;
    }

    .left-column {
        gap: 1.5rem;
    }

    .section-group {
        margin-top: 0;
    }
}

/* Prevent text selection in navigation */
.nav-container {
    user-select: none;
    -webkit-user-select: none;
}

/* Adjust mobile navigation styles */
@media (max-width: 768px) {
    .nav-container {
        padding: 4px;
        gap: 2px;
    }

    .nav-link {
        padding: 8px 16px;
    }

    .projects-dropdown {
        min-width: 180px;
    }

    .nav-link,
    .project-item,
    .projects-toggle {
        -webkit-user-drag: none;
        -webkit-tap-highlight-color: transparent;
        cursor: pointer;
    }
}

/* Additional adjustments for smaller screens */
@media (max-width: 480px) {
    .nav-container {
        padding: 3px;
        gap: 1px;
    }

    .nav-link {
        padding: 8px 12px;
    }
}

/* Figma button styles - fix spacing */
.documentation-btn.figma-btn {
    margin-top: 12px;
    position: absolute;
    top: 66px;
    right: 0;
    background: white;
    border: 1px solid rgba(0, 0, 0, 0.1);
    padding: 16px 28px;
    border-radius: 4px;
    font-family: 'Inter', sans-serif;
    font-size: 17.8px;
    font-weight: 600;
    color: black;
    text-decoration: none;
    white-space: nowrap;
    box-shadow: 0px 2px 12px -1px rgba(0, 0, 0, 0.08);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    width: 273px;
    height: 66px;
    display: flex;
    align-items: center;
    justify-content: center;
    transform: translateX(4rem);
}

.documentation-btn.figma-btn:hover {
    transform: translateX(4.15rem) translateY(-2px);
    opacity: 0.95;
    box-shadow: 0px 4px 16px -2px rgba(0, 0, 0, 0.12);
}

@media (max-width: 768px) {
    .documentation-btn.figma-btn {
        display: none;
    }
}

@media (max-width: 768px) {
    .nav-item {
        padding: 8px 20px;
        margin: 2px 0;
        font-size: calc(var(--nav-font-size) * 1.1);
    }
}

/* Only apply these styles for desktop */
@media (min-width: 769px) {
    :root {
        --side-padding: 32px;
    }
    
    .main-nav {
        left: 0;
        right: 0;
        margin: 0 auto;
        transform: none;
    }
}

/* About Section */
.about-section {
    margin-top: 400px;  /* Increased to prevent overlap with section 1 */
    padding: 120px var(--side-padding);
    position: relative;
    background: #fff;
}

.section-divider {
    border: none;
    border-top: 1px solid #000000;
    margin-bottom: 40px;
    width: 100%;
    opacity: 0.1;
}

.about-container {
    max-width: 1440px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 240px 1fr 300px;
    gap: 80px;
}

.about-title {
    font-size: 16px;
    color: #000;
    font-weight: 500;
    margin-bottom: 40px;
}

.about-content {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.about-text {
    font-size: 18px;
    line-height: 1.6;
    color: #454545;
    max-width: 640px;
}

.about-contact {
    font-size: 16px;
    color: #000;
}

.about-contact a {
    color: #000;
    text-decoration: underline;
    transition: opacity 0.2s ease;
}

.about-contact a:hover {
    opacity: 0.7;
}

/* About Section - Mobile Styles */
@media (max-width: 768px) {
    .about-section {
        margin-top: 500px;  /* Significantly increased for more space */
        padding: 60px var(--mobile-padding);
    }

    .about-container {
        display: flex;
        flex-direction: column;
        gap: 40px;
    }

    .about-title {
        font-size: 14px;
        margin-bottom: 24px;
    }

    .about-content {
        gap: 20px;
    }

    .about-text {
        font-size: 16px;
        line-height: 1.5;
    }

    .about-contact {
        margin-top: 20px;
    }
}

@media (max-width: 480px) {
    .about-section {
        margin-top: 500px;  /* Keep consistent large gap for smaller screens */
        padding: 40px var(--mobile-padding);
    }

    .about-container {
        gap: 32px;
    }

    .hero-text {
        font-size: 36px;
    }
}

/* Career and Education Sections */
.career-section,
.education-section {
    position: relative;
    background: #fff;
    padding: 0 var(--side-padding);
}

.career-section {
    margin-top: 20px;  /* Reduced from 120px to match Figma design */
}

.education-section {
    margin-top: 80px;
}

/* Section dividers */
.career-section::before,
.education-section::before {
    content: '';
    position: absolute;
    top: -40px;
    left: var(--side-padding);
    right: var(--side-padding);
    height: 1px;
    background: rgba(0, 0, 0, 0.1);
}

.career-container,
.education-container {
    max-width: 1440px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 240px 1fr 300px;
    gap: 80px;
    padding: 40px 0;
}

/* Table Styles */
.career-table,
.education-table {
    width: 100%;
    border-collapse: collapse;
    grid-column: 2 / -1;
    border-top: 1px solid rgba(0, 0, 0, 0.1);
}

.career-table tr,
.education-table tr {
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}

.career-table td,
.education-table td {
    padding: 32px 0;
    font-size: 16px;
    color: #000;
    line-height: 1.5;
    vertical-align: top;
}

.career-table td:first-child {
    width: 140px;
    color: #000;
    font-weight: 400;
}

.education-table td:first-child {
    width: 240px;
    color: #000;
    font-weight: 400;
}

.career-table td:nth-child(2),
.career-table td:nth-child(3),
.education-table td:nth-child(2) {
    font-weight: 500;
}

.career-table td:last-child,
.education-table td:last-child {
    text-align: right;
    color: #666;
}

/* Responsive styles */
@media (max-width: 768px) {
    .career-section,
    .education-section {
        padding: 0 var(--mobile-padding);
    }

    .career-section::before,
    .education-section::before {
        left: var(--mobile-padding);
        right: var(--mobile-padding);
    }

    .career-section {
        margin-top: 60px;
    }

    .education-section {
        margin-top: 40px;
    }

    .career-container,
    .education-container {
        display: flex;
        flex-direction: column;
        gap: 32px;
        padding: 32px 0;
    }

    .section-title {
        font-size: 36px;
    }

    .career-table,
    .education-table {
        display: block;
        width: 100%;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        -ms-overflow-style: none;
        white-space: nowrap;
    }

    /* Adjust table cell spacing for mobile */
    .career-table td,
    .education-table td {
        padding: 28px 24px;  /* Increased padding all around */
        font-size: 14px;
    }

    .career-table td:first-child,
    .education-table td:first-child {
        padding-left: 0;  /* Remove left padding for first column */
    }

    .career-table td:last-child,
    .education-table td:last-child {
        padding-right: 0;  /* Remove right padding for last column */
    }

    /* Ensure minimum widths for table cells */
    .career-table td:first-child {
        min-width: 120px;
    }

    .career-table td:nth-child(2) {
        min-width: 160px;  /* Increased from 140px */
    }

    .career-table td:nth-child(3) {
        min-width: 160px;  /* Increased from 140px */
    }

    .career-table td:last-child {
        min-width: 120px;  /* Increased from 100px */
    }

    .education-table td:first-child {
        min-width: 200px;  /* Increased from 180px */
    }

    .education-table td:nth-child(2) {
        min-width: 180px;  /* Increased from 160px */
    }

    .education-table td:last-child {
        min-width: 120px;  /* Increased from 100px */
    }

    /* Hide scrollbars while maintaining functionality */
    .career-table::-webkit-scrollbar,
    .education-table::-webkit-scrollbar {
        display: none;
    }
}

@media (max-width: 480px) {
    .career-section {
        margin-top: 40px;
    }

    .education-section {
        margin-top: 32px;
    }

    .section-title {
        font-size: 32px;
    }

    .career-container,
    .education-container {
        padding: 24px 0;
        gap: 24px;
    }

    .career-table td,
    .education-table td {
        padding: 24px 20px;  /* Slightly reduced but still spacious */
        font-size: 14px;
    }

    .career-table td:first-child,
    .education-table td:first-child {
        padding-left: 0;
    }

    .career-table td:last-child,
    .education-table td:last-child {
        padding-right: 0;
    }
}

/* Base styles to prevent horizontal scrolling */
html, body {
    overflow-x: hidden;
    width: 100%;
    position: relative;
}

/* Collaboration Section */
/* Title variants */
.collaborate-title .mobile-title {
    display: none;
}

.collaborate-title .desktop-title {
    display: block;
}

.collaborate-section {
    position: relative;
    background: #fff;
    padding: 40px var(--side-padding);
    height: 140px;
    display: flex;
    align-items: center;
    margin-top: 80px;
    cursor: pointer;
    overflow: hidden;
    text-decoration: none;
}

/* Add divider lines */
.collaborate-section::before,
.collaborate-section::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    height: 1.35px;
    background: rgba(255, 255, 255, 0.1);
}

.collaborate-section::before {
    top: 0;
}

.collaborate-section::after {
    bottom: 0;
}

.collaborate-container {
    max-width: 1440px;
    margin: 0 auto;
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
}

.collaborate-title {
    font-family: 'Inter', sans-serif;
    font-size: 64px;
    font-weight: 300;
    letter-spacing: -0.03em;
    color: #000;
    margin: 0;
    position: relative;
    transition: transform 0.4s ease, opacity 0.4s ease;
}

.collaborate-email {
    position: absolute;
    left: 0;
    top: 100%;
    font-family: 'Inter', sans-serif;
    font-size: 64px;
    font-weight: 300;
    letter-spacing: -0.03em;
    color: #000;
    transform: translateY(20px);
    opacity: 0;
    transition: transform 0.4s ease, opacity 0.4s ease;
}

.collaborate-section:hover .collaborate-title {
    transform: translateY(-20px);
    opacity: 0;
}

.collaborate-section:hover .collaborate-email {
    transform: translateY(-100%);
    opacity: 1;
}

.collaborate-arrow-container {
    position: relative;
    width: 119.08px;
    height: 76.48px;
    overflow: hidden;
    border-radius: 38.24px;
}

.collaborate-arrow,
.collaborate-arrow-hover {
    position: absolute;
    width: 119.08px;
    height: 76.48px;
    right: 0;
    pointer-events: none;
}

/* Single stationary pill that changes color */
.collaborate-arrow rect {
    fill: #EDEDED;
    transition: fill 0.4s ease;
}

.collaborate-section:hover .collaborate-arrow rect {
    fill: #FFDB01;
}

/* Hide the second pill */
.collaborate-arrow-hover rect {
    fill: transparent;
}

/* Animate only the arrow paths */
.collaborate-arrow path {
    transform: translateX(0);
    transition: transform 0.4s ease;
}

.collaborate-arrow-hover path {
    transform: translateX(100%);
    transition: transform 0.4s ease;
}

.collaborate-section:hover .collaborate-arrow path {
    transform: translateX(-100%);
}

.collaborate-section:hover .collaborate-arrow-hover path {
    transform: translateX(0);
}

@media (max-width: 768px) {
    .collaborate-section {
        padding: 32px var(--mobile-padding);
        height: auto;
        margin-top: 60px;
    }

    .collaborate-title .mobile-title {
        display: block;
    }

    .collaborate-title .desktop-title {
        display: none;
    }

    /* Remove text transitions on mobile */
    .collaborate-title,
    .collaborate-email {
        font-size: 42px;
        transition: none;
    }

    .collaborate-section:hover .collaborate-title {
        transform: none;
        opacity: 1;
    }

    .collaborate-section:hover .collaborate-email {
        transform: none;
        opacity: 0;
    }

    .collaborate-arrow-container {
        width: 100px;
        height: 65px;
        border-radius: 32.5px;
    }

    .collaborate-arrow,
    .collaborate-arrow-hover {
        width: 100px;
        height: 65px;
    }
}

@media (max-width: 480px) {
    .collaborate-section {
        padding: 24px var(--mobile-padding);
    }

    .collaborate-title,
    .collaborate-email {
        font-size: 36px;
    }

    .collaborate-arrow-container {
        width: 85px;
        height: 55px;
        border-radius: 27.5px;
    }

    .collaborate-arrow,
    .collaborate-arrow-hover {
        width: 85px;
        height: 55px;
    }
}

/* Footer Styles */
.site-footer {
    background: #fff;
    position: relative;
    border-top: 1px solid rgba(0, 0, 0, 0.0);
}

.footer-container {
    max-width: 1440px;
    margin: 0 auto;
    width: 100%;
    padding: 0 var(--side-padding);
}

.footer-links {
    display: grid;
    grid-template-columns: 232px 1fr 300px;
    align-items: center;
    height: 40px;
    position: relative;
    padding: 0;
}

.footer-name {
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    font-weight: 600;
    color: #000;
    text-decoration: none;
    height: 100%;
    display: flex;
    align-items: center;
    padding-left: 0;
}

.center-links {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
}

.center-links a {
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    font-weight: 600;
    color: #000;
    text-decoration: none;
    height: 100%;
    display: flex;
    align-items: center;
    padding: 0 32px;
    position: relative;
}

.center-links a:not(:last-child)::after {
    content: '';
    position: absolute;
    right: 0;
    top: 0;
    width: 1px;
    height: 100%;
    background: rgba(0, 0, 0, 0.1);
}

.footer-year {
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    font-weight: 600;
    color: #000;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

.footer-links a:hover {
    opacity: 0.7;
}

/* Mobile Footer Styles */
.mobile-footer {
    display: none;
    background: #fff;
    position: relative;
}

.mobile-footer-container {
    width: 100%;
    border-bottom: 1px solid rgba(0, 0, 0, 0.0);
}

.mobile-footer-links {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    height: 40px;
    position: relative;
}

.mobile-footer-links a {
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    font-weight: 600;
    color: #000;
    text-decoration: none;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    text-align: center;
}

.mobile-footer-links a:not(:last-child)::after {
    content: '';
    position: absolute;
    right: 0;
    top: 0;
    width: 1px;
    height: 100%;
    background: rgba(0, 0, 0, 0);
}

.mobile-footer-links a:hover {
    opacity: 0.7;
}

@media (max-width: 768px) {
    .site-footer {
        display: none;
    }
    
    .mobile-footer {
        display: block;
    }
}

@media (max-width: 480px) {
    .mobile-footer-links a {
        font-size: 13px;
    }
}

/* Home Hero Section */
.home-hero {
    width: 100%;
    min-height: 100vh;
    min-height: 100svh;
    position: relative;
    overflow: hidden;
}

.home-hero .hero-content {
    position: relative;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.home-hero .hero-media {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

/* Media Queries for Home Hero */
@media (max-width: 768px) {
    .home-hero {
        height: 100svh;
    }
    
    .home-hero .hero-media {
        object-fit: contain;
        width: 100%;
        height: 100%;
        position: absolute;
        top: 0;
        left: 0;
        background-color: #fff;
    }
}

/* Update polygon section for proper aspect ratio */
@media (max-width: 768px) {
    .polygon-section {
        background-color: white;
        margin-top: -75px;
        padding: 0;
        height: auto;
        min-height: unset;
        display: block;
        position: relative;
        overflow: hidden;
    }

    .polygon-section .hero-content {
        width: 100%;
        height: 0;
        padding-top: 56.25%; /* 16:9 aspect ratio */
        position: relative;
        margin: 0;
    }

    /* Slide container styles */
    .slides-container {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: white;
    }

    /* Individual slide styles */
    .slide {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        opacity: 0;
        transition: opacity 0.3s ease;
        pointer-events: none;
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 0;
        margin: 0;
    }

    .slide.active {
        opacity: 1;
        pointer-events: auto;
    }

    /* Video and image styles for all slides */
    .polygon-section video,
    .polygon-section .static-media,
    .polygon-section .static-media img,
    .polygon-section .hero-media {
        width: 100%;
        height: 100%;
        position: absolute;
        top: 0;
        left: 0;
        object-fit: cover;
        background: white;
        margin: 0;
        padding: 0;
    }

    /* Small word label styles */
    .slide-label {
        position: absolute;
        bottom: 16px;
        left: 50%;
        transform: translateX(-50%);
        font-size: 11px;
        font-weight: 500;
        letter-spacing: 0.5px;
        text-transform: none;
        color: #787878;
        opacity: 0.9;
        z-index: 5;
        font-family: 'Inter', sans-serif;
        text-align: center;
        white-space: nowrap;
    }

    /* Slide description styles */
    .slide-description {
        position: absolute;
        bottom: 0;
        left: 0;
        right: 0;
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 12px;
        z-index: 5;
        background: rgba(255, 255, 255, 0.9);
        backdrop-filter: blur(10px);
        padding: 12px;
        width: 100%;
        box-sizing: border-box;
    }

    .slide-text {
        text-align: center;
        font-size: 13px;
        font-weight: 500;
        color: #000;
        margin: 0;
        padding: 0;
        width: 100%;
        max-width: 80%;
    }

    .slide-indicators {
        display: flex;
        gap: 8px;
        justify-content: center;
        width: 100%;
    }

    .indicator {
        width: 6px;
        height: 6px;
        background: rgba(0, 0, 0, 0.2);
        border-radius: 50%;
        transition: all 0.3s ease;
    }

    .indicator.active {
        width: 24px;
        border-radius: 3px;
        background: #000;
    }

    /* Slideshow Arrow Indicators */
    .slide-arrow {
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        width: 28px;
        height: 28px;
        background: rgba(255, 255, 255, 0.9);
        backdrop-filter: blur(8px);
        -webkit-backdrop-filter: blur(8px);
        border: 1px solid rgba(255, 255, 255, 0.3);
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        cursor: pointer;
        z-index: 10;
        transition: all 0.3s ease;
        -webkit-tap-highlight-color: transparent;
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    }

    .slide-arrow:active {
        background: rgba(255, 255, 255, 0.7);
        transform: translateY(-50%) scale(0.95);
    }

    .slide-arrow.prev {
        left: 12px;
    }

    .slide-arrow.next {
        right: 12px;
    }

    .slide-arrow svg {
        width: 14px;
        height: 14px;
        fill: none;
        stroke: #000;
        stroke-width: 2.5;
    }

    .slide-arrow.prev svg {
        transform: rotate(180deg);
    }

    /* Play button styles */
    .slideshow-play-button {
        position: absolute;
        top: 20px;
        right: 20px;
        transform: scale(0.9);
        background: rgba(255, 255, 255, 0.1);
        backdrop-filter: blur(10px);
        -webkit-backdrop-filter: blur(10px);
        border: 1px solid rgba(255, 255, 255, 0.2);
        border-radius: 50px;
        padding: 16px 20px;
        display: none;
        align-items: center;
        justify-content: center;
        gap: 12px;
        cursor: pointer;
        transition: all 1.2s cubic-bezier(0.34, 1.56, 0.64, 1);
        width: 56px;
        overflow: hidden;
        box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
        opacity: 0;
        z-index: 10;
    }

    .slideshow-play-button.visible {
        display: flex;
        opacity: 1;
        transform: scale(1);
    }

    .slideshow-play-button.expanded {
        width: auto;
        padding-right: 24px;
    }

    .slideshow-play-button .play-text {
        color: white;
        font-size: 16px;
        font-weight: 500;
        white-space: nowrap;
        opacity: 0;
        transition: opacity 0.6s ease;
        transition-delay: 0.4s;
    }

    .slideshow-play-button.expanded .play-text {
        opacity: 1;
    }
}

/* Additional mobile adjustments */
@media (max-width: 480px) {
    .polygon-section {
        margin-top: -50px;
    }

    .slide-description {
        padding: 8px;
    }

    .slide-text {
        font-size: 12px;
    }

    .slideshow-play-button {
        top: 16px;
        right: 16px;
        transform: scale(0.85);
    }
}

/* Core Values Section */
.core-values-section {
    background-color: #000;
    color: #fff;
    min-height: 100vh;
    position: relative;
    display: flex;
    align-items: flex-start;
    padding-top: 300px;
}

.core-values-content {
    max-width: 1440px;
    margin: 0 auto;
    width: 100%;
    padding: 0 var(--side-padding);
    padding-left: 280px;  /* Aligned with experience section */
}

.values-container {
    max-width: 900px;
}

.values-list {
    display: flex;
    flex-direction: column;
    margin-bottom: 60px;
}

.values-list h2 {
    font-family: 'Inter', sans-serif;
    font-size: clamp(64px, 6vw, 82px);
    font-weight: 400;
    line-height: 1;
    margin: 0;
    letter-spacing: -0.03em;
    margin-bottom: 4px;
}

.values-description {
    font-size: 16px;
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.7);
    margin: 0;
    max-width: 640px;
    position: relative;
    top: 32px;
}

/* Side Navigation */
.core-values-section .side-nav {
    position: absolute;
    left: 32px;
    top: 300px;
    display: flex;
    flex-direction: column;
    gap: clamp(8px, 1.2vh, 12px);
}

.core-values-section .nav-item {
    color: rgba(255, 255, 255, 0.4);
    text-decoration: none;
    font-size: var(--nav-font-size);
    padding: 10px 24px;
    margin: 2px 0;
    border-radius: 100px;
    transition: color 0.3s ease, transform 0.3s ease;
    width: fit-content;
}

.core-values-section .nav-item:hover {
    color: #fff;
    transform: translateX(4px);
}

.core-values-section .nav-item.active {
    color: #fff;
    background-color: rgba(255, 255, 255, 0.1);
    font-weight: 600;
    transform: none;
}

/* Vertical Line and Dot */
.core-values-section .vertical-line {
    position: absolute;
    width: 1px;
    height: 700px;
    top: 336px;
    left: 240px;
    background-color: #fff;
    opacity: 0.2;
}

.core-values-section .dot-container {
    position: absolute;
    width: 14px;
    height: 14px;
    top: 300px;
    left: 233px;
    z-index: 1;
}

.core-values-section .dot {
    position: absolute;
    width: 8px;
    height: 8px;
    background-color: #fff;
    border-radius: 50%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 2;
}

.core-values-section .dot-pulse {
    position: absolute;
    width: 14px;
    height: 14px;
    background-color: #fff;
    border-radius: 50%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    animation: pulse 3s ease-in-out infinite;
    filter: blur(8px);
    opacity: 0.4;
}

@keyframes pulse {
    0% {
        transform: translate(-50%, -50%) scale(0.8);
        opacity: 0.6;
    }
    50% {
        transform: translate(-50%, -50%) scale(2);
        opacity: 0.2;
    }
    100% {
        transform: translate(-50%, -50%) scale(0.8);
        opacity: 0.6;
    }
}

/* Mobile styles for Core Values Section */
@media (max-width: 768px) {
    .core-values-section {
        padding-top: 240px;
        padding-bottom: 80px;
        padding-left: var(--mobile-padding);
        padding-right: var(--mobile-padding);
        min-height: auto;
        align-items: flex-start;
    }

    .core-values-content {
        padding: 0;
    }

    .values-container {
        display: flex;
        flex-direction: column;
    }

    .values-list {
        margin-bottom: 60px;
    }

    .values-list h2 {
        font-size: 64px;
        line-height: 1;
        margin-bottom: 4px;
    }

    .values-description {
        font-size: 16px;
        top: 32px;
    }

    .core-values-section .side-nav,
    .core-values-section .vertical-line,
    .core-values-section .dot-container {
        display: none;
    }
}

@media (max-width: 480px) {
    .core-values-section {
        padding-top: 200px;
        padding-bottom: 60px;
    }

    .values-list h2 {
        font-size: 48px;
    }

    .values-description {
        font-size: 15px;
        top: 24px;
    }
}

/* Experience Section */
.experience-section {
    background-color: #000;
    color: #fff;
    min-height: 100vh;
    position: relative;
    padding-top: 0;
    margin-top: -1px;
    padding-bottom: 120px;
}

/* Add vertical line and dot for experience section */
.experience-section .vertical-line {
    position: absolute;
    width: 1px;
    height: 2040px;
    top: 210px;
    left: 240px;
    background-color: #fff;
    opacity: 0.2;
}

.experience-section .dot-container {
    position: absolute;
    width: 14px;
    height: 14px;
    top: 170px; /* Adjusted to align with the first experience icon */
    left: 233px;
    z-index: 1;
}

.experience-section .dot {
    position: absolute;
    width: 8px;
    height: 8px;
    background-color: #fff;
    border-radius: 50%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 2;
}

.experience-section .dot-pulse {
    position: absolute;
    width: 14px;
    height: 14px;
    background-color: #fff;
    border-radius: 50%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    animation: pulse 3s ease-in-out infinite;
    filter: blur(8px);
    opacity: 0.4;
}

@keyframes pulse {
    0% {
        transform: translate(-50%, -50%) scale(0.8);
        opacity: 0.6;
    }
    50% {
        transform: translate(-50%, -50%) scale(2);
        opacity: 0.2;
    }
    100% {
        transform: translate(-50%, -50%) scale(0.8);
        opacity: 0.6;
    }
}

.experience-content {
    max-width: 1440px;
    margin: 0 auto;
    width: 100%;
    padding: 0 var(--side-padding);
    padding-left: 280px;  /* Keep consistent */
}

/* First experience content */
.experience-content:first-of-type {
    padding-top: 240px;
}

/* Subsequent experience content (reduce gap by 35%) */
.experience-content:not(:first-of-type) {
    padding-top: 156px; /* Reduced from 240px by 35% */
}

.experience-header {
    margin-bottom: 32px;
}

.company-logo {
    width: 96px;
    height: 96px;
    margin-bottom: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.polygon-logo {
    width: 96px;
    height: 96px;
    object-fit: contain;
}

.company-info h2 {
    font-family: 'Inter', sans-serif;
    font-size: 18px;
    font-weight: 400;
    color: rgba(255, 255, 255, 0.6);
    margin-bottom: 16px;
}

.company-info h1 {
    font-family: 'Inter', sans-serif;
    font-size: clamp(48px, 6vw, 64px);
    font-weight: 400;
    line-height: 1;
    margin: 0;
    margin-bottom: 16px;
    letter-spacing: -0.03em;
}

.company-info .location {
    font-size: 18px;
    color: rgba(255, 255, 255, 0.6);
    margin-bottom: 8px;
}

.company-info .description {
    font-size: 18px;
    color: rgba(255, 255, 255, 0.6);
    font-family: 'Inter', sans-serif;
    font-weight: 500; /* Medium weight for date and place */
}

.experience-text {
    font-size: 16px;
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.7);
    max-width: 640px;
    font-family: 'Inter', sans-serif;
    font-weight: 400; /* Regular weight for description text */
}

/* Mobile styles for Experience Section */
@media (max-width: 768px) {
    .experience-section {
        padding-top: 120px;
        min-height: auto;
        padding-bottom: 80px;
    }

    .experience-content {
        padding: 40px var(--mobile-padding);
        padding-left: var(--mobile-padding);
    }

    /* Reset padding for first experience on mobile */
    .experience-content:first-of-type {
        padding-top: 40px;
    }

    /* Adjust spacing for subsequent experiences on mobile */
    .experience-content:not(:first-of-type) {
        padding-top: 80px;
    }

    .company-logo {
        width: 96px; /* Increased from 48px */
        height: 96px; /* Increased from 48px */
        margin-bottom: 32px; /* Increased from 24px */
    }

    .polygon-logo {
        width: 96px; /* Increased from 48px */
        height: 96px; /* Increased from 48px */
    }

    .company-info h2 {
        font-size: 16px;
        margin-bottom: 12px;
        color: rgba(255, 255, 255, 0.6);
    }

    .company-info h1 {
        font-size: 42px; /* Increased from 24px */
        margin-bottom: 16px;
        letter-spacing: -0.02em;
        line-height: 1;
    }

    .company-info .description {
        font-size: 16px;
        color: rgba(255, 255, 255, 0.6);
    }

    .experience-text {
        font-size: 16px;
        line-height: 1.6;
        margin-top: 32px;
    }
}

@media (max-width: 480px) {
    .experience-section {
        padding-top: 100px; /* Slightly less padding for very small screens */
    }

    .experience-content {
        padding: 32px var(--mobile-padding);
    }

    .company-info h1 {
        font-size: 36px; /* Slightly smaller for very small screens */
    }

    .experience-text {
        font-size: 15px;
        line-height: 1.6;
    }
}

/* Grid Layout */
.project-details {
    max-width: var(--container-width);
    margin: 0 auto;
    display: grid;
    grid-template-columns: minmax(min(240px, 20%), 1fr) minmax(auto, 2fr) minmax(min(200px, 20%), 300px);
    gap: clamp(2rem, 5vw, 8rem);
    position: relative;
    padding: 0 var(--spacing-unit);
}

/* Experience Grid */
.experience-container {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr));
    gap: var(--spacing-unit);
    width: 100%;
}

/* Responsive Padding and Margins */
@media (min-width: 769px) {
    .experience-content {
        /* Remove the max() function to keep consistent spacing */
        padding-left: 280px;
    }

    .side-nav {
        left: max(32px, 3vw);
    }
}

@media (max-width: 768px) {
    .experience-content {
        padding: clamp(1rem, 4vw, 2rem);
    }

    .project-details {
        grid-template-columns: 1fr;
        gap: clamp(1.5rem, 4vw, 3rem);
    }

    .side-nav {
        position: relative;
        left: 0;
        width: 100%;
        overflow-x: auto;
        padding: var(--spacing-unit) 0;
    }
}

/* Fluid Typography */
@media (min-width: 320px) {
    :root {
        --base-size: clamp(16px, 1vw + 0.5rem, 18px);
        --h1-size: clamp(2rem, 5vw + 1rem, 4rem);
        --h2-size: clamp(1.5rem, 3vw + 0.5rem, 2.5rem);
        --body-size: clamp(0.875rem, 1vw + 0.5rem, 1rem);
    }
}

/* Selected Projects Section */
.selected-projects-section {
    background-color: #000;
    color: #fff;
    position: relative;
    padding-top: 120px;
    padding-bottom: 120px;
    margin-top: -1px;
}

.projects-content {
    max-width: 1440px;
    margin: 0 auto;
    padding: 0 var(--side-padding);
    padding-left: 280px;  /* Aligned with other sections */
}

.projects-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 120px 120px; /* Vertical and horizontal gap */
    max-width: 1100px;
    position: relative;
    margin: 0 auto;
}

/* Grid lines */
.projects-grid {
    position: relative;
}

/* Vertical center line */
.projects-grid::before {
    content: '';
    position: absolute;
    left: 50%;
    top: 0;
    height: 100%;
    width: 1px;
    background-color: rgba(255, 255, 255, 0.15);
    transform: translateX(-50%);
}

/* Horizontal lines between rows */
.project-card:nth-child(n+3) {
    position: relative;
}

.project-card:nth-child(n+3)::before {
    content: '';
    position: absolute;
    left: -60px; /* Half of the gap */
    right: -60px;
    top: -60px; /* Half of the gap */
    height: 1px;
    background-color: rgba(255, 255, 255, 0.15);
}

/* Project card styles */
.project-card {
    position: relative;
    text-decoration: none;
    color: #fff;
    transition: transform 0.3s ease;
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 80%;
}

/* Center cards in their columns */
.project-card:nth-child(odd) {
    margin-left: 0;
    margin-right: auto;
}

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

/* Mobile styles */
@media (max-width: 768px) {
    .projects-grid {
        grid-template-columns: 1fr;
        gap: 60px;
    }

    .projects-grid::before {
        display: none; /* Hide vertical line on mobile */
    }

    .project-card {
        width: 100%;
    }

    /* Adjust horizontal lines for mobile */
    .project-card:nth-child(n+2)::before {
        content: '';
        position: absolute;
        left: 0;
        right: 0;
        top: -30px;
        height: 1px;
        background-color: rgba(255, 255, 255, 0.2);
    }

    .project-card:nth-child(odd),
    .project-card:nth-child(even) {
        margin: 0;
    }
}

@media (max-width: 480px) {
    .projects-grid {
        gap: 40px;
    }

    .project-card:nth-child(n+2)::before {
        top: -20px;
    }
}

/* Project card hover effect */
.project-card:hover {
    transform: translateY(-4px);
}

/* Project image styles */
.project-image {
    position: relative;
    width: 100%;
    padding-bottom: 100%; /* 1:1 Aspect ratio */
    margin-bottom: 20px;
    overflow: hidden;
    border-radius: 4px;
}

.placeholder-image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(255, 255, 255, 0.1);
    transition: background-color 0.3s ease;
}

.project-card:hover .placeholder-image {
    background-color: rgba(255, 255, 255, 0.15);
}

/* Project info styles */
.project-info {
    text-align: center;
    width: 100%;
    padding: 0;
    position: relative;
}

.project-info h3 {
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    font-weight: 400;
    margin: 0 0 4px 0;
    color: #fff;
    white-space: nowrap;
}

.project-info p {
    font-family: 'Inter', sans-serif;
    font-size: 12px;
    color: rgba(255, 255, 255, 0.6);
    margin: 0;
    line-height: 1.4;
    white-space: nowrap;
}

/* Additional mobile styles */
@media (max-width: 768px) {
    .selected-projects-section {
        padding-top: 80px;
        padding-bottom: 80px;
    }

    .projects-content {
        padding: 0 var(--mobile-padding);
    }

    .project-image {
        padding-bottom: 75%; /* 4:3 Aspect ratio for mobile */
    }

    .project-info h3 {
        font-size: 13px;
    }

    .project-info p {
        font-size: 11px;
    }
}

@media (max-width: 480px) {
    .selected-projects-section {
        padding-top: 60px;
        padding-bottom: 60px;
    }
}

/* Add smooth scroll behavior */
html {
    scroll-behavior: smooth;
}

/* Dark mode styles for home page */
.home-page .collaborate-section {
    background-color: #000000;
    color: #FFFFFF;
}

.home-page .collaborate-section .collaborate-title {
    color: #FFFFFF;
}

.home-page .collaborate-section .collaborate-email {
    color: #FFFFFF;
}

.home-page .collaborate-section .collaborate-arrow rect {
    fill: #333333;
}

.home-page .collaborate-section .collaborate-arrow path {
    stroke: #FFFFFF;
}

.home-page .collaborate-section:hover .collaborate-arrow rect {
    fill: #FFDB01;
}

.home-page .collaborate-section:hover .collaborate-arrow path {
    stroke: #000000;
}

.home-page .site-footer {
    background-color: #000000;
    color: #FFFFFF;
}

.home-page .footer-container {
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.home-page .footer-name,
.home-page .center-links a,
.home-page .footer-year {
    color: #FFFFFF;
}

.home-page .center-links a:not(:last-child)::after {
    background: rgba(255, 255, 255, 0.3);
}

.home-page .mobile-footer {
    background-color: #000000;
}

.home-page .mobile-footer-links a {
    color: #FFFFFF;
}

.home-page .mobile-footer-links a:not(:last-child)::after {
    background: rgba(255, 255, 255, 0.3);
}