/* ─── Header ──────────────────────────────────────────────── */ .skip-link { position: absolute; top: -60px; left: 0; z-index: 9999; background: var(--primary); color: #fff; padding: 10px 20px; border-radius: 0 0 8px 0; transition: top .2s; } .skip-link:focus { top: 0; } .header { position: fixed; top: 0; left: 0; right: 0; z-index: 1000; height: var(--header-h); background: rgba(26, 26, 46, 0.96); backdrop-filter: blur(12px); border-bottom: 1px solid rgba(255,255,255,.08); transition: all var(--mid) var(--ease); } .header.scrolled { background: rgba(26, 26, 46, 0.99); box-shadow: 0 4px 24px rgba(0,0,0,.3); } .header-inner { display: flex; align-items: center; gap: 32px; height: 100%; } /* 로고 */ .logo { display: flex; align-items: center; gap: 10px; flex-shrink: 0; } .logo img { height: 40px; width: auto; filter: brightness(0) invert(1); } .logo-text { color: #fff; font-size: 20px; font-weight: 700; } .logo-text strong { color: var(--accent); } /* 데스크톱 메뉴 */ .nav-desktop { display: flex; align-items: center; gap: 4px; margin-left: 24px; flex: 1; } .nav-item { position: relative; } .nav-trigger { height: var(--header-h); padding: 0 16px; color: rgba(255,255,255,.85); font-size: 15px; font-weight: 500; transition: color var(--fast); display: flex; align-items: center; } .nav-trigger:hover, .nav-item.active .nav-trigger { color: #fff; } .nav-item.active .nav-trigger { border-bottom: 2px solid var(--accent); } /* 드롭다운 */ .dropdown { position: absolute; top: calc(var(--header-h) - 2px); left: 0; min-width: 180px; background: #fff; border-radius: 0 0 var(--radius) var(--radius); box-shadow: var(--shadow-lg); border-top: 3px solid var(--primary); padding: 8px 0; animation: fadeDown .18s ease; } @keyframes fadeDown { from { opacity:0; transform:translateY(-8px); } to { opacity:1; transform:translateY(0); } } .dropdown-item { display: flex; align-items: center; gap: 8px; padding: 10px 20px; font-size: 14px; color: var(--gray-700); transition: all var(--fast); } .dropdown-item:hover, .dropdown-item.current { background: var(--primary-light); color: var(--primary); } /* CTA 버튼 */ .header-cta { margin-left: auto; flex-shrink: 0; } /* 햄버거 */ .hamburger { display: none; flex-direction: column; gap: 5px; padding: 8px; margin-left: auto; } .hamburger span { display: block; width: 24px; height: 2px; background: #fff; border-radius: 2px; transition: all var(--mid); } /* 모바일 메뉴 */ .nav-mobile { display: none; flex-direction: column; background: var(--secondary); border-top: 1px solid rgba(255,255,255,.1); max-height: calc(100vh - var(--header-h)); overflow-y: auto; } .mobile-group { border-bottom: 1px solid rgba(255,255,255,.08); } .mobile-group-header { display: flex; align-items: center; padding: 14px 24px; color: rgba(255,255,255,.85); font-size: 15px; font-weight: 500; cursor: pointer; } .mobile-children { background: rgba(0,0,0,.2); } .mobile-child { display: flex; align-items: center; gap: 8px; padding: 10px 36px; font-size: 14px; color: rgba(255,255,255,.7); } .mobile-child:hover { color: #fff; } /* 반응형 */ @media (max-width: 1024px) { .nav-desktop, .header-cta { display: none; } .hamburger { display: flex; } .header.mobile-open .nav-mobile { display: flex; } .header.mobile-open { height: auto; } }