/* Shared local-site header. Original page templates and their event hooks remain intact. */
html body :is(header.bv-dock-wrap,header.site-header){position:fixed!important;inset:32px auto auto 50%!important;transform:translateX(-50%)!important;width:min(1046px,calc(100vw - 24px))!important;max-width:none!important;padding:0!important;margin:0!important;background:transparent!important;z-index:60;pointer-events:none}
html body :is(header.bv-dock-wrap,header.site-header) :is(.bv-dock,.dock){box-sizing:border-box;position:relative;display:grid!important;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:'brand nav tools' 'progress progress progress';align-items:center;gap:0;width:100%!important;max-width:none!important;min-height:72px!important;height:auto!important;margin:0!important;padding:8px!important;border:0;border-radius:0;pointer-events:auto;background:linear-gradient(180deg,rgba(255,255,255,.34),rgba(255,255,255,.18))!important;backdrop-filter:blur(16px) saturate(1.5);-webkit-backdrop-filter:blur(16px) saturate(1.5);box-shadow:0 18px 44px rgba(17,17,16,.16),0 2px 6px rgba(17,17,16,.06),inset 0 1px 1px rgba(255,255,255,.85),inset 0 -10px 22px rgba(255,255,255,.18),inset 0 0 0 1px rgba(255,255,255,.45)}
html body :is(header.bv-dock-wrap,header.site-header) :is(.bv-dock,.dock)>sc-if{display:contents}
html body :is(header.bv-dock-wrap,header.site-header) :is(.bv-dock-logo,.brand){grid-area:brand;display:flex;align-items:center;height:56px;min-width:0;margin:0;padding:0 30px 0 24px;flex-shrink:0}
html body :is(header.bv-dock-wrap,header.site-header) :is(.bv-dock-logo,.brand) img{display:block;width:auto!important;height:33px!important;max-width:none;object-fit:contain}
html body :is(header.bv-dock-wrap,header.site-header) :is(.bv-dock-nav,.main-nav){grid-area:nav;display:flex!important;align-items:center;gap:4px;min-width:0;margin:0;padding:0;justify-self:start}
html body :is(header.bv-dock-wrap,header.site-header) :is(.bv-dock-nav,.main-nav) a{display:flex;align-items:center;justify-content:center;height:56px;margin:0;padding:0 20px;font-size:18px;font-weight:500;line-height:1;letter-spacing:-.01em;white-space:nowrap;color:#111110;border:0;border-radius:0;background:transparent}
html body :is(header.bv-dock-wrap,header.site-header) :is(.bv-dock-nav,.main-nav) a[aria-current]:not([aria-current="false"]){background:rgba(0,0,0,.07)}
html body :is(header.bv-dock-wrap,header.site-header) :is(.bv-dock-tools,.tools){grid-area:tools;display:flex;align-items:center;justify-content:flex-end;gap:4px;margin:0;padding:0;min-width:0}
html body :is(header.bv-dock-wrap,header.site-header) :is(.bv-dock-tools,.tools)>sc-if{display:contents}
html body :is(header.bv-dock-wrap,header.site-header) :is(.bv-dock-tool,.tools button){display:flex;align-items:center;justify-content:center;gap:8px;box-sizing:border-box;height:56px;min-height:0;width:auto;min-width:0;margin:0;padding:0 14px;border:0;border-radius:0;background:transparent!important;color:#111110;font-size:17px;font-weight:450;line-height:1;letter-spacing:-.01em;white-space:nowrap;box-shadow:none}
html body :is(header.bv-dock-wrap,header.site-header) :is(.bv-dock-tool,.tools button)>span{display:inline}
html body :is(header.bv-dock-wrap,header.site-header) :is(.bv-dock-tool,.tools button)>img{width:18px;height:18px;object-fit:contain;flex-shrink:0}
html body :is(header.bv-dock-wrap,header.site-header) :is(.bv-dock-menu i,.menu-button>img){display:none!important}
/* 10/28 전체메뉴 아이콘: 지구본과 같은 15 격자·선 1.25(화면 1.5px)·둥근 끝 SVG를 마스크로, 색은 글자색 */
html body :is(header.bv-dock-wrap,header.site-header) :is(.bv-dock-menu,.menu-button)::after{content:'';display:block;flex:0 0 18px;width:18px!important;height:18px!important;background:currentColor!important;-webkit-mask:url(/icons/menu.svg) center/18px 18px no-repeat;mask:url(/icons/menu.svg) center/18px 18px no-repeat}
html body :is(header.bv-dock-wrap,header.site-header) :is(.bv-dock-menu,.menu-button)[aria-expanded=true]::after{-webkit-mask-image:url(/icons/close.svg);mask-image:url(/icons/close.svg)}
html body :is(header.bv-dock-wrap,header.site-header) :is(a,button,a *,button *){cursor:pointer}
html body :is(header.bv-dock-wrap,header.site-header) :is(.bv-dock-logo,.brand,.bv-dock-nav a,.main-nav a):hover{background:transparent;filter:none}
html body :is(header.bv-dock-wrap,header.site-header) :is(.bv-dock-nav,.main-nav) a[aria-current]:not([aria-current="false"]):hover{background:rgba(0,0,0,.07)}
/* Keep each page's existing visibility class and scroll progress values. */
html body :is(header.bv-dock-wrap,header.site-header) :is(.bv-jump,.section-progress,.page-jump){grid-area:progress;position:static;flex:none;min-width:0;width:auto;max-width:none;height:auto;margin:8px -8px -8px;padding:0;border:0;overflow:hidden}
html body :is(header.bv-dock-wrap,header.site-header) :is(.bv-jump>div,.section-progress>div,.page-jump){align-items:stretch;gap:0}
html body :is(header.bv-dock-wrap,header.site-header) :is(.bv-jump>div,.section-progress>div){display:flex;height:36px;border-top:1px solid #00000012}
html body header.site-header .page-jump{border-top:1px solid #00000012}
html body header.site-header.jump-on .page-jump{display:flex}
html body :is(header.bv-dock-wrap,header.site-header) :is(.bv-jump,.section-progress,.page-jump) a{position:relative;display:block;flex:1;min-width:0;margin:0;padding:0 8px;height:36px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;text-align:center;font-size:13px;font-weight:500;line-height:35px;color:#8a8984;border:0;background:transparent}
html body :is(header.bv-dock-wrap,header.site-header) :is(.bv-jump,.section-progress,.page-jump) a::before,html body :is(header.bv-dock-wrap,header.site-header) :is(.bv-jump,.section-progress,.page-jump) a::after{content:'';position:absolute;inset:auto 0 0;height:2px;background:#00000014}
html body :is(header.bv-dock-wrap,header.site-header) :is(.bv-jump,.section-progress,.page-jump) a::after{background:#0fdfdd;transform:scaleX(var(--p,0));transform-origin:left;transition:transform .4s}
html body :is(header.bv-dock-wrap,header.site-header) :is(.bv-jump,.section-progress,.page-jump) a[aria-current]:not([aria-current="false"]){color:#111110;font-weight:700}
html body :is(header.bv-dock-wrap,header.site-header) :is(.bv-dock-panel,.site-menu){position:absolute;top:calc(100% + 10px);left:0;right:auto;transform:none;width:100%;max-width:none;box-sizing:border-box;margin:0;padding:16px 32px;max-height:calc(100svh - 180px);overflow-y:auto;overscroll-behavior:contain;background:rgba(255,255,255,.95);backdrop-filter:blur(14px);border:1px solid #0000000f;border-radius:0;box-shadow:0 10px 30px #00000024;pointer-events:auto}
html body :is(header.bv-dock-wrap,header.site-header) :is(.bv-dock-panel-grid,.site-menu){display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 32px}
html body :is(header.bv-dock-wrap,header.site-header) :is(.bv-dock-panel,.site-menu) a{display:block;min-width:0;margin:0;padding:18px 0;border-bottom:1px solid #e5e5e5;background:transparent!important;font-size:18px;font-weight:500;line-height:1.5;overflow-wrap:anywhere}
html body :is(header.bv-dock-wrap,header.site-header) [hidden]{display:none!important}
html body header.site-header .language-popover{position:absolute;top:calc(100% + 10px);right:0;left:auto;max-width:calc(100vw - 40px);margin:0;padding:20px 28px;background:white;z-index:65;pointer-events:auto}
@media(max-width:1100px){
 html body :is(header.bv-dock-wrap,header.site-header) :is(.bv-dock-logo,.brand){padding-inline:16px}
 html body :is(header.bv-dock-wrap,header.site-header) :is(.bv-dock-nav,.main-nav) a{font-size:16px;padding-inline:14px}
 html body :is(header.bv-dock-wrap,header.site-header) :is(.bv-dock-tool,.tools button){font-size:15px;padding-inline:10px}
}
@media(max-width:900px){
 html body :is(header.bv-dock-wrap,header.site-header) :is(.bv-dock,.dock){grid-template-columns:auto minmax(0,1fr);grid-template-areas:'brand tools' 'progress progress'}
 html body :is(header.bv-dock-wrap,header.site-header) :is(.bv-dock-nav,.main-nav){display:none!important}
}
@media(max-width:799px){
 html body :is(header.bv-dock-wrap,header.site-header){top:16px!important;width:calc(100vw - 20px)!important}
 html body :is(header.bv-dock-wrap,header.site-header) :is(.bv-dock,.dock){min-height:56px!important;padding:6px!important}
 html body :is(header.bv-dock-wrap,header.site-header) :is(.bv-dock-logo,.brand){height:44px;padding:0 14px 0 16px}
 html body :is(header.bv-dock-wrap,header.site-header) :is(.bv-dock-logo,.brand) img{height:24px!important}
 html body :is(header.bv-dock-wrap,header.site-header) :is(.bv-dock-tool,.tools button){height:44px;padding:0 12px;font-size:15px}
 html body :is(header.bv-dock-wrap,header.site-header) :is(.bv-jump,.section-progress,.page-jump){margin:6px -6px -6px;border:0}
 html body :is(header.bv-dock-wrap,header.site-header) :is(.bv-jump>div,.section-progress>div){height:8px;padding:0 6px;border:0}
 html body header.site-header .page-jump{padding:0 6px}
 html body :is(header.bv-dock-wrap,header.site-header) :is(.bv-jump,.section-progress,.page-jump) a{height:8px;font-size:0;line-height:0;padding:0}
 html body :is(header.bv-dock-wrap,header.site-header) :is(.bv-jump,.section-progress,.page-jump) a::before,html body :is(header.bv-dock-wrap,header.site-header) :is(.bv-jump,.section-progress,.page-jump) a::after{height:3px;bottom:2.5px}
 html body :is(header.bv-dock-wrap,header.site-header) :is(.bv-dock-panel,.site-menu){padding:12px 24px;max-height:calc(100svh - 112px)}
 html body :is(header.bv-dock-wrap,header.site-header) :is(.bv-dock-panel-grid,.site-menu){grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}
 html body :is(header.bv-dock-wrap,header.site-header) :is(.bv-dock-panel,.site-menu) a{font-size:16px}
}
@media(max-width:640px){
 html body header.site-header .tools .login,html body header.site-header .tools .language>span,html body header.site-header .tools .menu-button>span{display:none!important}
}
@media(prefers-reduced-motion:reduce){html body :is(header.bv-dock-wrap,header.site-header) :is(.bv-jump,.section-progress,.page-jump) a::after{transition:none}}
/* Short landscape screens: preserve the AI page's existing 88px content clearance. */
@media(max-height:540px) and (min-width:600px){
 html body :is(header.bv-dock-wrap,header.site-header){top:12px!important}
 html body :is(header.bv-dock-wrap,header.site-header) :is(.bv-dock,.dock){min-height:56px!important;padding:8px!important}
 html body :is(header.bv-dock-wrap,header.site-header) :is(.bv-dock-logo,.brand,.bv-dock-tool,.tools button,.bv-dock-nav a,.main-nav a){height:40px}
 html body :is(header.bv-dock-wrap,header.site-header) :is(.bv-dock-logo,.brand) img{height:24px!important}
}
/* Shared mobile scroll motion, matching the delivered Home/Vision behavior.
   Only the four enhanced pages receive this marker; desktop geometry is unchanged. */
@media(max-width:799px){
 html body header.site-header[data-mobile-scroll-header="shared"]{transition:transform .32s cubic-bezier(.2,.8,.2,1)}
 html body header.site-header[data-mobile-scroll-header="shared"].gnb-hide{transform:translate(-50%,calc(-100% - 24px))!important}
}
@media(max-width:799px) and (prefers-reduced-motion:reduce){
 html body header.site-header[data-mobile-scroll-header="shared"]{transition:none!important}
}

/* Delivered Home glass skin. Geometry and interaction rules stay above. */
html body header.site-header .dock{transition:background .3s cubic-bezier(.4,0,.2,1),box-shadow .3s cubic-bezier(.4,0,.2,1)}
html body header.site-header:hover .dock{background:linear-gradient(180deg,rgba(255,255,255,.48),rgba(255,255,255,.3))!important;box-shadow:0 24px 56px rgba(17,17,16,.2),0 2px 6px rgba(17,17,16,.08),inset 0 1px 1px rgba(255,255,255,.95),inset 0 -10px 22px rgba(255,255,255,.22),inset 0 0 0 1px rgba(255,255,255,.6)}
html body header.site-header .dock.lg-fallback{background:linear-gradient(180deg,rgba(255,255,255,.7),rgba(255,255,255,.56))!important}

/* Only a hidden mobile header loses its exterior shadow tail.
   Visible default/hover retain the delivered five-layer glass shadow. */
@media(max-width:799px){
 html body header.site-header.gnb-hide .dock{box-shadow:inset 0 1px 1px rgba(255,255,255,.85),inset 0 -10px 22px rgba(255,255,255,.18),inset 0 0 0 1px rgba(255,255,255,.45)!important}
}

/* 10/28 사용자 지시: 모바일 헤더는 모든 페이지(서비스 화면 포함)에서 화면 폭 카드로 통일. 서비스 번들의 max-content 규칙보다 우선(클래스 중복으로 우선순위 상승) */
@media(max-width:799px){
 html body header.site-header.site-header,html body header.bv-dock-wrap.bv-dock-wrap{width:calc(100vw - 20px)!important;max-width:none!important}
 html body header.site-header.site-header .dock.dock,html body header.bv-dock-wrap.bv-dock-wrap .bv-dock.bv-dock{width:100%!important;max-width:none!important}
 html body header.site-header.site-header .tools,html body header.bv-dock-wrap.bv-dock-wrap .bv-dock-tools{margin-left:auto!important} /* 서비스 번들은 .dock을 flex로 바꾸므로 도구를 오른쪽 끝으로 */
 html body :is(header.bv-dock-wrap,header.site-header) :is(.bv-dock,.dock){grid-template-columns:minmax(0,1fr) auto!important}
}
