.header{
position:absolute;
top:0;
left:0;
width:100%;
height:var(--header-height);
z-index:1000;
background:transparent;
border-bottom:none;
box-shadow:none;
transition:background var(--transition-main);
}

.header .container{
height:100%;
display:flex;
align-items:center;
}

.logo{
display:flex;
align-items:center;
gap:14px;
flex-shrink:0;
}

.logo img{
width:auto;
height:58px;
filter:brightness(0) invert(1);
transition:filter var(--transition-main);
}

.logo-text{
display:flex;
flex-direction:column;
gap:1px;
}

.logo-title{
font-size:22px;
font-weight:600;
line-height:1.25;
color:var(--warm-white);
}

.logo-subtitle{
font-size:15px;
font-weight:400;
line-height:1.3;
color:rgba(255,255,255,.7);
}

.nav{
margin-left:auto;
}

.nav-list{
display:flex;
align-items:center;
gap:32px;
}

.nav-link{
position:relative;
display:block;
padding:8px 0;
font-size:16px;
font-weight:500;
color:var(--warm-white);
transition:color var(--transition-fast);
}

.nav-link::after{
content:"";
position:absolute;
left:0;
bottom:2px;
width:0;
height:1px;
background:var(--sand);
transition:width var(--transition-main);
}

.nav-link:hover,
.nav-link.active{
color:var(--white);
}

.nav-link:hover::after,
.nav-link.active::after{
width:100%;
}

.header-actions{
display:flex;
align-items:center;
gap:24px;
margin-left:42px;
}

.phone{
font-size:16px;
font-weight:600;
white-space:nowrap;
color:var(--warm-white);
transition:color var(--transition-fast);
}

.phone:hover{
color:var(--sand);
}

.header-contact{
display:inline-flex;
align-items:center;
gap:9px;
padding-bottom:4px;
border-bottom:1px solid rgba(255,255,255,.7);
font-size:15px;
font-weight:600;
letter-spacing:.3px;
color:var(--warm-white);
transition:color var(--transition-fast),border-color var(--transition-fast);
}

.header-contact::after{
content:"→";
font-size:16px;
transition:transform var(--transition-fast);
}

.header-contact:hover{
color:var(--sand);
border-color:var(--sand);
}

.header-contact:hover::after{
transform:translateX(3px);
}

.burger{
display:none;
width:42px;
height:42px;
align-items:center;
justify-content:center;
flex-direction:column;
gap:6px;
}

.burger span{
display:block;
width:25px;
height:1px;
background:var(--warm-white);
transition:transform var(--transition-main),opacity var(--transition-main),background var(--transition-main);
}

.burger.active span:nth-child(1){
transform:translateY(7px) rotate(45deg);
}

.burger.active span:nth-child(2){
opacity:0;
}

.burger.active span:nth-child(3){
transform:translateY(-7px) rotate(-45deg);
}

.header.scrolled .logo img{
filter:none;
}

.header.scrolled .logo-title{
color:var(--forest-dark);
}

.header.scrolled .logo-subtitle{
color:var(--gray);
}

.header.scrolled .nav-link{
color:var(--charcoal);
}

.header.scrolled .nav-link:hover,
.header.scrolled .nav-link.active{
color:var(--forest);
}

.header.scrolled .nav-link::after{
background:var(--wood);
}

.header.scrolled .phone{
color:var(--forest-dark);
}

.header.scrolled .phone:hover{
color:var(--wood);
}

.header.scrolled .header-contact{
color:var(--forest);
border-color:var(--forest);
}

.header.scrolled .header-contact:hover{
color:var(--wood);
border-color:var(--wood);
}

.header.scrolled .burger span{
background:var(--forest-dark);
}

.mobile-menu{
position:fixed;
top:var(--header-height);
left:0;
width:100%;
height:calc(100vh - var(--header-height));
padding:48px 40px;
display:none;
flex-direction:column;
justify-content:space-between;
background:var(--warm-white);
border-top:1px solid var(--line);
transform:translateX(100%);
transition:transform var(--transition-main);
overflow-y:auto;
z-index:999;
}

.mobile-menu.active{
transform:translateX(0);
}

.mobile-menu .nav-list{
display:flex;
flex-direction:column;
align-items:flex-start;
gap:4px;
}

.mobile-menu .nav-link{
padding:10px 0;
font-family:var(--font-display);
font-size:32px;
font-weight:400;
line-height:1.2;
color:var(--forest-dark);
}

.mobile-menu .nav-link::after{
display:none;
}

.mobile-menu .header-actions{
display:flex;
flex-direction:column;
align-items:flex-start;
gap:16px;
margin:48px 0 0;
padding-top:28px;
border-top:1px solid var(--line);
}

.mobile-menu .phone{
color:var(--forest-dark);
}

.mobile-menu .header-contact{
color:var(--forest);
border-color:var(--forest);
}

body.menu-open{
overflow:hidden;
}