.sub-header.public-header{height:78px;padding:0 24px;display:flex;align-items:center;justify-content:flex-start;gap:18px;border-bottom:1px solid #e8dce3;background:#fff;color:#352552;position:relative;z-index:50;font-family:"DM Sans","Noto Sans KR",sans-serif;font-size:16px;line-height:1.3;letter-spacing:0}
.public-header .brand{flex-shrink:0;min-width:0}
.public-header .brand-logo{display:block;width:230px;max-width:22vw;height:auto;max-height:62px;object-fit:contain;object-position:left center}
.public-header .sub-primary-nav{height:100%;display:flex;flex:1 1 auto;min-width:0;align-items:stretch;justify-content:space-around;gap:0;margin:0}
.sub-header.public-header:has(.event-header-clock) .sub-primary-nav{flex:1 1 auto!important;min-width:0;justify-content:space-around;gap:0!important}
.public-header .sub-primary-nav>a{display:flex;align-items:center;justify-content:center;position:relative;padding:0;color:#352552;font-family:"DM Sans","Noto Sans KR",sans-serif;font-size:18px;font-weight:700;line-height:1.3;letter-spacing:0;text-decoration:none;white-space:nowrap}
.public-header .sub-primary-nav>a.active:after{position:absolute;right:0;bottom:0;left:0;height:3px;background:linear-gradient(90deg,#ed746d,#f3c96a);content:""}
.public-header .sub-tools{display:flex;align-items:center;gap:10px;margin-left:auto;font-family:"DM Sans","Noto Sans KR",sans-serif;font-size:11px;font-weight:700;line-height:1.3;letter-spacing:0;white-space:nowrap}
.public-header .sub-tools>a{color:#352552;text-decoration:none}
.public-header .sub-mega-menu{position:absolute;top:100%;right:0;left:0;padding:0 4.5vw;border-top:1px solid rgba(183,61,112,.2);background:#fff7f8;color:#332b40;box-shadow:0 18px 38px rgba(45,24,52,.18);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(8px);transition:opacity .2s ease,transform .2s ease,visibility .2s ease}
.public-header .sub-mega-inner{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));max-width:1760px;margin:0 auto}
.public-header .sub-mega-column{min-height:235px;padding:26px 24px 30px;border-left:1px solid rgba(183,61,112,.18)}
.public-header .sub-mega-column:last-child{border-right:1px solid rgba(183,61,112,.18)}
.public-header .sub-mega-column strong{display:block;margin-bottom:16px;color:#b73d70;font-size:16px;line-height:1.35}
.public-header .sub-mega-column a{display:block;padding:7px 0;color:#332b40;text-decoration:none;font-size:15px;font-weight:600;line-height:1.35}
.public-header .sub-mega-column a:hover,.public-header .sub-mega-column a.active{color:#b73d70}
.public-header .sub-primary-nav:hover~.sub-mega-menu,.public-header .sub-primary-nav:focus-within~.sub-mega-menu,.public-header .sub-mega-menu:hover,.public-header .sub-mega-menu:focus-within{opacity:1;visibility:visible;pointer-events:auto;transform:none}
.public-header .public-menu-btn{display:none;width:34px;padding:0;border:0;background:none}
.public-header .public-menu-btn span{display:block;height:2px;margin:7px 0;background:#352552}
.public-mobile-menu{position:fixed;z-index:100;inset:0;padding:28px 6vw;overflow:auto;background:#211b42;color:#fff;transform:translateX(100%);visibility:hidden;transition:transform .35s ease,visibility .35s ease}
.public-mobile-menu.open{transform:none;visibility:visible}
.public-mobile-menu .mobile-menu-head{display:flex;align-items:center;justify-content:space-between;padding-bottom:25px}
.public-mobile-menu .mobile-menu-head b{font-size:22px}
.public-mobile-menu .menu-close{padding:7px 0;border:0;background:none;color:#fff;font:inherit;cursor:pointer}
.public-mobile-menu details{padding:18px 0;border-top:1px solid rgba(255,255,255,.14)}
.public-mobile-menu summary{font-size:20px;font-weight:600;cursor:pointer}
.public-mobile-menu details a{display:block;padding:9px 20px;color:#c9bed4;text-decoration:none}
.public-mobile-menu .mobile-actions{display:flex;gap:12px;margin-top:25px}
.public-mobile-menu .mobile-actions a{padding:13px 20px;border:1px solid #fff;color:#fff;text-decoration:none}
@media(max-width:1000px){.public-header .sub-primary-nav,.public-header .sub-mega-menu{display:none}.public-header .public-menu-btn{display:block}}
@media(max-width:700px){.sub-header.public-header{padding:0 20px}.public-header .brand-logo{width:190px;max-width:calc(100vw - 145px)}.public-header .sub-tools{gap:10px}.public-header .sub-tools>a:last-of-type{display:none}}
