/* INDEX masthead, shared by every full public page. No dashboard selectors. */
@font-face{font-family:Manrope;src:url('/design-lab/fonts/Manrope-Variable.ttf') format('truetype');font-weight:200 800;font-display:swap}
:is(.public-site-header,.public-site-drawer){--ph-bg:#f7f9f8;--ph-surface:#edf1ef;--ph-elevated:#e5ebe7;--ph-ink:#17231e;--ph-muted:#57665e;--ph-line:#c8d2cc;--ph-accent:#14745d;--ph-adjust:0px;--ph-ease:cubic-bezier(.16,1,.3,1);font-family:Manrope,'Noto Sans KR','Noto Sans JP',sans-serif;font-size:1rem;font-weight:400;line-height:1.5;letter-spacing:normal;color:var(--ph-ink);text-align:left}
:root[data-theme=dark] :is(.public-site-header,.public-site-drawer){--ph-bg:#090909;--ph-surface:#101111;--ph-elevated:#181a19;--ph-ink:#f4f5f4;--ph-muted:#989f9b;--ph-line:#292d2b;--ph-accent:#a1ead8}
:is(.public-site-header,.public-site-drawer):is(:lang(ko),:lang(ja)){--ph-adjust:1px}
:is(.public-site-header,.public-site-drawer) *{box-sizing:border-box}
:is(.public-site-header,.public-site-drawer) [hidden]{display:none!important}
:is(.public-site-header,.public-site-drawer) a{color:inherit;text-decoration:none;text-underline-offset:5px}
:is(.public-site-header,.public-site-drawer) button{font:inherit;letter-spacing:inherit;cursor:pointer}
:is(.public-site-header,.public-site-drawer) :is(a,button):focus-visible{outline:2px solid var(--ph-accent);outline-offset:5px}
:is(.public-site-header,.public-site-drawer) .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
:is(.public-site-header,.public-site-drawer) .icon{display:block;width:20px;height:20px;flex-shrink:0}
.site-header.public-site-header{position:sticky;inset:0 0 auto;z-index:120;display:block;width:100%;height:auto;min-height:0;margin:0;padding:0;border:0;border-bottom:1px solid transparent;background:var(--ph-bg);box-shadow:none}
:is(.public-page,.landing-page.index-page):has(>.public-site-header){padding-top:0;overflow-x:clip}
.public-site-header .header-inner{display:flex;align-items:center;width:min(1280px,calc(100% - 112px));max-width:none;min-height:88px;margin:0 auto;padding:0;gap:40px}
.public-site-header .wordmark{display:flex;flex-shrink:0;align-items:center;min-height:44px;margin:0;padding:0;border:0;background:transparent}
.public-site-header .wordmark img{display:block;width:143px;height:auto;max-width:100%;filter:brightness(0)}
:root[data-theme=dark] .public-site-header .wordmark img{filter:brightness(0) invert(1)}
.public-site-header .desktop-nav{display:flex;align-items:center;gap:24px;margin:0;padding:0;white-space:nowrap;color:var(--ph-muted);font-size:calc(1rem - var(--ph-adjust));font-weight:400}
/* Large text must fit without shrinking labels or hiding navigation. */
@media(min-width:801px){:root:has(:is(#main,.public-information-page)) .public-site-header .header-inner{flex-wrap:wrap;row-gap:12px;padding-block:12px}:root:has(:is(#main,.public-information-page)) .public-site-header .desktop-nav{flex-wrap:wrap}}
.public-site-header .desktop-nav a:hover{color:var(--ph-ink)}
.public-site-header .header-actions{display:flex;align-items:center;gap:16px;margin-left:auto;padding:0}
:is(.public-site-header,.public-site-drawer) .header-utilities{position:relative;display:grid;grid-template-columns:repeat(3,52px);place-items:center;gap:6px;flex-shrink:0;margin:0;padding:0}
:is(.public-site-header,.public-site-drawer) .utility-button{position:relative;display:grid;place-items:center;width:44px;height:44px;min-width:44px;min-height:44px;padding:0;flex-shrink:0;border:1px solid var(--ph-line);border-radius:50%;background:var(--ph-surface);color:var(--ph-ink)}
:is(.public-site-header,.public-site-drawer) .utility-button:hover{background:var(--ph-elevated);border-color:var(--ph-muted)}
:is(.public-site-header,.public-site-drawer) .utility-button .icon{width:18px;height:18px;stroke-width:2}
:root :is(.public-site-header,.public-site-drawer) .language-menu{position:absolute;top:calc(100% + 12px);left:0;right:auto;z-index:2;display:grid;grid-template-columns:inherit;place-items:center;gap:inherit;width:auto;min-width:0;max-width:none;margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;backdrop-filter:none}
:root :is(.public-site-header,.public-site-drawer) .language-option{display:grid;place-items:center;justify-content:center;text-align:center;width:44px;height:44px;min-width:0;min-height:0;margin:0;padding:0;border:1px solid var(--ph-line);border-radius:50%;background:var(--ph-surface);color:var(--ph-ink);font-size:12px;line-height:1;font-weight:500;white-space:nowrap;animation:public-language-in 180ms var(--ph-ease) both}
:root :is(.public-site-header,.public-site-drawer) .language-option:nth-child(2){animation-delay:60ms}
:root :is(.public-site-header,.public-site-drawer) .language-option:nth-child(3){animation-delay:120ms}
:root :is(.public-site-header,.public-site-drawer) .language-option:hover{background:var(--ph-elevated);border-color:var(--ph-muted)}
:root :is(.public-site-header,.public-site-drawer) .language-option[aria-checked=true]{background:var(--ph-accent);border-color:transparent;color:var(--ph-bg)}
:root :is(.public-site-header,.public-site-drawer) .language-option:focus-visible{outline-offset:3px}
.public-site-header .header-cta{display:flex;align-items:center;flex-shrink:0;gap:12px;min-height:44px;margin:0;padding:9px 18px;border:0;border-radius:30px;background:var(--ph-ink);color:var(--ph-bg);font-size:.875rem;line-height:1.5;font-weight:600;white-space:nowrap}
.public-site-header .header-cta:hover{background:var(--ph-accent)}
.public-site-header .header-cta .icon{width:16px;height:16px}
.public-site-header .menu-toggle{display:none;align-items:center;justify-content:center;flex-shrink:0;width:44px;min-height:44px;padding:0;border:0;background:none;color:var(--ph-ink)}
:is(.public-site-header,.public-site-drawer) .mobile-nav{display:grid;gap:8px;width:min(1280px,calc(100% - 112px));max-width:none;max-height:calc(100svh - 105px);margin:0 auto;padding:0 0 24px;overflow-y:auto;overscroll-behavior:contain}
:is(.public-site-header,.public-site-drawer) .mobile-nav a{min-height:44px;padding:10px 0}
:is(.public-site-header,.public-site-drawer) .mobile-nav .mobile-start{display:none}
:is(.public-site-header,.public-site-drawer) :is(.mobile-home,.menu-mobile-icon){display:none}
.mobile-drawer.public-site-drawer{width:min(288px,calc(100vw - 56px));max-width:none;height:100dvh;max-height:100dvh;inset:0 auto 0 0;margin:0;padding:24px;border:0;border-right:1px solid var(--ph-line);border-radius:0;background:var(--ph-bg);color:var(--ph-ink);overflow-y:auto;overscroll-behavior:contain}
.public-site-drawer::backdrop{background:rgb(0 0 0 / .6)}
.public-site-drawer[open]{animation:public-drawer-in 220ms var(--ph-ease)}
.public-site-drawer .header-utilities{grid-template-columns:repeat(4,44px);justify-content:center;gap:12px;margin-bottom:28px}
.public-site-drawer .utility-button{border:0;background:transparent}
.public-site-drawer .utility-button:hover{background:var(--ph-elevated)}
.public-site-drawer .mobile-home{display:grid}
:is(.public-site-header,.public-site-drawer) .mobile-home img{width:32px;height:32px}
:root .public-site-drawer .language-menu{position:static;grid-column:2/-1;grid-template-columns:repeat(3,44px);gap:12px}
:root .public-site-drawer .language-option{width:44px;height:44px;font-size:10px}
.public-site-drawer .mobile-nav{width:100%;max-height:none;margin:0;padding:0;gap:0;overflow:visible}
.public-site-drawer .mobile-nav>a:not(.mobile-start){display:flex;align-items:center;padding:8px 0;font-size:calc(1rem - var(--ph-adjust));line-height:24px;font-weight:450;letter-spacing:-.5px;color:var(--ph-muted)}
.public-site-drawer .mobile-nav>a:hover{color:var(--ph-ink)}
.public-site-drawer .mobile-nav .mobile-start{margin-top:28px}
html.mobile-menu-open,html.mobile-menu-open body{overflow:hidden}
@keyframes public-language-in{from{opacity:0;transform:translateY(-6px) scale(.7)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes public-drawer-in{from{transform:translateX(-100%)}to{transform:translateX(0)}}
@media(max-width:1100px){.public-site-header .header-inner{width:calc(100% - 64px);gap:24px}.public-site-header .desktop-nav{gap:18px}.public-site-header .header-actions{gap:12px}.public-site-header .mobile-nav{width:calc(100% - 64px)}}
@media(max-width:1040px){.public-site-header .desktop-nav{display:none}.public-site-header .menu-toggle{display:flex}.public-site-header .header-inner{gap:20px}}
@media(max-width:800px){
  .site-header.public-site-header{border-bottom-color:transparent}
  .public-site-header .header-inner{width:calc(100% - 24px);min-height:64px;gap:0;padding-block:10px}
  .public-site-header .wordmark img{width:125px}
  .public-site-header .header-actions{display:none}
  .public-site-header .header-inner>.menu-toggle{margin-left:auto}
  .public-site-header .menu-desktop-icon{display:none}
  .public-site-header .menu-mobile-icon{display:block}
  .public-site-header .menu-mobile-icon .icon{width:16px;height:16px;stroke-width:2}
  :is(.public-site-header,.public-site-drawer) .mobile-nav .mobile-start{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;padding:12px 18px;margin-top:28px;border-radius:28px;background:var(--ph-ink);color:var(--ph-bg);font-size:.875rem;font-weight:600;line-height:1.5}
  :is(.public-site-header,.public-site-drawer) .mobile-start .icon{width:16px;height:16px}
}
@media(prefers-reduced-motion:reduce){:root :is(.public-site-header,.public-site-drawer) .language-option,.public-site-drawer[open]{animation:none}}
