.header { position: relative; display: flex; z-index: 1000; width: 100%; height: 90px; color: #fff; padding: var(--container-padding); border-bottom: 1px solid #181818; } /* ========================= LOGO ========================= */ .left { display: flex; align-items: center; } .logo { display: inline-block; color: #fff; font-size: clamp(28px, 2vw, 38px); line-height: 1; font-weight: 700; letter-spacing: -0.06em; text-decoration: none; transition: opacity 0.25s ease; } .logo:hover { opacity: 0.65; } /* ========================= RIGHT ========================= */ .right { display: flex; align-items: center; gap: clamp(24px, 3vw, 55px); } /* ========================= DESKTOP NAV ========================= */ .desktopNav ul { display: flex; align-items: center; gap: clamp(24px, 2.8vw, 55px); margin: 0; padding: 0; list-style: none; } .desktopNav li { margin: 0; padding: 0; } .desktopNav a { position: relative; display: inline-block; padding: 8px 0; color: #777; font-size: clamp(15px, 1vw, 20px); font-weight: 500; letter-spacing: -0.01em; text-decoration: none; transition: color 0.25s ease; } .desktopNav a::after { content: ""; position: absolute; left: 0; bottom: 2px; width: 0; height: 1px; background: #fff; transition: width 0.3s ease; } .desktopNav a:hover { color: #fff; } .desktopNav a:hover::after { width: 100%; } /* ========================= HAMBURGER ========================= */ .hamburger { display: none; position: relative; width: 34px; height: 24px; margin: 0; padding: 0; background: transparent; border: 0; cursor: pointer; } .hamburger span { position: absolute; left: 0; width: 100%; height: 2px; border-radius: 10px; background: #fff; transition: transform 0.3s ease, opacity 0.3s ease; } .hamburger span:nth-child(1) { top: 0; } .hamburger span:nth-child(2) { top: 50%; transform: translateY(-50%); } .hamburger span:nth-child(3) { bottom: 0; } /* ========================= MOBILE MENU ========================= */ .mobileMenu { position: fixed; top: 90px; right: 0; width: 100%; height: calc(100vh - 90px); padding: 60px var(--container-padding); background: #000; transform: translateX(100%); transition: transform 0.45s cubic-bezier(0.32, 0.72, 0, 1); overflow-y: auto; } .mobileMenu.active { transform: translateX(0); } .mobileMenu ul { display: flex; flex-direction: column; gap: 30px; margin: 0; padding: 0; list-style: none; } .mobileMenu li { margin: 0; padding: 0; } .mobileMenu a { display: inline-block; color: #fff; font-size: clamp(30px, 6vw, 52px); line-height: 1; font-weight: 600; letter-spacing: -0.04em; text-decoration: none; transition: color 0.25s ease; } .mobileMenu a:hover { color: #777; } /* ========================= LARGE SCREENS ========================= */ @media (min-width: 1600px) { .header { height: 110px; } .logo { font-size: 42px; } .desktopNav a { font-size: 20px; } .desktopNav ul { gap: 50px; } } /* ========================= TABLET ========================= */ @media (max-width: 1024px) { .header { height: 80px; } .logo { font-size: 28px; } .desktopNav ul { gap: 24px; } .desktopNav a { font-size: 15px; } } /* ========================= MOBILE ========================= */ @media (max-width: 768px) { .header { height: 70px; } .desktopNav { display: none; } .hamburger { display: block; } .mobileMenu { top: 70px; height: calc(100vh - 70px); } .right { gap: 0; } } /* ========================= SMALL MOBILE ========================= */ @media (max-width: 480px) { .header { height: 64px; } .logo { font-size: 25px; } .hamburger { width: 29px; height: 21px; } .mobileMenu { top: 64px; height: calc(100vh - 64px); padding-top: 45px; } .mobileMenu ul { gap: 26px; } .mobileMenu a { font-size: 32px; } }