.cv-header{
position:sticky;
top:32px;
z-index:900;
background:var(--color-bg-primary);
border-bottom:1px solid var(--color-border-subtle);
}

.cv-header-inner{
display:flex;
align-items:center;
justify-content:space-between;
min-height:72px;
gap:var(--space-4);
}

.cv-brand{
display:flex;
align-items:center;
gap:var(--space-3);
text-decoration:none;
}

.cv-logo{
height:36px;
width:auto;
}

.cv-brand-text{
font-family:var(--font-heading);
font-size:1.2rem;
color:var(--color-text-primary);
}

.cv-nav{
display:flex;
}

.cv-nav-close{
display:none;
}

.cv-nav-list{
display:flex;
gap:var(--space-4);
list-style:none;
margin:0;
padding:0;
align-items:center;
}

.cv-nav a{
color:var(--color-text-secondary);
font-size:0.95rem;
}

.cv-nav a:hover{
color:var(--color-accent-gold);
text-decoration:underline;
}

.cv-nav-toggle{
display:none;
flex-direction:column;
justify-content:center;
gap:5px;
min-height:44px;
min-width:44px;
}

.cv-toggle-line{
width:22px;
height:2px;
background:var(--color-text-primary);
}

.cv-nav-overlay{
position:fixed;
inset:0;
background:rgba(0,0,0,0.6);
opacity:0;
pointer-events:none;
transition:opacity var(--transition-fast);
z-index:950;
}

.cv-header.open .cv-nav-overlay{
opacity:1;
pointer-events:auto;
}

@media (max-width:900px){
.cv-nav{
position:fixed;
top:32px;
right:0;
height:calc(100dvh - 32px);
width:min(86vw,320px);
background:var(--color-bg-secondary);
flex-direction:column;
padding:var(--space-5);
transform:translateX(100%);
transition:transform var(--transition-fast);
z-index:1000;
}

.cv-nav-close{
display:inline-flex;
align-items:center;
justify-content:center;
align-self:flex-end;
min-width:44px;
min-height:44px;
margin-bottom:var(--space-3);
color:var(--color-text-primary);
font-size:2rem;
line-height:1;
}

.cv-header.open .cv-nav{
transform:translateX(0);
}

.cv-nav-list{
flex-direction:column;
align-items:flex-start;
gap:var(--space-4);
}

.cv-nav-toggle{
display:flex;
}
}

@media (max-width:768px){
.cv-header{
top:56px;
}

.cv-header-inner{
min-height:64px;
gap:var(--space-3);
}

.cv-brand{
gap:var(--space-2);
min-width:0;
}

.cv-logo{
height:32px;
flex:none;
}

.cv-brand-text{
font-size:clamp(1.15rem,5.6vw,1.35rem);
white-space:nowrap;
overflow:hidden;
text-overflow:ellipsis;
}

.cv-nav{
top:56px;
height:calc(100dvh - 56px);
padding:var(--space-4);
}

.cv-nav-close{
margin-bottom:var(--space-2);
}

.cv-nav-list{
gap:var(--space-3);
}

.cv-nav a{
font-size:1rem;
}
}
