.site-header{position:relative;z-index:100;background:#fff;border-bottom:1px solid #edf0f5}.header-main{display:grid;grid-template-columns:205px minmax(0,1fr) auto;align-items:center;gap:8px;height:80px}.brand{display:inline-flex;align-items:center}.brand__logo{display:block;width:190px;height:auto;object-fit:contain}.desktop-navigation{display:flex;align-items:center;justify-content:flex-start;gap:38px;min-width:0}.desktop-navigation a{font-size:14px;font-weight:500;letter-spacing:-.03em;white-space:nowrap;transition:color .18s ease}.desktop-navigation a:hover{color:#1464ee}.header-utilities{display:flex;align-items:center;gap:12px}.utility-button,.login-button{position:relative;display:inline-flex;align-items:center;justify-content:center;height:46px;border:1px solid #e5eaf2;border-radius:13px;background:#fff;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.utility-button{width:52px}.utility-button .icon{width:22px;height:22px;stroke-width:1.8}.login-button{gap:9px;padding:0 16px;font-size:14px;font-weight:600}.login-button .icon{width:20px;height:20px}.utility-button:hover,.login-button:hover{border-color:#cbd8ef;box-shadow:0 7px 18px rgba(26,56,112,.08);transform:translateY(-1px)}.mobile-menu-button{display:none}.mobile-navigation,.mobile-menu-backdrop{display:none}
@media(max-width:1180px){.header-main{grid-template-columns:190px minmax(0,1fr) auto;gap:8px}.brand__logo{width:178px}.desktop-navigation{gap:22px}.desktop-navigation a{font-size:14px}.utility-button{width:46px}.login-button{padding:0 13px}}
@media(max-width:900px){.header-main{display:flex;justify-content:space-between;height:68px}.brand__logo{width:168px}.desktop-navigation,.header-utilities{display:none}.mobile-menu-button{display:grid;place-items:center;width:42px;height:42px;border:1px solid #e5eaf2;border-radius:11px}.mobile-navigation{position:fixed;right:0;top:0;z-index:203;display:block;width:min(86vw,360px);height:100vh;padding:22px;background:#fff;transform:translateX(105%);transition:transform .22s ease}.mobile-navigation.is-open{transform:translateX(0)}.mobile-navigation__head{display:flex;align-items:center;justify-content:space-between}.mobile-navigation__head button{display:grid;place-items:center;width:40px;height:40px}.mobile-navigation nav{display:grid;grid-template-columns:1fr 1fr;margin-top:22px;border-top:1px solid #e5eaf2}.mobile-navigation nav a{padding:15px 4px;border-bottom:1px solid #e5eaf2;font-weight:600}.mobile-menu-backdrop{position:fixed;inset:0;z-index:202;display:block;background:rgba(8,18,38,.44);opacity:0;transition:opacity .2s}.mobile-menu-backdrop.is-open{opacity:1}}
.register-button{display:inline-flex;align-items:center;justify-content:center;height:46px;padding:0 17px;border-radius:13px;background:#26356f;color:#fff;font-size:14px;font-weight:700;white-space:nowrap;transition:transform .18s ease,background .18s ease,box-shadow .18s ease}.register-button:hover{transform:translateY(-1px);background:#1d2a5e;box-shadow:0 8px 20px rgba(38,53,111,.2)}
@media(max-width:1180px){.register-button{padding:0 13px}}

/* rev27: signed-in utility balance */
.utility-button--compact{width:40px;height:40px;border-radius:11px}
.utility-button--compact .icon{width:19px;height:19px}
.mypage-button{display:inline-flex;align-items:center;justify-content:center;height:40px;padding:0 13px;border:1px solid #dbe3f0;border-radius:11px;background:#f8faff;color:#26356f;font-size:13px;font-weight:700;white-space:nowrap;transition:border-color .18s ease,background .18s ease,transform .18s ease}
.mypage-button:hover{border-color:#b9c8e4;background:#f1f5ff;transform:translateY(-1px)}
.user-name{font-size:13px;font-weight:700;white-space:nowrap;color:#25314d}
.logout-form{margin:0}
.logout-button{height:40px;padding:0 10px;border:0;background:transparent;color:#6b7488;font-size:13px;font-weight:600;white-space:nowrap}
.logout-button:hover{color:#26356f}
@media(max-width:1180px){.header-utilities{gap:8px}.utility-button--compact{width:38px;height:38px}.mypage-button{height:38px;padding:0 10px}.user-name{max-width:82px;overflow:hidden;text-overflow:ellipsis}}


/* rev28: compact guest actions; member-only communication controls */
.login-button{height:40px;padding:0 13px;border-radius:11px;gap:7px;font-size:13px}
.login-button .icon{width:18px;height:18px}
.register-button{height:40px;padding:0 14px;border-radius:11px;font-size:13px}
@media(max-width:1180px){.login-button{height:38px;padding:0 11px}.register-button{height:38px;padding:0 12px}}
