/* K symbol + 칸아카데미, compact teacher campaign, mobile first-entry splash. */
.kh-logo{width:156px}
.kh-header-logo{flex-basis:156px}
.kh-logo--mobile{width:160px}
.kh-logo--footer{width:180px}
@media(min-width:1024px){.kh-header-logo{flex-basis:168px}}
@media(max-width:359px){.kh-header-logo{flex-basis:148px}}

.kh-campaign{background:#19191E;color:#FFFFFF}
.kh-campaign__inner{height:104px;min-height:104px;max-width:1120px;gap:38px;padding:0 32px;justify-content:center}
.kh-campaign__copy{width:auto;max-width:none;min-width:0;flex:0 1 auto}
.kh-campaign__title{margin:0;font-size:clamp(20px,2.25vw,29px);line-height:1.22;font-weight:700;letter-spacing:-.04em;white-space:nowrap;color:#FFFFFF}
.kh-campaign__title>span{display:inline;white-space:nowrap}
.kh-campaign__title>span:first-child{font-size:inherit;font-weight:inherit;margin:0}
.kh-campaign__title strong{margin:0;color:#C4ADFF;font-weight:800}
.kh-campaign__art{position:relative;display:flex;align-items:center;justify-content:center;flex:0 0 185px;width:185px;height:104px;margin:0;right:auto;top:auto;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 9%,#000 93%,transparent)}
.kh-campaign__art img{position:static;display:block;left:auto;top:auto;width:auto;max-width:none;height:104px;object-fit:contain;transform:none;flex:none}
@media(min-width:768px) and (max-width:899px){.kh-campaign__inner{gap:18px;padding-inline:24px}.kh-campaign__art{flex-basis:145px;width:145px}}
@media(max-width:767px){
  .kh-campaign__inner{height:88px;min-height:88px;gap:6px;padding:0 14px;justify-content:space-between}
  .kh-campaign__copy{flex:1;max-width:none}
  .kh-campaign__title{font-size:19px;line-height:1.25;letter-spacing:-.045em}
  .kh-campaign__title>span{display:block}
  .kh-campaign__title>span:first-child{font-size:.84em;margin-bottom:4px}
  .kh-campaign__art{flex-basis:114px;width:114px;height:88px;right:auto;top:auto}
  .kh-campaign__art img{height:88px;width:auto}
}
@media(max-width:359px){
  .kh-campaign__title{font-size:16.25px}
  .kh-campaign__art{flex-basis:104px;width:104px}
}

.kh-mobile-splash{display:none}
@media(max-width:767px){
  .kh-splash-active .kh-mobile-splash:not([hidden]){display:flex;position:fixed;inset:0;z-index:10000;align-items:center;justify-content:center;background:#693BF2;opacity:1;visibility:visible;animation:kh-splash-failsafe 1.8s steps(1,end) forwards!important;touch-action:none;transition:opacity .18s linear}
  .kh-mobile-splash img{display:block;width:100%;height:100%;object-fit:contain;user-select:none;pointer-events:none}
  .kh-splash-active .kh-mobile-splash.is-leaving{opacity:0;pointer-events:none}
}
@keyframes kh-splash-failsafe{0%{visibility:visible}100%{visibility:hidden;pointer-events:none}}
@media(prefers-reduced-motion:reduce){.kh-splash-active .kh-mobile-splash:not([hidden]){transition:none}}
@media(forced-colors:active){.kh-campaign{border-block:1px solid CanvasText}.kh-campaign__title,.kh-campaign__title strong{color:CanvasText}.kh-campaign__art{display:none}}

/* Guide CTA uses the current white card surface, not the retired dark theme. */
.kh-cta-card--buy .kh-cta-title{color:var(--ink)}
.kh-cta-card--buy .kh-cta-desc{color:var(--body)}
.kh-cta-card--buy .kh-cta-eyebrow{color:var(--brand)}
/* Admin-managed notices: plain text only, explicit public/published gate. */
.kh-public-notices{padding:70px 0 90px;min-height:60vh}.kh-public-notices>.kh-container{max-width:1000px}.kh-public-notices-head{margin-bottom:36px}.kh-public-notices-head>p{font-size:11px;letter-spacing:.12em;color:#8a7fa0}.kh-public-notices-head>h1{font-size:32px;line-height:1.5;letter-spacing:-.04em;font-weight:700;margin:10px 0}.kh-public-notices-head>span,.kh-public-notices-head>time{font-size:13px;color:#89909c}.kh-public-notices-list{border-top:1px solid #e5e7ec}.kh-public-notices-list>a{display:grid;grid-template-columns:55px minmax(0,1fr) 95px;align-items:center;gap:15px;border-bottom:1px solid #eeeef3;padding:24px 8px;font-size:14px}.kh-public-notices-list>a>span{font-size:11px;color:#9075b1}.kh-public-notices-list>a>strong{font-weight:550}.kh-public-notices-list>a>time{font-size:11px;color:#a1a6b0}.kh-public-notices-empty{padding:60px 0;text-align:center;color:#a1a6b0;font-size:13px}.kh-public-notice-body{border-block:1px solid #e7e9ee;padding:30px 0;margin-bottom:28px;line-height:1.9;font-size:15px;overflow-wrap:anywhere}.kh-public-notices-pager{display:flex;justify-content:center;gap:20px;margin-top:24px;font-size:13px}@media(max-width:639px){.kh-public-notices{padding:36px 0 60px}.kh-public-notices-head>h1{font-size:25px}.kh-public-notices-list>a{grid-template-columns:40px minmax(0,1fr);padding:20px 0;gap:10px}.kh-public-notices-list>a>time{grid-column:2}.kh-public-notice-body{font-size:14px}}

/* ═══════════ 2026-10-04 모바일 스플래시: 심벌 드로잉 → 로고 정렬 → 글자 등장 (partials/mobile_splash.php) ═══════════
   0.05–0.75s  K 심벌 두 획이 흰 선으로 그려짐(pathLength=1, dashoffset 1→0) / 0.62–0.92s 면 채움
   0.80–1.30s  화면 가운데(1.7배) → 작아지며 왼쪽 로고 자리로 / 1.12s~ '칸아카데미' 5자가 0.06s 간격으로 블러→선명(심벌이 거의 자리 잡은 뒤)
   종료(1.95s 뒤 0.32s 페이드)는 khan-splash-v3.js. 탭하면 즉시 닫힘. */
@media(max-width:767px){
  .kh-splash-active .kh-mobile-splash:not([hidden]){background:radial-gradient(120% 75% at 50% 44%,#7B53F6 0%,#693BF2 46%,#5A2DE2 100%);animation:kh-splash-failsafe 3.2s steps(1,end) forwards!important;transition:opacity .32s ease}
  .kh-splash__logo{display:block;width:min(66vw,270px);height:auto;overflow:visible;transition:transform .32s ease}
  .kh-splash-active .kh-mobile-splash.is-leaving .kh-splash__logo{transform:scale(1.04)}
  .kh-splash__sym{transform-box:fill-box;transform-origin:50% 50%;transform:translateX(215px) scale(1.7);animation:kh-splash-sym .5s cubic-bezier(.65,0,.35,1) .8s forwards}
  .kh-splash__stroke{fill:#fff;fill-opacity:0;stroke:#fff;stroke-width:3;stroke-linejoin:round;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1}
  .kh-splash__bar{animation:kh-splash-draw .42s cubic-bezier(.45,0,.25,1) .05s forwards,kh-splash-fill .3s ease .62s forwards}
  .kh-splash__arrow{animation:kh-splash-draw .55s cubic-bezier(.45,0,.25,1) .2s forwards,kh-splash-fill .3s ease .62s forwards}
  .kh-splash__glyph{fill:#fff;opacity:0;transform:translateX(-14px);filter:blur(5px);animation:kh-splash-glyph .42s cubic-bezier(.2,.7,.2,1) calc(1.12s + var(--i,0) * .06s) forwards}
}
@keyframes kh-splash-draw{to{stroke-dashoffset:0}}
@keyframes kh-splash-fill{to{fill-opacity:1;stroke-opacity:0}}
@keyframes kh-splash-sym{to{transform:translateX(0) scale(1)}}
@keyframes kh-splash-glyph{to{opacity:1;transform:none;filter:blur(0)}}
@media(max-width:767px) and (prefers-reduced-motion:reduce){
  .kh-splash__sym,.kh-splash__stroke,.kh-splash__glyph{animation:none!important}
  .kh-splash__sym{transform:none}
  .kh-splash__stroke{fill-opacity:1;stroke-opacity:0;stroke-dashoffset:0}
  .kh-splash__glyph{opacity:1;transform:none;filter:none}
}
/* 2026-10-04 스플래시 로고 밑 '학원매매 전문 컨설팅': 1.45s 부터 0.5s 동안 아래에서 올라오며 나타남(글자 등장 1.78s 와 겹쳐 이어짐). 종료는 2.4s 로 늘림(khan-splash-v3.js) */
@media(max-width:767px){
  .kh-splash-active .kh-mobile-splash:not([hidden]){flex-direction:column}
  .kh-splash__tagline{margin:20px 0 0;color:rgba(255,255,255,.9);font-family:var(--font-sans,inherit);font-size:15px;line-height:1.4;font-weight:500;letter-spacing:.16em;text-indent:.16em;white-space:nowrap;opacity:0;transform:translateY(8px);animation:kh-splash-tagline .5s cubic-bezier(.2,.7,.2,1) 1.45s forwards;user-select:none;pointer-events:none}
}
@media(min-width:768px){.kh-splash__tagline{display:none}}
@keyframes kh-splash-tagline{to{opacity:1;transform:none}}
@media(max-width:767px) and (prefers-reduced-motion:reduce){.kh-splash__tagline{animation:none!important;opacity:1;transform:none}}

/* 2026-10-04 PC(1024+) 헤더 로고 조금 작게: 168px → 144px (모바일 120px, 태블릿 156px 은 그대로) */
@media(min-width:1024px){.kh-header-logo{flex-basis:144px}}
