/* 헤더의 색만 중립 유리 표면으로 정리한다. 기능과 메뉴 구조는 기존 소유자에 둔다. */
.header,.is-home .header{background:rgba(255,255,255,.97);color:#26333c;border-bottom:1px solid rgba(32,43,53,.10);box-shadow:0 3px 18px rgba(21,32,43,.035)}
@supports ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
 .header,.is-home .header{background:rgba(255,255,255,.83);backdrop-filter:blur(20px) saturate(1);-webkit-backdrop-filter:blur(20px) saturate(1)}
}
.header .brand,.is-home .header .brand{color:#1c2932}
.header .brand-dot,.is-home .header .brand-dot{color:#627681}
.header nav,.header nav>a,.header .nav-group>summary,.is-home .header nav a{color:#48535d}
.header nav>a,.header .nav-group>summary{transition:color .15s ease,border-color .15s ease}
.header nav>a:hover,.header nav>a.active,.header .nav-group>summary:hover,.header .nav-group.active>summary,.header .nav-group[open]>summary,.is-home .header nav a:hover{color:#15222b}
.header nav>a.active,.header .nav-group.active>summary{border-bottom-color:#596b77}
.header .nav-group>summary::after{color:#73818a}
.header .nav-actions{gap:14px}
.header .nav-actions>.text-button,.is-home .header .nav-actions>.text-button{color:#3e4c56;min-height:44px;padding:10px 12px;border-radius:9px;line-height:1.5}
.header .nav-actions>.text-button:hover{background:rgba(34,48,61,.05);color:#14232e}
.header .nav-actions>.button.dark,.is-home .header .nav-actions>.button.dark{min-height:44px;padding:11px 16px;border-radius:10px;background:#26343f;color:#fff;border:1px solid rgba(18,28,38,.13);box-shadow:0 2px 5px rgba(24,35,46,.09);gap:18px}
.header .nav-actions>.button.dark:hover,.is-home .header .nav-actions>.button.dark:hover{background:#182731;filter:none}
.header .menu-button{color:#283640;width:44px;height:44px;line-height:1;padding:8px;border:1px solid rgba(36,49,61,.13);border-radius:10px;background:rgba(255,255,255,.55)}
.header .menu-button:hover{background:#f0f3f5}
.header .nav-dropdown{background:rgba(255,255,255,.98);border:1px solid rgba(32,45,56,.11);box-shadow:0 16px 36px rgba(26,38,49,.10),0 2px 6px rgba(26,38,49,.03);border-radius:12px;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);color:#273742}
.header .nav-dropdown a,.is-home .header .nav-dropdown a{color:#273742;min-height:44px}
.header .nav-dropdown a span{color:var(--text-secondary)}
.header .nav-dropdown a:hover,.header .nav-dropdown a.active,.is-home .header .nav-dropdown a:hover{background:#f0f3f5;color:#172936}
.header a:focus-visible,.header button:focus-visible,.header summary:focus-visible{outline:3px solid #3c6b86;outline-offset:4px}
@media(max-width:1180px) and (min-width:761px){.header .nav-wrap{gap:24px}.header .nav-actions{gap:8px}}
@media(max-width:760px){
 .header .nav-wrap{padding:0 20px;gap:12px}
 .header .nav-actions{gap:8px}
 .header .nav-actions>.text-button{padding:10px 8px}
 .header nav,.is-home .header nav{background:rgba(255,255,255,.98);padding:12px 20px 20px;border-bottom:1px solid #d9e0e4;box-shadow:0 14px 24px rgba(25,37,48,.07);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);max-height:calc(100dvh - 68px);overscroll-behavior:contain}
 .header nav>a,.header .nav-group>summary{min-height:48px;line-height:1.5;padding:13px 8px;border-bottom:0;border-radius:7px}
 .header nav>a{display:flex;align-items:center}
 .header nav>a.active,.header .nav-group.active>summary{background:#f0f3f5;color:#172936}
 .header .nav-dropdown{background:#f4f6f8;border:1px solid #e0e6ea;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;padding:4px;margin:4px 0 10px;border-radius:9px}
 .header .nav-dropdown a{padding:12px 13px;min-height:58px}
 .header .nav-dropdown a:hover,.header .nav-dropdown a.active{background:#e9eef2}
 .header a:focus-visible,.header button:focus-visible,.header summary:focus-visible{outline-offset:1px}
}
@media(prefers-reduced-transparency:reduce){
 .header,.is-home .header,.header nav,.header .nav-dropdown{background:#fff;backdrop-filter:none;-webkit-backdrop-filter:none}
}
@media(prefers-reduced-motion:reduce){.header nav>a,.header .nav-group>summary{transition:none}}
@media(forced-colors:active){
 .header,.is-home .header,.header nav,.header .nav-dropdown{background:Canvas;color:CanvasText;border-color:CanvasText;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
 .header a:focus-visible,.header button:focus-visible,.header summary:focus-visible{outline-color:Highlight}
}

.header nav>.nav-download-mobile,.header .nav-dropdown .nav-download-tablet{display:none}
@media(min-width:761px) and (max-width:1180px){.header .nav-dropdown .nav-download-tablet{display:block}}
@media(max-width:760px){.header nav>.nav-download-mobile{display:flex;justify-content:space-between;margin-top:8px;padding:13px 15px;background:#26343f;color:#fff;border-radius:8px}.header nav>.nav-download-mobile:hover,.header nav>.nav-download-mobile.active{background:#182731;color:#fff}}

/* 글자 확대 시 헤더 항목을 다음 줄로 보내고 실제 높이를 메뉴·초점 여백에 사용한다. */
.header .nav-wrap{height:auto;min-height:84px;flex-wrap:wrap;row-gap:8px}
.header .brand,.header .nav-actions{flex-shrink:0;white-space:nowrap}
.header .menu-button{width:1.7em;height:1.7em;min-width:44px;min-height:44px;flex-shrink:0}
html{scroll-padding-top:calc(var(--review-height,0px) + var(--header-height,84px) + 12px)}
@media(min-width:761px){.header nav>a,.header .nav-group>summary{white-space:nowrap}}
@media(max-width:760px){
 .header .nav-wrap{min-height:68px;padding-top:8px;padding-bottom:8px}
 .header nav{top:100%;max-height:calc(100dvh - var(--review-height,0px) - var(--header-height,68px))}
}
