:root{
  --ink:#1f2a44; --ink-soft:#48526b; --paper:#fdfcf7;
  --sky:#3a86d4; --sky-deep:#205a9e;
  --sun:#ffb627; --sun-deep:#f08a24;
  --mint:#34c0a0; --mint-deep:#1f9d80; --coral:#ff6b6b;
  --line:#e6e1d3; --shadow:0 14px 40px -18px rgba(31,42,68,.35);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Pretendard',sans-serif;color:var(--ink);background:var(--paper);line-height:1.7;-webkit-font-smoothing:antialiased;word-break:keep-all;overflow-wrap:break-word}
p,li,h1,h2,h3,h4,span,div,label,button,a,td,th{word-break:keep-all;overflow-wrap:break-word}
h1,h2,h3,.disp{font-family:'Pretendard',sans-serif;font-weight:800;letter-spacing:-.02em}
.wrap{max-width:1140px;margin:0 auto;padding:0 22px}
a{color:inherit;text-decoration:none}
img{max-width:100%}

/* 스·마·일 강조 */
.acr{font-family:'Pretendard';font-weight:800;color:var(--sun-deep)}
.acr.s,.acr.m,.acr.i{color:var(--sun-deep)}
.foot-acr{font-family:'Pretendard';font-weight:800;color:var(--sun)} .foot-acr.s,.foot-acr.m,.foot-acr.i{color:var(--sun)}

/* nav */
.nav{position:sticky;top:0;z-index:50;background:rgba(253,252,247,.88);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;height:74px;position:relative}
.brand{display:flex;align-items:center;gap:2px;font-family:'Pretendard';font-weight:700;font-size:1.2rem;color:var(--sky-deep)}
.brand .dot{width:30px;height:30px;border-radius:50%;background:var(--sun);display:grid;place-items:center;font-size:1rem;box-shadow:inset 0 -4px 0 rgba(0,0,0,.08)}
.navlinks{display:flex;gap:22px;align-items:center}
.navlinks a{font-size:.93rem;color:var(--ink-soft);transition:color .2s}
.navlinks a:hover{color:var(--sky)}
.btn{display:inline-flex;align-items:center;gap:8px;justify-content:center;font-family:'Pretendard';font-weight:700;border:none;cursor:pointer;border-radius:999px;padding:11px 22px;font-size:1rem;background:var(--sky);color:#fff;transition:transform .15s,box-shadow .2s;box-shadow:0 8px 18px -8px var(--sky)}
.btn:hover{transform:translateY(-2px);box-shadow:0 12px 22px -8px var(--sky)}
.btn.sun{background:var(--sun-deep);box-shadow:0 8px 18px -8px var(--sun-deep)}
.btn.sun:hover{box-shadow:0 12px 22px -8px var(--sun-deep)}
.btn.ghost{background:#fff;color:var(--sky-deep);border:2px solid var(--sky)}
.btn.lg{padding:14px 30px;font-size:1.08rem}
.btn.block{width:100%}
.btn.succ-btn{width:100%;margin:0}
/* 햄버거 버튼 */
.nav-toggle{display:none;align-items:center;justify-content:center;width:44px;height:44px;border:none;background:transparent;cursor:pointer;border-radius:12px;transition:background .2s;-webkit-tap-highlight-color:transparent}
.nav-toggle:hover{background:rgba(58,134,212,.1)}
.nav-toggle span{display:block;width:24px;height:2.4px;border-radius:3px;background:var(--sky-deep);transition:transform .3s cubic-bezier(.4,.1,.2,1),opacity .18s ease;position:relative;transform-origin:center}
.nav-toggle span+span{margin-top:6px}
.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(4.2px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] span:nth-child(2){transform:translateY(-4.2px) rotate(-45deg)}

@media(max-width:860px){
  .nav-toggle{display:inline-flex}
  .navlinks{position:absolute;top:74px;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;background:rgba(253,252,247,.98);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);box-shadow:var(--shadow);padding:8px 22px 18px;
    max-height:0;overflow:hidden;opacity:0;visibility:hidden;transition:max-height .3s ease,opacity .25s ease,padding .3s ease,visibility .25s}
  .navlinks.open{max-height:80vh;opacity:1;visibility:visible}
  .navlinks a{padding:13px 4px;font-size:1rem;border-bottom:1px solid var(--line)}
  .navlinks a:last-child{border-bottom:none}
  .navlinks a.btn{margin-top:12px;padding:13px 22px;border-bottom:none}
}

/* === 탭 페이지 전환 === */
.page-sec{display:none}
.page-sec.active{display:block}
/* 활성 탭이 나타날 때 직속 자식들이 순차적으로 떠오름 (계단식 등장) */
.page-sec.active > *{animation:secReveal .5s cubic-bezier(.22,.7,.28,1) both}
.page-sec.active > *:nth-child(1){animation-delay:.02s}
.page-sec.active > *:nth-child(2){animation-delay:.10s}
.page-sec.active > *:nth-child(3){animation-delay:.18s}
.page-sec.active > *:nth-child(4){animation-delay:.26s}
.page-sec.active > *:nth-child(5){animation-delay:.34s}
.page-sec.active > *:nth-child(n+6){animation-delay:.40s}
@keyframes secReveal{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.page-sec.active > *{animation:none}}
/* 현재 탭 표시 */
.navlinks a.is-active{color:var(--sky);position:relative}
.navlinks a.is-active::after{content:"";position:absolute;left:0;right:0;bottom:-21px;height:3px;border-radius:3px;background:var(--sky)}
@media(max-width:860px){
  .navlinks a.is-active::after{left:auto;right:0;bottom:auto;top:50%;transform:translateY(-50%);width:7px;height:7px;border-radius:50%}
  .navlinks a.is-active{padding-right:18px}
}
/* 페이지 상단 제목 영역(소개 외 페이지) */
.page-banner{display:none;align-items:center;gap:14px;margin-bottom:30px;padding-bottom:24px;border-bottom:1px solid var(--line)}
.page-banner.active{display:flex}
.page-banner .pb-logo{height:48px;width:auto;filter:drop-shadow(0 3px 8px rgba(31,42,68,.18))}
.page-banner h2{font-size:clamp(1.5rem,3vw,2rem);color:var(--ink)}
.page-banner .crumb{font-family:'Pretendard';font-weight:700;color:var(--sun-deep);font-size:.85rem;letter-spacing:.04em;display:block;margin-bottom:2px}

/* hero (소개 페이지 좌측 인트로 — 로고+제목 가로 배치) */
.hero-intro{position:relative;display:flex;align-items:center;gap:26px;margin-bottom:36px;padding-bottom:30px;border-bottom:1px solid var(--line)}
.hero-logo{flex:none;width:clamp(120px,15vw,168px);height:auto;filter:drop-shadow(0 12px 26px rgba(31,42,68,.2));animation:logoFloat 5s ease-in-out infinite}
@keyframes logoFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
@media(prefers-reduced-motion:reduce){.hero-logo{animation:none}}
.hero-copy{min-width:0}
.eyebrow{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);padding:6px 14px;border-radius:999px;font-size:.82rem;color:var(--sky-deep);box-shadow:var(--shadow);margin-bottom:13px}
.eyebrow b{font-family:'Pretendard';font-weight:700;color:var(--sun-deep)}
.hero-intro h1{font-size:clamp(1.7rem,3.1vw,2.4rem);line-height:1.22;color:#b8b8b0}
.hero-intro h1 .hl{position:relative;color:#34406b;white-space:nowrap}
.hero-intro h1 .hl::after{content:"";position:absolute;left:-3%;right:-3%;bottom:3%;height:34%;background:var(--sun);opacity:.9;z-index:-1;border-radius:5px}
.hero-intro p.sub{font-size:1rem;color:var(--ink-soft);margin:13px 0 0;max-width:620px}
@media(max-width:560px){
  .hero-intro{flex-direction:column;align-items:flex-start;gap:14px}
  .hero-logo{width:108px}
}

/* ===== 2-COLUMN LAYOUT ===== */
.layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:40px;align-items:start;padding:34px 0 70px}
.main-col{min-width:0}
.side-col{position:sticky;top:80px}

/* sections in main column */
.block{margin-bottom:54px;scroll-margin-top:80px}
.block:last-child{margin-bottom:0}
.sec-tag{font-family:'Pretendard';font-weight:700;color:var(--sun-deep);font-size:.92rem;letter-spacing:.04em}
.sec-head h2{font-size:clamp(1.5rem,3vw,2rem);margin:5px 0 10px;color:var(--ink)}
.sec-head p{color:var(--ink-soft);margin-bottom:24px;max-width:600px}

.feat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.feat{background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px;transition:transform .2s,box-shadow .2s;cursor:pointer}
.feat:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.feat .ic{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;font-size:1.35rem;margin-bottom:11px}
.feat:nth-child(4n+1) .ic{background:rgba(58,134,212,.13)}
.feat:nth-child(4n+2) .ic{background:rgba(255,182,39,.18)}
.feat:nth-child(4n+3) .ic{background:rgba(52,192,160,.15)}
.feat:nth-child(4n) .ic{background:rgba(255,107,107,.13)}
.feat h3{font-size:1.08rem;margin-bottom:5px}
.feat p{font-size:.9rem;color:var(--ink-soft)}
/* 커리큘럼 → 소개로 돌아가기 링크 */
.back-link{display:inline-flex;align-items:center;gap:6px;font-size:.9rem;font-weight:700;color:var(--sky);background:rgba(11,94,215,.08);border:1px solid rgba(11,94,215,.16);border-radius:999px;padding:8px 16px;margin-bottom:18px;cursor:pointer;transition:background .18s,transform .15s,box-shadow .2s;text-decoration:none}
.back-link:hover{background:rgba(11,94,215,.14);transform:translateX(-3px);box-shadow:0 8px 18px -12px var(--sky)}
.back-link-wrap{margin:8px 0 34px;text-align:center;display:none}
.back-link-wrap.active{display:block}

.info-box{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:var(--shadow)}
.info-row{display:flex;border-bottom:1px solid var(--line)}
.info-row:last-child{border-bottom:none}
.info-row .k{flex:0 0 124px;background:var(--paper);padding:13px 16px;font-family:'Pretendard';font-weight:700;color:var(--sky-deep);font-size:.92rem}
.info-row .v{padding:13px 16px;font-size:.92rem}
.free-badge{display:inline-block;background:var(--mint);color:#fff;font-family:'Pretendard';font-weight:700;padding:2px 13px;border-radius:999px;font-size:.86rem}
.note{margin-top:16px;background:rgba(58,134,212,.06);border:1px dashed var(--sky);border-radius:14px;padding:18px;color:var(--ink-soft);font-size:.9rem}
.note h3{font-size:1rem;color:var(--sky-deep);margin-bottom:7px}

.cohort-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.cohort{background:#fff;border:2px solid var(--line);border-radius:16px;padding:20px 18px;transition:border-color .2s,transform .2s}
.cohort:hover{border-color:var(--sky);transform:translateY(-3px)}
.cohort .tag{display:inline-block;font-family:'Pretendard';font-weight:700;font-size:.76rem;padding:3px 11px;border-radius:999px;margin-bottom:10px}
.cohort.w .tag{background:rgba(255,182,39,.2);color:var(--sun-deep)}
.cohort.d .tag{background:rgba(58,134,212,.14);color:var(--sky-deep)}
.cohort h3{font-size:1.12rem;margin-bottom:3px}
.cohort .when{color:var(--ink-soft);font-size:.86rem;margin-bottom:13px}
.cohort .cap{font-family:'Pretendard';font-weight:700;color:var(--ink);font-size:.9rem}
.cohort .cap b{font-size:1.5rem;color:var(--sky-deep)}
.cohort .bar{position:relative;height:7px;border-radius:999px;background:linear-gradient(90deg,var(--sky-deep),var(--sky) 45%,var(--mint));margin:10px 0 5px;overflow:hidden}
.cohort .bar span{position:absolute;top:0;right:0;bottom:0;background:var(--line)}
.cohort .left{font-size:.8rem;color:var(--ink-soft)}
.cohort .pick{margin-top:13px;width:100%;font-size:.9rem;padding:9px}
.cohort .pick.wait{background:var(--sun-deep);box-shadow:0 8px 18px -8px var(--sun-deep)}
.cohort .pick.wait:hover{box-shadow:0 12px 22px -8px var(--sun-deep)}
.cohort.is-full{border-color:var(--sun)}
.cohort .cap.full-cap b{color:var(--coral)}

.days{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.day{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:var(--shadow)}
.day .top{padding:15px 17px;color:#fff;font-family:'Pretendard';font-weight:700}
.day:nth-child(1) .top{background:linear-gradient(120deg,var(--sky),var(--sky-deep))}
.day:nth-child(2) .top{background:linear-gradient(120deg,var(--sun),var(--sun-deep))}
.day:nth-child(3) .top{background:linear-gradient(120deg,var(--mint),var(--mint-deep))}
.day .top .d{font-size:.76rem;opacity:.9}
.day .top .t{font-size:1.05rem;margin-top:2px}
.day ul{list-style:none;padding:15px 17px}
.day ul li{position:relative;padding:6px 0 6px 20px;font-size:.86rem;color:var(--ink-soft);border-bottom:1px dashed var(--line)}
.day ul li:last-child{border-bottom:none}
.day ul li::before{content:"";position:absolute;left:2px;top:13px;width:7px;height:7px;border-radius:50%;background:var(--sun)}

.eff-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.eff{display:flex;gap:12px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px}
.eff .n{flex:0 0 36px;height:36px;border-radius:10px;background:rgba(255,182,39,.18);display:grid;place-items:center;font-family:'Pretendard';font-weight:700;color:var(--sun-deep)}
.eff p{font-size:.9rem;color:var(--ink-soft)}

/* 일자별 세부 일정표 */
.sched{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.sched-day{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:var(--shadow)}
.sched-day .sd-head{padding:13px 16px;color:#fff;font-family:'Pretendard';font-weight:700;display:flex;align-items:baseline;gap:8px}
.sched-day:nth-child(1) .sd-head{background:linear-gradient(120deg,var(--sky),var(--sky-deep))}
.sched-day:nth-child(2) .sd-head{background:linear-gradient(120deg,var(--sun),var(--sun-deep))}
.sched-day:nth-child(3) .sd-head{background:linear-gradient(120deg,var(--mint),var(--mint-deep))}
.sched-day .sd-head .sd-d{font-size:1rem}
.sched-day .sd-head .sd-t{font-size:.78rem;opacity:.92;font-weight:600}
.sched-row{display:flex;gap:10px;padding:10px 16px;border-bottom:1px dashed var(--line);font-size:.84rem;align-items:flex-start}
.sched-row:last-child{border-bottom:none}
.sched-row .sr-time{flex:0 0 84px;font-family:'Pretendard';font-weight:700;color:var(--sky-deep);font-variant-numeric:tabular-nums;padding-top:1px}
.sched-row .sr-body{min-width:0}
.sched-row .sr-body .sr-item{font-family:'Pretendard';font-weight:700;color:var(--ink);display:block}
.sched-row .sr-body .sr-desc{display:block;margin-top:2px;color:var(--ink-soft);font-size:.78rem;line-height:1.4}
.sched-row.is-switch{background:rgba(255,182,39,.1)}
.sched-row.is-switch .sr-item{color:var(--sun-deep)}

.faq-item{background:#fff;border:1px solid var(--line);border-radius:13px;margin-bottom:10px;overflow:hidden}
.faq-q{padding:15px 18px;font-family:'Pretendard';font-weight:700;cursor:pointer;display:flex;justify-content:space-between;align-items:center;font-size:.98rem;gap:12px}
.faq-q .arr{transition:transform .25s;color:var(--sky)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .3s ease;color:var(--ink-soft);font-size:.9rem}
.faq-a div{padding:0 18px 16px}
.faq-item.open .faq-a{max-height:260px}
.faq-item.open .arr{transform:rotate(180deg)}

/* ===== SIDE APPLY PANEL ===== */
.apply-panel{background:#fff;border:1.5px solid var(--sky);border-radius:20px;box-shadow:var(--shadow);overflow:hidden}
.apply-panel.flash{animation:applyFlash 1.1s cubic-bezier(.22,.9,.3,1)}
@keyframes applyFlash{
  0%{transform:scale(1);box-shadow:0 0 0 0 rgba(11,94,215,.4),var(--shadow)}
  18%{transform:scale(1.012);box-shadow:0 0 0 4px rgba(11,94,215,.2),0 22px 52px -30px rgba(11,94,215,.5)}
  40%{transform:scale(.998);box-shadow:0 0 0 10px rgba(11,94,215,0),var(--shadow)}
  100%{transform:scale(1);box-shadow:var(--shadow)}
}
@media(prefers-reduced-motion:reduce){.apply-panel.flash{animation:none}}
.apply-panel .ph{background:linear-gradient(135deg,var(--sky),var(--sky-deep));color:#fff;padding:18px 20px;position:relative;overflow:hidden}
.apply-panel.flash .ph::after{content:"";position:absolute;top:0;left:-60%;width:55%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.45),transparent);transform:skewX(-18deg);animation:phSheen .9s ease .08s}
@keyframes phSheen{from{left:-60%}to{left:130%}}
@media(prefers-reduced-motion:reduce){.apply-panel.flash .ph::after{animation:none;display:none}}
.apply-panel .ph .free{display:inline-block;background:var(--mint);color:#fff;font-family:'Pretendard';font-weight:700;font-size:.78rem;padding:3px 12px;border-radius:999px;margin-bottom:8px}
.apply-panel .ph h3{font-size:1.25rem}
.apply-panel .ph p{font-size:.85rem;opacity:.92;margin-top:3px}
.panel-quick{padding:14px 20px;border-bottom:1px solid var(--line)}
.panel-quick .q{display:flex;align-items:center;gap:9px;font-size:.86rem;color:var(--ink-soft);padding:4px 0}
.panel-quick .q .qi{font-size:1.05rem}
.panel-body{padding:18px 20px}

/* stepper */
.steps-head{display:flex;align-items:center;margin-bottom:6px}
.step-cell{flex:1;display:flex;justify-content:center;align-items:center;position:relative}
.step-dot{width:26px;height:26px;border-radius:50%;background:#f1efe8;color:#9a988f;font-family:'Pretendard';font-weight:700;font-size:.8rem;display:grid;place-items:center;flex:0 0 auto;position:relative;z-index:1;transition:all .25s}
.step-dot.done{background:var(--mint);color:#fff}
.step-dot.active{background:var(--sky);color:#fff}
.step-cell .step-line{position:absolute;top:50%;left:50%;width:100%;height:3px;transform:translateY(-50%);background:var(--line);border-radius:2px;z-index:0;transition:background .25s}
.step-cell:last-child .step-line{display:none}
.step-line.done{background:var(--mint)}
.steps-label{display:flex;font-size:.7rem;color:var(--ink-soft);margin-bottom:16px}
.steps-label span{flex:1;text-align:center}
.steps-label span.active{color:var(--sky);font-family:'Pretendard';font-weight:700}

.cohort-badge{display:flex;align-items:center;gap:8px;background:var(--sky-soft,#eaf3fc);border:1px solid #cfe3f7;border-radius:12px;padding:9px 13px;margin-bottom:16px}
.cohort-badge .cb-mark{font-size:1.05rem;line-height:1}
.cohort-badge .cb-label{font-size:.76rem;color:var(--ink-soft)}
.cohort-badge b{margin-left:auto;font-family:'Pretendard';font-weight:700;font-size:.92rem;color:var(--sky-deep)}

.step-title{font-family:'Pretendard';font-weight:700;font-size:1.08rem;margin-bottom:14px;color:var(--ink)}
.fg{margin-bottom:13px}
.fg label{display:block;font-family:'Pretendard';font-weight:700;font-size:.86rem;margin-bottom:5px;color:var(--ink)}
.fg label .req{color:var(--coral)}
.fg input,.fg select,.fg textarea{width:100%;font-family:inherit;font-size:.95rem;color:var(--ink);border:1.5px solid var(--line);border-radius:11px;padding:10px 12px;background:var(--paper);transition:border-color .2s,background .2s}
.fg input:focus,.fg select:focus,.fg textarea:focus{outline:none;border-color:var(--sky);background:#fff}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:11px}
/* 주소 검색 + 증빙 업로드 */
.addr-row{display:flex;gap:8px}
.addr-row #f_zonecode{flex:1;min-width:0}
.addr-btn{flex:0 0 auto;padding:10px 16px!important;font-size:.9rem!important;white-space:nowrap;box-shadow:none!important}
.file-drop{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center;border:1.6px dashed var(--sky);border-radius:12px;padding:18px 14px;background:rgba(58,134,212,.05);cursor:pointer;transition:background .15s,border-color .15s}
.file-drop:hover{background:rgba(58,134,212,.1)}
.file-drop.has-file{border-style:solid;border-color:var(--mint-deep);background:rgba(52,192,160,.08)}
.file-drop .fd-ic{font-size:1.5rem;line-height:1}
.file-drop .fd-txt{font-size:.84rem;color:var(--ink-soft);font-weight:600;line-height:1.5}
.file-drop.has-file .fd-txt{color:var(--mint-deep)}
.fd-note{font-size:.72rem;color:#9aa3b2;margin-top:6px;line-height:1.5}
/* 신청내역 조회 */
.lookup-wrap{max-width:460px;margin:0 auto}
.lookup-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px;box-shadow:var(--shadow)}
.lookup-result{margin-top:18px;display:flex;flex-direction:column;gap:10px}
.lu-item{border:1px solid var(--line);border-radius:12px;padding:14px;background:var(--paper)}
.lu-top{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:6px}
.lu-cohort{font-family:'Pretendard';font-weight:800;color:var(--ink)}
.lu-meta{font-size:.82rem;color:var(--ink-soft)}
.status-badge{font-family:'Pretendard';font-weight:800;font-size:.8rem;padding:4px 12px;border-radius:999px;white-space:nowrap}
.status-badge.pending{background:rgba(255,182,39,.16);color:#b46b00}
.status-badge.confirmed{background:rgba(52,192,160,.16);color:var(--mint-deep)}
.status-badge.rejected{background:rgba(255,107,107,.16);color:#c0392b}
.status-badge.wait{background:rgba(58,134,212,.14);color:var(--sky-deep)}
.cohort-pick{display:grid;gap:9px}
.cohort-pick label{border:1.5px solid var(--line);border-radius:12px;padding:12px 14px;cursor:pointer;transition:all .15s;margin:0;display:flex;align-items:center;gap:12px}
.cohort-pick input{display:none}
.cohort-pick label:has(input:checked){border-color:var(--sky);background:rgba(58,134,212,.07)}
.cohort-pick .cdot{width:18px;height:18px;border-radius:50%;border:2px solid var(--line);flex:0 0 auto;transition:all .15s}
.cohort-pick label:has(input:checked) .cdot{border-color:var(--sky);background:var(--sky);box-shadow:inset 0 0 0 3px #fff}
.cohort-pick .cn{font-family:'Pretendard';font-weight:700;font-size:.95rem;display:block}
.cohort-pick .cw{font-size:.78rem;color:var(--ink-soft)}
.cohort-pick .cl{margin-left:auto;font-size:.78rem;color:var(--mint-deep);font-family:'Pretendard';font-weight:700}
.cohort-pick label.waitlist .cl{color:var(--sun-deep)}
.cohort-pick label.waitlist:has(input:checked){border-color:var(--sun);background:rgba(255,182,39,.1)}
.cohort-pick label.waitlist:has(input:checked) .cdot{border-color:var(--sun);background:var(--sun)}

.consent{display:flex;gap:9px;align-items:flex-start;background:var(--paper);border:1px solid var(--line);border-radius:11px;padding:12px;margin-bottom:10px}
.consent-all{background:#fff;border:1.5px solid var(--sky);align-items:center}
.consent-divider{border-top:1px dashed var(--line);margin:2px 0 12px}
.consent input{width:19px;height:19px;flex:0 0 auto;margin-top:2px;accent-color:var(--sky)}
.consent label{font-family:'Pretendard';font-size:.84rem;color:var(--ink-soft);margin:0;font-weight:normal;line-height:1.55}
.consent label a{color:var(--sky);text-decoration:underline;cursor:pointer}
.review{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:14px;font-size:.86rem;margin-bottom:14px}
.review .rr{display:flex;justify-content:space-between;gap:12px;padding:4px 0;border-bottom:1px dashed var(--line)}
.review .rr:last-child{border-bottom:none}
.review .rr .rk{color:var(--ink-soft);flex:0 0 auto}
.review .rr .rv{font-family:'Pretendard';font-weight:700;color:var(--ink);text-align:right}

.step-nav{display:flex;gap:9px;margin-top:6px}
.step-nav .btn{flex:1;padding:11px;font-size:.95rem}
.step-nav .btn.back{flex:0 0 84px;background:#fff;color:var(--sky-deep);border:2px solid var(--sky);box-shadow:none}
.form-err{display:none;background:rgba(255,107,107,.12);color:#c0392b;border:1px solid var(--coral);border-radius:10px;padding:10px 12px;font-size:.84rem;margin-bottom:12px}
.form-err.show{display:block}
.step-pane{display:none}
.step-pane.active{display:block;animation:fade .25s ease}
@keyframes fade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}

.success{text-align:center;padding:12px 4px}
.success .check{width:70px;height:70px;border-radius:50%;background:var(--mint);display:grid;place-items:center;margin:0 auto 14px;font-size:2rem;color:#fff;animation:pop .4s ease}
@keyframes pop{0%{transform:scale(0)}70%{transform:scale(1.15)}100%{transform:scale(1)}}
.success h3{font-size:1.3rem;margin-bottom:6px}
.success p{color:var(--ink-soft);font-size:.92rem}
.success .ref{display:inline-block;margin-top:12px;font-family:'Pretendard';font-weight:700;background:var(--paper);border:1px dashed var(--sky);padding:7px 16px;border-radius:999px;color:var(--sky-deep);font-size:.9rem}

/* mobile sticky bar */
.mobile-bar{display:none}
@media(max-width:920px){
  .layout{grid-template-columns:1fr;gap:0;padding-bottom:96px}
  .side-col{position:static;margin-top:46px}
  .mobile-bar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:60;background:#fff;border-top:1px solid var(--line);box-shadow:0 -8px 20px -12px rgba(0,0,0,.25);padding:10px 16px;align-items:center;gap:12px}
  .mobile-bar .mb-info{line-height:1.15}
  .mobile-bar .mb-info .f{font-family:'Pretendard';font-weight:700;font-size:.78rem;color:var(--mint-deep)}
  .mobile-bar .mb-info .d{font-size:.72rem;color:var(--ink-soft)}
  .mobile-bar .btn{flex:1}
}
@media(max-width:780px) and (min-width:561px){
  .days,.sched,.cohort-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:560px){
  .feat-grid,.cohort-grid,.days,.eff-grid,.frow,.sched{grid-template-columns:1fr}
}


/* === 로고 === */
.brand-logo{height:52px;width:auto;display:block;filter:drop-shadow(0 2px 6px rgba(31,42,68,.18))}
.brand{gap:2px}
.brand-text{display:flex;flex-direction:column;line-height:1}
.brand-text .bt-ko{font-size:1.2rem;font-weight:700;color:var(--sky-deep)}
.brand-text .bt-en{font-family:'Pretendard';font-weight:700;font-size:.62rem;letter-spacing:.22em;color:var(--sun-deep);margin-top:3px}

.foot-logo{height:62px;width:auto;margin-bottom:14px;filter:drop-shadow(0 4px 10px rgba(0,0,0,.3))}

/* footer */
footer{background:var(--ink);color:rgba(255,255,255,.8);padding:46px 0 28px}
.foot-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:30px;margin-bottom:26px}
footer h4{font-family:'Pretendard';font-weight:700;color:#fff;margin-bottom:11px;font-size:1.05rem}
footer p,footer a{font-size:.88rem;line-height:1.85;display:block;color:rgba(255,255,255,.7)}
.foot-bottom{border-top:1px solid rgba(255,255,255,.15);padding-top:18px;font-size:.8rem;color:rgba(255,255,255,.5);display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px}
.admin-link{cursor:pointer;text-decoration:underline;white-space:nowrap;display:inline}
.foot-bottom>span{white-space:nowrap!important;word-break:normal!important}
@media(max-width:680px){.foot-grid{grid-template-columns:1fr}}

/* modal */
.modal{display:none;position:fixed;inset:0;z-index:100;background:rgba(31,42,68,.55);backdrop-filter:blur(4px);padding:30px 16px;overflow-y:auto}
.modal.show{display:block}
.modal-card{max-width:960px;margin:0 auto;background:#fff;border-radius:18px;box-shadow:0 30px 80px -20px rgba(0,0,0,.5);overflow:hidden}
.modal-head{display:flex;justify-content:space-between;align-items:center;padding:18px 24px;border-bottom:1px solid var(--line)}
.modal-head h3{font-size:1.2rem;color:var(--sky-deep)}
.modal-close{background:var(--paper);border:1px solid var(--line);border-radius:10px;width:36px;height:36px;cursor:pointer;font-size:1.1rem;color:var(--ink-soft)}
.modal-body{padding:24px;max-height:70vh;overflow-y:auto}
.admin-actions{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:16px}
.admin-actions .btn{font-size:.88rem;padding:9px 16px}
.btn.mint{background:var(--mint);box-shadow:0 8px 18px -8px var(--mint)}
.btn.sky{background:var(--sky);box-shadow:0 8px 18px -8px var(--sky)}
.btn.red{background:var(--coral);box-shadow:0 8px 18px -8px var(--coral)}
.admin-stat{display:flex;gap:12px;margin-bottom:16px;flex-wrap:wrap}
.stat{background:var(--paper);border:1px solid var(--line);border-radius:11px;padding:11px 16px;font-size:.82rem;color:var(--ink-soft)}
.stat b{display:block;font-family:'Pretendard';font-weight:700;font-size:1.3rem;color:var(--sky-deep)}
.tbl-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:11px}
table.data{width:100%;border-collapse:collapse;font-size:.82rem;white-space:nowrap}
table.data th{background:var(--paper);font-family:'Pretendard';font-weight:700;color:var(--sky-deep);padding:10px 11px;text-align:left;border-bottom:2px solid var(--line);position:sticky;top:0}
table.data td{padding:9px 11px;border-bottom:1px solid var(--line)}
table.data tr:hover td{background:rgba(58,134,212,.04)}
.del-row{cursor:pointer;color:var(--coral);font-family:'Pretendard';font-weight:700}
.empty-state{text-align:center;padding:46px 20px;color:var(--ink-soft)}
.empty-state .ic{font-size:2.6rem;display:block;margin-bottom:10px}
.legal{font-size:.88rem;color:var(--ink-soft)}
.legal h4{font-family:'Pretendard';font-weight:700;color:var(--ink);margin:14px 0 6px;font-size:.98rem}
.legal table{width:100%;border-collapse:collapse;margin:9px 0;font-size:.84rem}
.legal table td,.legal table th{border:1px solid var(--line);padding:8px 10px;text-align:left}
.legal table th{background:var(--paper);font-family:'Pretendard';font-weight:700}


/* =========================================================
   UI REFRESH: 첨부 시안 느낌 적용 (기존 HTML/레이아웃 유지)
   ========================================================= */
:root{
  --ink:#061735;
  --ink-soft:#4b5d7a;
  --paper:#f6fbff;
  --sky:#0b5ed7;
  --sky-deep:#003f9e;
  --sun:#8fbaff;
  --sun-deep:#0b5ed7;
  --mint:#26c6bc;
  --mint-deep:#10a7a1;
  --coral:#ff6b6b;
  --line:#dce9f7;
  --shadow:0 18px 48px -22px rgba(0,63,158,.30);
}
body{
  background:
    radial-gradient(circle at 88% 4%, rgba(11,94,215,.13) 0 155px, transparent 156px),
    linear-gradient(180deg,#ffffff 0%,#f5fbff 42%,#ffffff 100%);
  color:var(--ink);
}
.wrap{max-width:1160px}
.nav{background:rgba(255,255,255,.92);border-bottom:1px solid rgba(0,63,158,.10);box-shadow:0 5px 22px rgba(6,23,53,.05)}
.nav .wrap{height:78px}
.brand-logo{height:56px;filter:none}
.brand-text .bt-ko{font-size:1.18rem;color:var(--sky-deep);letter-spacing:-.03em}
.brand-text .bt-en{display:none}
.navlinks{gap:30px}
.navlinks a{color:#102243;font-weight:700;font-size:.9rem}
.navlinks a:hover,.navlinks a.is-active{color:var(--sky)}
.navlinks a.is-active::after{background:var(--sky);bottom:-24px}
.btn{border-radius:12px;background:linear-gradient(135deg,#0b63df,#0048b8);box-shadow:0 12px 24px -14px rgba(11,94,215,.65);font-weight:800;letter-spacing:-.02em}
.btn.sun{background:linear-gradient(135deg,#0b63df,#0048b8);box-shadow:0 12px 24px -14px rgba(11,94,215,.65)}
.btn.ghost{background:#fff;color:var(--sky);border:1.5px solid var(--sky);box-shadow:0 10px 20px -18px rgba(11,94,215,.55)}
.layout{gap:42px;padding-top:44px}
.hero-intro{
  min-height:260px;
  padding:38px 34px;
  margin-bottom:34px;
  border:1px solid rgba(11,94,215,.10);
  border-radius:30px;
  background:
    radial-gradient(circle at 86% 24%, rgba(11,94,215,.18) 0 94px, transparent 95px),
    radial-gradient(circle at 98% 82%, rgba(38,198,188,.13) 0 120px, transparent 121px),
    linear-gradient(135deg,#ffffff 0%,#f2f8ff 100%);
  box-shadow:0 22px 60px -42px rgba(0,63,158,.42);
  overflow:hidden;
}
.hero-intro::after{
  content:"";position:absolute;right:-60px;top:-70px;width:260px;height:260px;border-radius:50%;
  background:linear-gradient(135deg,rgba(11,94,215,.18),rgba(38,198,188,.08));z-index:0;
}
.hero-logo,.hero-copy{position:relative;z-index:1}
.hero-logo{width:clamp(105px,13vw,145px);filter:drop-shadow(0 14px 26px rgba(11,94,215,.18))}
.eyebrow{background:#fff;color:var(--sky);border:1px solid #d8e8fb;box-shadow:0 10px 30px -22px rgba(0,63,158,.45);font-weight:700}
.eyebrow b{color:var(--sky)}
.acr,.acr.s,.acr.m,.acr.i{color:var(--sky)}
.hero-intro h1{font-size:clamp(2rem,3.8vw,3.25rem);line-height:1.18;color:#061735;letter-spacing:-.055em}
.hero-intro h1 .hl{color:var(--sky);font-weight:900}
.hero-intro h1 .hl::after{display:none}
.hero-intro p.sub{font-size:1.02rem;color:#304260;max-width:650px}
.sec-tag{color:var(--sky);font-weight:900;letter-spacing:.06em}
.sec-head h2{color:#071a3a;letter-spacing:-.04em}
.sec-head p{color:#52627a}
.page-banner{border-bottom:1px solid var(--line)}
.page-banner .crumb{color:var(--sky)}
.block{margin-bottom:48px}
.feat-grid,.cohort-grid,.days,.eff-grid{gap:18px}
.feat,.cohort,.day,.eff,.info-box,.faq-item,.note,.modal-card{
  border:1px solid rgba(11,94,215,.14);
  border-radius:20px;
  background:rgba(255,255,255,.94);
  box-shadow:0 14px 34px -28px rgba(0,63,158,.45);
}
.feat{padding:24px 22px;text-align:left}
.feat:hover,.cohort:hover{transform:translateY(-5px);box-shadow:0 20px 42px -30px rgba(0,63,158,.55)}
.feat .ic{width:56px;height:56px;border-radius:18px;color:var(--sky);background:#eef6ff!important;font-size:1.55rem;border:1px solid #d8e8fb}
.feat h3{color:#071a3a;font-size:1.1rem}
.feat p,.eff p,.day ul li{color:#53637b}
.info-row .k{background:#f1f7ff;color:var(--sky);font-weight:900}
.free-badge{background:var(--sky);padding:3px 14px}
.note{background:linear-gradient(135deg,#f5fbff,#ffffff);border-style:solid}
.note h3{color:var(--sky)}
.cohort{border-width:1px;padding:22px 20px}
.cohort .tag{background:#eaf4ff!important;color:var(--sky)!important;border-radius:8px}
.cohort .cap b{color:var(--sky)}
.cohort .bar{background:linear-gradient(90deg,var(--sky-deep),var(--sky) 45%,var(--mint))}
.cohort .bar span{background:#e8f1fb}
.day{overflow:hidden}
.day .top{background:linear-gradient(135deg,#0b63df,#0048b8)!important}
.day ul li::before{background:var(--sky)}
.eff .n{background:#eef6ff;color:var(--sky);border:1px solid #d8e8fb}
.apply-panel{border:1px solid rgba(11,94,215,.20);border-radius:24px;background:#fff;box-shadow:0 22px 52px -30px rgba(0,63,158,.50)}
.apply-panel .ph{background:linear-gradient(135deg,#0b63df 0%,#0040a8 100%);padding:22px 22px}
.apply-panel .ph .free{background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.28)}
.panel-quick{background:#f7fbff}
.step-dot.active{background:var(--sky)}
.step-dot.done,.step-line.done,.success .check{background:var(--mint)}
.cohort-badge{background:#eef6ff;border-color:#d8e8fb}
.cohort-badge b{color:var(--sky)}
.fg input,.fg select,.fg textarea{background:#fff;border-color:#d8e5f2;border-radius:12px}
.fg input:focus,.fg select:focus,.fg textarea:focus{border-color:var(--sky);box-shadow:0 0 0 4px rgba(11,94,215,.08)}
.consent,.review{background:#f7fbff;border-color:#d8e5f2}
.faq-q .arr{color:var(--sky)}
.mobile-bar{background:rgba(255,255,255,.96);box-shadow:0 -12px 28px -22px rgba(0,63,158,.4)}
.mobile-bar .mb-info .f{color:var(--sky)}
footer{background:linear-gradient(135deg,#061735 0%,#003f74 100%);padding-top:42px}
.foot-logo{height:48px;filter:none}
.foot-acr,.foot-acr.s,.foot-acr.m,.foot-acr.i{color:#80b7ff}
@media(max-width:860px){
  .navlinks{background:rgba(255,255,255,.98);border-bottom:1px solid var(--line)}
  .navlinks a.is-active::after{background:var(--sky)}
}
@media(max-width:560px){
  .hero-intro{padding:28px 22px;border-radius:24px}
  .hero-intro h1{font-size:2rem}
}


/* === Hero photo update: 같이 공부하는 학생 사진 === */
.hero-intro{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(300px,42%);
  align-items:center;
  gap:28px;
  min-height:360px;
  padding:44px 34px 42px;
}
.hero-copy{position:relative;z-index:2}
.hero-photo-wrap{
  position:relative;
  z-index:1;
  align-self:stretch;
  min-height:300px;
  border-radius:28px;
  overflow:hidden;
  box-shadow:0 22px 56px -32px rgba(0,63,158,.55);
  background:#eef6ff;
}
.hero-photo-wrap::before{
  content:"";
  position:absolute;
  inset:-18% -12% auto auto;
  width:230px;
  height:230px;
  border-radius:50%;
  background:linear-gradient(135deg,rgba(11,94,215,.28),rgba(38,198,188,.13));
  z-index:1;
}
.hero-photo{
  width:100%;
  height:100%;
  min-height:300px;
  display:block;
  object-fit:cover;
  object-position:center;
  position:relative;
  z-index:0;
}
.hero-intro h1{
  font-size:clamp(2.15rem,4.4vw,3.7rem);
}
@media(max-width:860px){
  .hero-intro{
    grid-template-columns:1fr;
  }
  .hero-photo-wrap{
    min-height:250px;
  }
  .hero-photo{
    min-height:250px;
  }
}



/* === Final refinement: 노란 톤 + 히어로 사진 도형 맞춤 === */
:root{
  --sky:#f5b400;
  --sky-deep:#d88900;
  --sun:#ffd45c;
  --sun-deep:#f0a000;
  --mint:#19b7a8;
  --mint-deep:#079887;
  --line:#f1dfad;
  --shadow:0 18px 48px -22px rgba(184,118,0,.32);
}
body{
  background:
    radial-gradient(circle at 88% 4%, rgba(245,180,0,.18) 0 155px, transparent 156px),
    radial-gradient(circle at 8% 50%, rgba(255,212,92,.12) 0 220px, transparent 221px),
    linear-gradient(180deg,#ffffff 0%,#fffaf0 42%,#ffffff 100%);
}
.nav{border-bottom:1px solid rgba(184,118,0,.16);box-shadow:0 5px 22px rgba(184,118,0,.07)}
.brand-text .bt-ko,.navlinks a:hover,.navlinks a.is-active{color:#d88900}
.navlinks a.is-active::after{background:#f5b400}
.btn,.btn.sun{
  min-height:52px;
  border-radius:14px;
  background:linear-gradient(135deg,#ffc928,#f0a000);
  color:#061735;
  box-shadow:0 14px 26px -16px rgba(184,118,0,.72);
}
.btn:hover{box-shadow:0 18px 30px -16px rgba(184,118,0,.78)}
.btn.ghost{background:#fff;color:#b56f00;border:1.5px solid #f0b42a;box-shadow:0 10px 20px -18px rgba(184,118,0,.55)}

.hero-intro{
  grid-template-columns:minmax(0,1fr) minmax(360px,48%);
  gap:10px;
  min-height:440px;
  padding:52px 0 52px 42px;
  border-color:rgba(245,180,0,.22);
  background:
    radial-gradient(circle at 78% 20%, rgba(245,180,0,.22) 0 112px, transparent 113px),
    radial-gradient(circle at 98% 82%, rgba(255,212,92,.22) 0 150px, transparent 151px),
    linear-gradient(135deg,#ffffff 0%,#fff7df 100%);
  box-shadow:0 28px 68px -44px rgba(184,118,0,.45);
}
.hero-intro::after{
  right:-72px;top:-86px;width:310px;height:310px;
  background:linear-gradient(135deg,rgba(245,180,0,.25),rgba(255,212,92,.12));
}
.hero-copy{padding-right:0}
.eyebrow{color:#b56f00;border-color:#f3d78b;background:#fffdf7}
.eyebrow b,.acr,.acr.s,.acr.m,.acr.i{color:#d88900}
.hero-intro h1{
  font-size:clamp(2.35rem,4.95vw,4.15rem);
  line-height:1.12;
  letter-spacing:-.07em;
  word-break:keep-all;
}
.hero-intro h1 .hl{color:#f0a000;font-weight:950;white-space:nowrap}
.hero-intro p.sub{max-width:620px;color:#34435a;margin-top:20px}
.hero-photo-wrap{
  margin-left:-36px;
  width:calc(100% + 36px);
  min-height:360px;
  align-self:center;
  border-radius:30px 0 0 30px;
  box-shadow:0 24px 60px -34px rgba(184,118,0,.55);
  background:#fff3cf;
}
.hero-photo-wrap::before{display:none}
.hero-photo{
  height:360px;
  min-height:360px;
  object-fit:cover;
  object-position:center center;
  transform:scale(1.08);
  transform-origin:center center;
}
.sec-tag,.page-banner .crumb,.free-badge,.note h3,.info-row .k,.cohort .cap b,.cohort-badge b,.faq-q .arr,.mobile-bar .mb-info .f{color:#d88900}
.feat,.cohort,.day,.eff,.info-box,.faq-item,.note,.modal-card,.apply-panel{border-color:rgba(245,180,0,.22);box-shadow:0 14px 34px -28px rgba(184,118,0,.45)}
.feat .ic,.eff .n{color:#d88900;background:#fff6d9!important;border-color:#f3d78b}
.feat:hover,.cohort:hover{box-shadow:0 20px 42px -30px rgba(184,118,0,.58)}
.cohort .tag{background:#fff3cf!important;color:#b56f00!important}
.cohort .bar span{background:linear-gradient(90deg,#ffc928,#19b7a8)}
.day .top,.apply-panel .ph{background:linear-gradient(135deg,#ffc928,#f0a000)!important;color:#061735}
.day ul li::before{background:#f0a000}
.apply-panel .ph .free{background:rgba(255,255,255,.38);border-color:rgba(255,255,255,.55);color:#061735}
.panel-quick,.cohort-badge,.consent,.review{background:#fffaf0;border-color:#f1dfad}
.step-dot.active{background:#f0a000;color:#061735}.step-line.done{background:#19b7a8}
.fg input:focus,.fg select:focus,.fg textarea:focus{border-color:#f0a000;box-shadow:0 0 0 4px rgba(245,180,0,.15)}
footer{background:linear-gradient(135deg,#2d2100 0%,#6c4400 100%)}
.foot-acr,.foot-acr.s,.foot-acr.m,.foot-acr.i{color:#ffd45c}
@media(max-width:860px){
  .hero-intro{grid-template-columns:1fr;padding:34px 24px;gap:24px;min-height:0}
  .hero-photo-wrap{margin-left:0;width:100%;border-radius:26px;min-height:280px}
  .hero-photo{height:280px;min-height:280px;transform:scale(1.05)}
  .navlinks a.is-active::after{background:#f5b400}
}
@media(max-width:560px){
  .hero-intro h1{font-size:2.15rem;line-height:1.16}
  .btn{min-height:48px}
}



/* === 최종 반영: 노란색 + 파란색 + 초록색 3색 톤, 히어로 사진 확실 적용 === */
:root{
  --ink:#061735;
  --ink-soft:#41526f;
  --paper:#fffaf0;
  --sky:#0b5ed7;
  --sky-deep:#0048b8;
  --sun:#ffc928;
  --sun-deep:#f0a000;
  --mint:#19b7a8;
  --mint-deep:#079887;
  --line:#e8dba8;
  --shadow:0 18px 48px -22px rgba(6,23,53,.24);
}
body{
  background:
    radial-gradient(circle at 89% 5%, rgba(11,94,215,.14) 0 170px, transparent 171px),
    radial-gradient(circle at 8% 52%, rgba(255,201,40,.16) 0 240px, transparent 241px),
    radial-gradient(circle at 84% 76%, rgba(25,183,168,.10) 0 190px, transparent 191px),
    linear-gradient(180deg,#ffffff 0%,#fffaf0 42%,#f5fbff 100%);
}
.nav{border-bottom:1px solid rgba(11,94,215,.12);box-shadow:0 5px 22px rgba(6,23,53,.06)}
.brand-text .bt-ko{color:var(--sky-deep)}
.navlinks a:hover,.navlinks a.is-active{color:var(--sky)}
.navlinks a.is-active::after{background:linear-gradient(90deg,var(--sky),var(--sky-deep))}
.btn,.btn.sun{
  min-height:52px;
  border-radius:14px;
  background:linear-gradient(135deg,var(--sky),var(--sky-deep));
  color:#fff;
  box-shadow:0 14px 26px -16px rgba(11,94,215,.72);
}
.btn:hover{box-shadow:0 18px 30px -16px rgba(11,94,215,.78)}
.btn.ghost{background:#fff;color:var(--sky);border:1.5px solid var(--sky);box-shadow:0 10px 20px -18px rgba(11,94,215,.55)}
.hero-intro{
  grid-template-columns:minmax(0,1fr) minmax(360px,48%);
  gap:10px;
  min-height:440px;
  padding:52px 0 52px 42px;
  border-color:rgba(255,201,40,.36);
  background:
    radial-gradient(circle at 78% 20%, rgba(11,94,215,.20) 0 112px, transparent 113px),
    radial-gradient(circle at 98% 82%, rgba(25,183,168,.16) 0 150px, transparent 151px),
    radial-gradient(circle at 8% 84%, rgba(255,201,40,.28) 0 140px, transparent 141px),
    linear-gradient(135deg,#ffffff 0%,#fff7df 55%,#f2fbff 100%);
  box-shadow:0 28px 68px -44px rgba(6,23,53,.34);
}
.hero-intro::after{
  right:-72px;top:-86px;width:310px;height:310px;
  background:linear-gradient(135deg,rgba(11,94,215,.18),rgba(25,183,168,.11));
}
.hero-copy{padding-right:0;position:relative;z-index:2}
.eyebrow{color:var(--sky-deep);border-color:#f3d78b;background:#fffdf7}
.eyebrow b{color:var(--mint-deep)}
.acr,.acr.s,.acr.m,.acr.i{color:var(--sun-deep)}
.hero-intro h1{
  font-size:clamp(2.35rem,4.95vw,4.15rem);
  line-height:1.12;
  letter-spacing:-.07em;
  word-break:keep-all;
}
.hero-intro h1 .hl{color:var(--sky);font-weight:950;white-space:nowrap}
.hero-intro p.sub{max-width:620px;color:#34435a;margin-top:20px}
.hero-photo-wrap{
  margin-left:-36px;
  width:calc(100% + 36px);
  height:360px;
  min-height:360px;
  align-self:center;
  border-radius:30px 0 0 30px;
  box-shadow:0 24px 60px -34px rgba(6,23,53,.45);
  background:#fff3cf;
  border:1px solid rgba(255,201,40,.30);
}
.hero-photo-wrap::before{display:none}
.hero-photo{
  width:100%;
  height:100%;
  min-height:0;
  object-fit:cover;
  object-position:center center;
  transform:none;
}
.sec-tag,.page-banner .crumb{color:var(--sky);font-weight:900}
.free-badge{background:var(--mint);color:#fff}
.info-row .k,.note h3,.cohort .cap b,.cohort-badge b,.faq-q .arr,.mobile-bar .mb-info .f{color:var(--sky)}
.feat,.cohort,.day,.eff,.info-box,.faq-item,.note,.modal-card,.apply-panel{border-color:rgba(11,94,215,.12);box-shadow:0 14px 34px -28px rgba(6,23,53,.38)}
.feat:nth-child(3n+1) .ic,.eff:nth-child(3n+1) .n{color:var(--sky);background:#eef6ff!important;border-color:#cfe3f7}
.feat:nth-child(3n+2) .ic,.eff:nth-child(3n+2) .n{color:#b56f00;background:#fff6d9!important;border-color:#f3d78b}
.feat:nth-child(3n) .ic,.eff:nth-child(3n) .n{color:var(--mint-deep);background:#eafaf8!important;border-color:#c8eee9}
.cohort .tag{background:#fff3cf!important;color:#b56f00!important}
.cohort .bar span{background:linear-gradient(90deg,var(--sky),var(--sky-deep))}
.day:nth-child(1) .top{background:linear-gradient(135deg,var(--sky),var(--sky-deep))!important;color:#fff}
.day:nth-child(2) .top{background:linear-gradient(135deg,var(--sun),var(--sun-deep))!important;color:#061735}
.day:nth-child(3) .top{background:linear-gradient(135deg,var(--mint),var(--mint-deep))!important;color:#fff}
.day ul li::before{background:var(--sun-deep)}
.apply-panel .ph{background:linear-gradient(135deg,var(--sky),var(--sky-deep))!important;color:#fff}
.apply-panel .ph .free{background:var(--sun);border-color:rgba(255,255,255,.38);color:#061735}
.panel-quick,.cohort-badge,.consent,.review{background:#fffaf0;border-color:#e8dba8}
.step-dot.active{background:var(--sky);color:#fff}.step-line.done{background:var(--mint)}.step-dot.done,.success .check{background:var(--mint)}
.fg input:focus,.fg select:focus,.fg textarea:focus{border-color:var(--sky);box-shadow:0 0 0 4px rgba(11,94,215,.12)}
footer{background:linear-gradient(135deg,#061735 0%,#003f74 58%,#075b5a 100%)}
.foot-acr,.foot-acr.s,.foot-acr.m,.foot-acr.i{color:var(--sun)}
@media(max-width:860px){
  .hero-intro{grid-template-columns:1fr;padding:34px 24px;gap:24px;min-height:0}
  .hero-photo-wrap{margin-left:0;width:100%;height:280px;min-height:280px;border-radius:26px}
  .hero-photo{height:100%;min-height:0;object-fit:cover}
  .navlinks a.is-active::after{background:var(--sky)}
}
@media(max-width:560px){
  .hero-intro h1{font-size:2.15rem;line-height:1.16}
  .btn{min-height:48px}
}



/* === FINAL HERO REFINEMENT: photo, 3-color tone, balanced landing UI === */
:root{
  --sky:#0b5ed7; --sky-deep:#0646b3;
  --sun:#ffc928; --sun-deep:#f2a900;
  --mint:#19b7a8; --mint-deep:#0e8f83;
  --ink:#061735; --ink-soft:#465675;
  --paper:#fffdf5; --line:#dbe8f6;
}
body{background:linear-gradient(180deg,#fffdf5 0%,#f4fbff 42%,#f7fff8 100%)}
.nav{background:rgba(255,255,255,.92);border-bottom:1px solid rgba(11,94,215,.12)}
.navlinks a.is-active{color:var(--sky);font-weight:800}
.navlinks a.is-active::after{background:linear-gradient(90deg,var(--sky),var(--sky-deep))}
.brand-text .bt-ko{color:var(--sky-deep)}
.brand-text .bt-en{color:var(--sun-deep)}
.layout{grid-template-columns:minmax(0,1fr) 340px;gap:34px;padding-top:36px}
.apply-panel{border:1px solid rgba(11,94,215,.16);border-radius:28px;box-shadow:0 26px 70px -46px rgba(6,23,53,.45)}
.apply-panel .ph{background:linear-gradient(135deg,var(--sky) 0%,var(--sky-deep) 100%)!important}
.apply-panel .ph .free{background:var(--sun);color:#061735}
.hero-intro{
  display:grid!important;
  grid-template-columns:minmax(360px,.94fr) minmax(420px,1.18fr)!important;
  align-items:center;
  gap:0!important;
  min-height:455px!important;
  padding:46px 0 46px 46px!important;
  overflow:hidden;
  border:1px solid rgba(11,94,215,.12)!important;
  border-radius:34px!important;
  background:
    radial-gradient(circle at 6% 14%, rgba(255,201,40,.26) 0 85px, transparent 86px),
    radial-gradient(circle at 92% 20%, rgba(11,94,215,.18) 0 132px, transparent 133px),
    radial-gradient(circle at 90% 88%, rgba(25,183,168,.18) 0 150px, transparent 151px),
    linear-gradient(135deg,#fff 0%,#fffaf0 45%,#eff9ff 100%)!important;
  box-shadow:0 28px 75px -50px rgba(6,23,53,.36)!important;
}
.hero-intro::before{content:"";position:absolute;inset:18px 18px auto auto;width:86px;height:86px;border-radius:26px;background:linear-gradient(135deg,rgba(255,201,40,.36),rgba(25,183,168,.18));transform:rotate(12deg);z-index:0}
.hero-intro::after{content:"";position:absolute;right:22%;bottom:-56px;width:190px;height:190px;border-radius:50%;background:rgba(255,201,40,.20);z-index:0}
.hero-copy{position:relative;z-index:3;padding-right:6px!important}
.eyebrow{background:#fff;border-color:#f3d78b;color:var(--sky-deep);box-shadow:0 10px 24px -18px rgba(6,23,53,.28)}
.eyebrow b{color:var(--mint-deep)}
.hero-intro h1{
  max-width:590px;
  font-size:clamp(2.5rem,4.4vw,4.15rem)!important;
  line-height:1.08!important;
  letter-spacing:-.075em!important;
  color:var(--ink)!important;
  word-break:keep-all;
}
.hero-intro h1 .hl{display:inline-block;color:var(--sky)!important;font-weight:950;position:relative;white-space:nowrap}
.hero-intro h1 .hl::after{content:"";display:block!important;position:absolute;left:-8%;right:-8%;bottom:4%;height:28%;background:var(--sun);opacity:.48;border-radius:8px;z-index:-1}
.hero-intro p.sub{max-width:470px!important;margin-top:24px!important;font-size:1.04rem!important;color:#34435a!important;line-height:1.85!important}
.hero-photo-wrap{
  position:relative!important;
  z-index:2;
  align-self:stretch!important;
  height:auto!important;
  min-height:386px!important;
  margin:0 -1px 0 -72px!important;
  width:auto!important;
  border-radius:32px 0 0 32px!important;
  overflow:hidden!important;
  background:#fff!important;
  border:1px solid rgba(255,201,40,.32)!important;
  box-shadow:0 30px 72px -42px rgba(6,23,53,.48)!important;
}
.hero-photo-wrap::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.86) 0%,rgba(255,255,255,.32) 20%,rgba(255,255,255,0) 42%);pointer-events:none}
.hero-photo{
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-height:386px!important;
  object-fit:cover!important;
  object-position:center center!important;
  transform:none!important;
}
.sec-tag,.page-banner .crumb{color:var(--sky)!important;font-weight:900;letter-spacing:.06em}
.sec-head h2{color:var(--ink)}
.feat{border-color:rgba(11,94,215,.12);box-shadow:0 18px 36px -30px rgba(6,23,53,.36)}
.feat .ic{border:1px solid transparent}
.feat:nth-child(3n+1) .ic{background:#eef6ff!important;color:var(--sky)!important;border-color:#cfe3f7}
.feat:nth-child(3n+2) .ic{background:#fff6d9!important;color:#b56f00!important;border-color:#f3d78b}
.feat:nth-child(3n) .ic{background:#eafaf8!important;color:var(--mint-deep)!important;border-color:#c8eee9}
.free-badge,.step-dot.done,.success .check{background:var(--mint)!important}
.btn,.btn.sun{background:linear-gradient(135deg,var(--sky),var(--sky-deep));border-radius:15px;min-height:52px}
.btn.ghost{background:#fff;color:var(--sky);border-color:var(--sky)}
.cohort .bar span{background:linear-gradient(90deg,var(--sky),var(--sky-deep))}
.step-dot.active{background:var(--sky)!important}
.cohort .tag{background:#fff3cf!important;color:#b56f00!important}
@media(max-width:1040px){
  .layout{grid-template-columns:1fr;gap:0}
  .side-col{position:static;margin-top:42px}
}
@media(max-width:860px){
  .hero-intro{grid-template-columns:1fr!important;padding:34px 24px!important;gap:22px!important;min-height:0!important}
  .hero-photo-wrap{margin:0!important;width:100%!important;height:310px!important;min-height:310px!important;border-radius:26px!important}
  .hero-photo{height:100%!important;min-height:0!important}
  .hero-photo-wrap::after{background:linear-gradient(180deg,rgba(255,255,255,0) 55%,rgba(255,255,255,.55) 100%)}
}
@media(max-width:560px){
  .hero-intro h1{font-size:2.18rem!important;line-height:1.14!important}
  .hero-intro p.sub{font-size:.95rem!important}
  .hero-photo-wrap{height:250px!important;min-height:250px!important}
}


/* === READABILITY FINAL: headline hierarchy + natural photo layout === */
.hero-intro{
  grid-template-columns:minmax(390px,.88fr) minmax(500px,1.12fr)!important;
  gap:24px!important;
  min-height:500px!important;
  padding:44px 0 40px 42px!important;
  background:
    radial-gradient(circle at 7% 11%, rgba(255,201,40,.30) 0 82px, transparent 84px),
    radial-gradient(circle at 67% 10%, rgba(255,201,40,.20) 0 150px, transparent 152px),
    radial-gradient(circle at 94% 28%, rgba(11,94,215,.16) 0 128px, transparent 130px),
    radial-gradient(circle at 91% 88%, rgba(25,183,168,.20) 0 142px, transparent 144px),
    linear-gradient(135deg,#fff 0%,#fffaf0 46%,#effbff 100%)!important;
}
.hero-copy{max-width:535px!important;padding-right:0!important;}
.hero-intro h1.smile-headline{
  max-width:560px!important;
  margin-top:22px!important;
  font-size:clamp(2.85rem,4.5vw,4.45rem)!important;
  line-height:1.03!important;
  letter-spacing:-.072em!important;
  color:var(--ink)!important;
  word-break:keep-all!important;
}
.smile-headline .headline-line{display:block;white-space:nowrap;}
.smile-headline .key-letter{display:inline-block;font-weight:950;letter-spacing:-.08em;margin-right:.02em;}
.smile-headline .letter-s{color:#ff6b2b;}
.smile-headline .letter-m{color:#ffc928; text-shadow:0 1px 0 rgba(6,23,53,.08);}
.smile-headline .letter-i{color:#16a96f;}
.hero-intro p.hero-tagline{
  max-width:470px!important;
  margin-top:24px!important;
  font-size:1.06rem!important;
  line-height:1.78!important;
  color:#34435a!important;
  word-break:keep-all!important;
  overflow-wrap:break-word!important;
}
.hero-intro p.hero-tagline b{color:var(--ink);font-weight:900;}
.hero-photo-wrap{
  margin:0 0 0 -6px!important;
  min-height:410px!important;
  height:410px!important;
  border-radius:34px 0 0 34px!important;
  border:0!important;
  box-shadow:none!important;
  background:transparent!important;
}
.hero-photo-wrap::after{
  background:linear-gradient(90deg,rgba(255,255,255,.36) 0%,rgba(255,255,255,.12) 16%,rgba(255,255,255,0) 34%)!important;
}
.hero-photo{
  min-height:410px!important;
  height:410px!important;
  object-fit:cover!important;
  object-position:center center!important;
  border-radius:34px 0 0 34px!important;
}
.eyebrow{border-color:rgba(255,201,40,.62)!important;}
.sec-tag{color:var(--mint-deep)!important;}
.apply-panel .ph{background:linear-gradient(135deg,var(--sky) 0%,var(--sky-deep) 100%)!important;}
.apply-panel .ph .free{background:var(--sun)!important;color:var(--ink)!important;}
@media(max-width:1040px){
  .hero-intro{grid-template-columns:1fr!important;padding:34px 28px!important;gap:24px!important;}
  .hero-photo-wrap{margin:0!important;width:100%!important;height:330px!important;min-height:330px!important;border-radius:28px!important;}
  .hero-photo{height:330px!important;min-height:330px!important;border-radius:28px!important;}
  .hero-photo-wrap::after{background:linear-gradient(180deg,rgba(255,255,255,0) 55%,rgba(255,255,255,.45) 100%)!important;}
}
@media(max-width:560px){
  .hero-intro h1.smile-headline{font-size:2.38rem!important;line-height:1.1!important;}
  .smile-headline .headline-line{white-space:normal;}
  .hero-intro p.hero-tagline{font-size:.96rem!important;}
  .hero-photo-wrap,.hero-photo{height:255px!important;min-height:255px!important;}
}



/* === 최종 개선: 가독성/사진 배치/3색 톤 정리 === */
body{
  background:
    radial-gradient(circle at 4% 28%, rgba(255,201,40,.10) 0 160px, transparent 165px),
    linear-gradient(180deg,#fffdf7 0%,#f8fbff 48%,#f6fff9 100%) !important;
}
.nav{background:rgba(255,255,255,.94)!important;box-shadow:0 10px 30px -26px rgba(6,23,53,.28)!important;}
.navlinks a.is-active{color:var(--sky)!important;font-weight:900!important;}
.navlinks a.is-active::after{background:linear-gradient(90deg,#3a86d4,#0b5ed7)!important;height:4px!important;}

/* === 메뉴 클릭 인터랙션 === */
.navlinks a[data-page]{position:relative;transition:color .2s;-webkit-tap-highlight-color:transparent}
/* 활성 밑줄: 중앙에서 좌우로 그려지듯 등장 */
.navlinks a.is-active::after{transform-origin:center;animation:navUnderline .38s cubic-bezier(.22,.7,.28,1) both}
@keyframes navUnderline{from{transform:scaleX(0);opacity:.4}to{transform:scaleX(1);opacity:1}}
@media(prefers-reduced-motion:reduce){
  .navlinks a.is-active::after{animation:none}
}

.hero-intro{
  grid-template-columns:minmax(360px,.95fr) minmax(430px,1.05fr)!important;
  align-items:center!important;
  gap:10px!important;
  min-height:560px!important;
  padding:52px 34px 52px 46px!important;
  overflow:hidden!important;
  border:1px solid rgba(11,94,215,.12)!important;
  border-radius:34px!important;
  box-shadow:0 26px 70px -45px rgba(6,23,53,.34)!important;
  background:
    radial-gradient(circle at 10% 7%, rgba(255,201,40,.24) 0 88px, transparent 90px),
    radial-gradient(circle at 57% -6%, rgba(255,201,40,.16) 0 168px, transparent 170px),
    radial-gradient(circle at 95% 88%, rgba(25,183,168,.17) 0 150px, transparent 152px),
    linear-gradient(135deg,#fffdfa 0%,#fff7df 42%,#f0fbff 100%)!important;
}
.hero-intro::before{
  content:""!important;
  position:absolute!important;
  right:31%!important;top:30px!important;
  width:118px!important;height:118px!important;border-radius:50%!important;
  background:rgba(255,201,40,.20)!important;z-index:0!important;
}
.hero-intro::after{
  content:""!important;
  position:absolute!important;
  right:2%!important;bottom:-70px!important;
  width:220px!important;height:220px!important;border-radius:50%!important;
  background:rgba(25,183,168,.16)!important;z-index:0!important;
}
.hero-copy{max-width:465px!important;position:relative!important;z-index:3!important;padding-right:0!important;}
.eyebrow{background:#fff!important;border:1px solid rgba(255,201,40,.62)!important;box-shadow:0 12px 28px -22px rgba(6,23,53,.28)!important;color:#0b5ed7!important;}
.eyebrow b{color:#0aa06e!important;}
.hero-intro h1.smile-headline{
  max-width:460px!important;
  margin:30px 0 0!important;
  font-size:clamp(2.65rem,4.15vw,3.95rem)!important;
  line-height:1.14!important;
  letter-spacing:-.065em!important;
  color:#061735!important;
  word-break:keep-all!important;
}
.smile-headline .headline-line{display:block!important;white-space:nowrap!important;}
.smile-headline .key-letter{
  display:inline!important;
  font-size:1em!important;
  font-weight:950!important;
  letter-spacing:-.065em!important;
  margin-right:0!important;
  text-shadow:none!important;
}
.smile-headline .letter-s{color:#ff6b2b!important;}
.smile-headline .letter-m{color:#ffc928!important;text-shadow:0 1px 0 rgba(6,23,53,.08)!important;}
.smile-headline .letter-i{color:#16a96f!important;}
.hero-intro p.hero-tagline{
  max-width:420px!important;
  margin-top:28px!important;
  font-size:1.08rem!important;
  line-height:1.78!important;
  color:#31435f!important;
}
.hero-intro p.hero-tagline b{font-size:1.08em!important;color:#061735!important;font-weight:900!important;}
.hero-photo-wrap{
  position:relative!important;
  z-index:2!important;
  margin:0 -34px 0 0!important;
  width:calc(100% + 34px)!important;
  height:440px!important;
  min-height:440px!important;
  border-radius:34px 0 0 34px!important;
  overflow:hidden!important;
  background:#fff!important;
  border:0!important;
  box-shadow:0 26px 55px -36px rgba(6,23,53,.32)!important;
}
.hero-photo-wrap::before{
  content:""!important;
  display:block!important;
  position:absolute!important;
  inset:auto 8% 10% auto!important;
  width:110px!important;height:110px!important;
  border-radius:999px!important;
  background:rgba(255,201,40,.14)!important;
  z-index:1!important;
  pointer-events:none!important;
}
.hero-photo-wrap::after{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  background:linear-gradient(90deg,rgba(255,255,255,.74) 0%,rgba(255,255,255,.34) 17%,rgba(255,255,255,0) 38%)!important;
  pointer-events:none!important;
  z-index:2!important;
}
.hero-photo{
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  object-fit:cover!important;
  object-position:center center!important;
  border-radius:34px 0 0 34px!important;
  transform:none!important;
}
.apply-panel{border:1px solid rgba(11,94,215,.13)!important;box-shadow:0 28px 70px -44px rgba(6,23,53,.38)!important;}
.apply-panel .ph{background:linear-gradient(135deg,#0b5ed7 0%,#0aa7bd 55%,#22b573 100%)!important;}
.apply-panel .ph .free{background:#ffc928!important;color:#061735!important;}
.btn{background:#0b5ed7!important;box-shadow:0 12px 24px -13px rgba(11,94,215,.8)!important;}
.btn.sun{background:#ffc928!important;color:#061735!important;box-shadow:0 12px 24px -13px rgba(255,201,40,.9)!important;}
.btn.ghost{background:#fff!important;color:#0b5ed7!important;border-color:#0b5ed7!important;box-shadow:none!important;}
.sec-tag{color:#16a96f!important;}
.feat:nth-child(4n+1) .ic,.eff:nth-child(4n+1) .n{background:rgba(25,183,168,.13)!important;color:#16a96f!important;}
.feat:nth-child(4n+2) .ic,.eff:nth-child(4n+2) .n{background:rgba(255,201,40,.18)!important;color:#f0a000!important;}
.feat:nth-child(4n+3) .ic,.eff:nth-child(4n+3) .n{background:rgba(11,94,215,.11)!important;color:#0b5ed7!important;}
.feat:nth-child(4n) .ic,.eff:nth-child(4n) .n{background:rgba(25,183,168,.13)!important;color:#16a96f!important;}

@media(max-width:1040px){
  .hero-intro{grid-template-columns:1fr!important;padding:36px 26px!important;gap:24px!important;min-height:0!important;}
  .hero-copy{max-width:100%!important;}
  .hero-intro h1.smile-headline{max-width:100%!important;font-size:clamp(2.28rem,8vw,3.4rem)!important;}
  .hero-photo-wrap{margin:0!important;width:100%!important;height:330px!important;min-height:330px!important;border-radius:28px!important;}
  .hero-photo{border-radius:28px!important;}
  .hero-photo-wrap::after{background:linear-gradient(180deg,rgba(255,255,255,0) 58%,rgba(255,255,255,.30) 100%)!important;}
}
@media(max-width:560px){
  .hero-intro{padding:28px 20px!important;border-radius:26px!important;}
  .hero-intro h1.smile-headline{font-size:2.18rem!important;line-height:1.16!important;}
  .smile-headline .headline-line{white-space:normal!important;}
  .hero-intro p.hero-tagline{font-size:.96rem!important;line-height:1.7!important;}
  .hero-photo-wrap{height:250px!important;min-height:250px!important;}
}



/* === 사진 깨짐 수정: 히어로 이미지 안정 배치 === */
.hero-intro{
  display:grid!important;
  grid-template-columns:minmax(0, 0.98fr) minmax(0, 1.02fr)!important;
  align-items:center!important;
  gap:30px!important;
  min-height:540px!important;
  padding:48px!important;
  overflow:hidden!important;
  border-radius:34px!important;
}
.hero-copy{
  max-width:100%!important;
  min-width:0!important;
  position:relative!important;
  z-index:3!important;
  padding-right:0!important;
}
.hero-intro h1.smile-headline{
  max-width:100%!important;
  font-size:clamp(2.3rem,3.65vw,3.35rem)!important;
  line-height:1.14!important;
  letter-spacing:-.06em!important;
  margin-top:30px!important;
}
.smile-headline .headline-line{
  display:block!important;
  white-space:nowrap!important;
}
.hero-intro p.hero-tagline{
  max-width:440px!important;
  margin-top:26px!important;
}
.hero-photo-wrap{
  position:relative!important;
  z-index:2!important;
  width:100%!important;
  height:420px!important;
  min-height:420px!important;
  margin:0!important;
  overflow:hidden!important;
  border-radius:32px!important;
  background:#fff!important;
  box-shadow:0 22px 48px -34px rgba(6,23,53,.34)!important;
  border:0!important;
}
.hero-photo-wrap::before{
  display:none!important;
}
.hero-photo-wrap::after{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  background:linear-gradient(90deg,rgba(255,255,255,.58) 0%,rgba(255,255,255,.18) 19%,rgba(255,255,255,0) 42%)!important;
  pointer-events:none!important;
  z-index:2!important;
}
.hero-photo{
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  object-fit:cover!important;
  object-position:center center!important;
  border-radius:32px!important;
  transform:none!important;
}
@media(max-width:1040px){
  .hero-intro{
    grid-template-columns:1fr!important;
    min-height:0!important;
    padding:36px 28px!important;
    gap:26px!important;
  }
  .hero-intro h1.smile-headline{
    font-size:clamp(2.2rem,8vw,3.3rem)!important;
  }
  .hero-photo-wrap{
    width:100%!important;
    height:330px!important;
    min-height:330px!important;
    border-radius:28px!important;
  }
  .hero-photo{
    border-radius:28px!important;
  }
}
@media(max-width:560px){
  .hero-intro{padding:28px 20px!important;border-radius:26px!important;}
  .hero-intro h1.smile-headline{font-size:2.08rem!important;line-height:1.16!important;}
  .smile-headline .headline-line{white-space:normal!important;}
  .hero-photo-wrap{height:250px!important;min-height:250px!important;}
}



/* === 최종 재수정: 히어로 사진을 '배경처럼 이어지는 구조'로 배치 === */
.hero-intro{
  display:block!important;
  position:relative!important;
  min-height:560px!important;
  padding:54px 48px 48px!important;
  overflow:hidden!important;
  border-radius:34px!important;
  border:1px solid rgba(11,94,215,.12)!important;
  background:
    radial-gradient(circle at 9% 7%, rgba(255,201,40,.28) 0 86px, transparent 88px),
    radial-gradient(circle at 55% -3%, rgba(255,201,40,.18) 0 172px, transparent 174px),
    radial-gradient(circle at 95% 89%, rgba(25,183,168,.18) 0 150px, transparent 152px),
    linear-gradient(135deg,#fffdfa 0%,#fff8e8 43%,#eefbff 100%)!important;
  box-shadow:0 26px 70px -46px rgba(6,23,53,.35)!important;
}
.hero-intro::before{
  content:""!important;
  position:absolute!important;
  left:50%!important;
  top:46px!important;
  width:120px!important;
  height:120px!important;
  border-radius:999px!important;
  background:rgba(255,201,40,.18)!important;
  z-index:0!important;
}
.hero-intro::after{
  content:""!important;
  position:absolute!important;
  right:-54px!important;
  bottom:-86px!important;
  width:260px!important;
  height:260px!important;
  border-radius:999px!important;
  background:rgba(25,183,168,.17)!important;
  z-index:0!important;
}
.hero-copy{
  position:relative!important;
  z-index:4!important;
  width:52%!important;
  max-width:530px!important;
  padding-right:0!important;
}
.hero-intro h1.smile-headline{
  max-width:560px!important;
  margin-top:30px!important;
  font-size:clamp(2.7rem,4.25vw,4.15rem)!important;
  line-height:1.12!important;
  letter-spacing:-.065em!important;
  color:#061735!important;
  word-break:keep-all!important;
}
.smile-headline .headline-line{display:block!important;white-space:nowrap!important;}
.smile-headline .key-letter{display:inline!important;font-size:1em!important;font-weight:950!important;letter-spacing:-.065em!important;margin-right:0!important;}
.smile-headline .letter-s{color:#ff6b2b!important;}
.smile-headline .letter-m{color:#ffc928!important;text-shadow:0 1px 0 rgba(6,23,53,.08)!important;}
.smile-headline .letter-i{color:#16a96f!important;}
.hero-intro p.hero-tagline{
  max-width:430px!important;
  margin-top:28px!important;
  font-size:1.07rem!important;
  line-height:1.78!important;
  color:#31435f!important;
}
.hero-intro p.hero-tagline b{font-size:1.08em!important;color:#061735!important;font-weight:900!important;}
.hero-photo-wrap{
  position:absolute!important;
  z-index:1!important;
  right:0!important;
  top:0!important;
  bottom:0!important;
  width:64%!important;
  height:100%!important;
  min-height:100%!important;
  margin:0!important;
  border:0!important;
  border-radius:0 34px 34px 0!important;
  overflow:hidden!important;
  background:transparent!important;
  box-shadow:none!important;
}
.hero-photo-wrap::before{display:none!important;}
.hero-photo-wrap::after{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:2!important;
  pointer-events:none!important;
  background:linear-gradient(90deg,
    #fffdfa 0%,
    rgba(255,253,250,.94) 13%,
    rgba(255,250,235,.70) 25%,
    rgba(255,250,235,.22) 42%,
    rgba(255,250,235,0) 57%)!important;
}
.hero-photo{
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  object-fit:cover!important;
  object-position:center right!important;
  border-radius:0 34px 34px 0!important;
  transform:none!important;
}
.eyebrow{position:relative!important;z-index:5!important;background:#fff!important;border-color:rgba(255,201,40,.66)!important;}

@media(max-width:1040px){
  .hero-intro{
    display:grid!important;
    grid-template-columns:1fr!important;
    min-height:0!important;
    padding:36px 28px!important;
    gap:26px!important;
  }
  .hero-copy{width:100%!important;max-width:100%!important;}
  .hero-photo-wrap{
    position:relative!important;
    right:auto!important;top:auto!important;bottom:auto!important;
    width:100%!important;
    height:330px!important;
    min-height:330px!important;
    border-radius:28px!important;
  }
  .hero-photo{border-radius:28px!important;object-position:center center!important;}
  .hero-photo-wrap::after{background:linear-gradient(180deg,rgba(255,255,255,0) 55%,rgba(255,255,255,.34) 100%)!important;}
  .hero-intro h1.smile-headline{font-size:clamp(2.25rem,8vw,3.35rem)!important;}
}
@media(max-width:560px){
  .hero-intro{padding:28px 20px!important;border-radius:26px!important;}
  .hero-intro h1.smile-headline{font-size:2.08rem!important;line-height:1.16!important;}
  .smile-headline .headline-line{white-space:normal!important;}
  .hero-intro p.hero-tagline{font-size:.96rem!important;line-height:1.7!important;}
  .hero-photo-wrap{height:250px!important;min-height:250px!important;}
}



/* === 최종 보정: 사진을 한 발 물러난 배경형으로 배치 === */
.hero-intro{
  display:block!important;
  position:relative!important;
  min-height:560px!important;
  padding:56px 48px 50px!important;
  overflow:hidden!important;
  border-radius:34px!important;
  background:
    radial-gradient(circle at 8% 8%, rgba(255,201,40,.27) 0 86px, transparent 88px),
    radial-gradient(circle at 56% -4%, rgba(255,201,40,.16) 0 174px, transparent 176px),
    radial-gradient(circle at 92% 88%, rgba(25,183,168,.18) 0 156px, transparent 158px),
    linear-gradient(135deg,#fffdfa 0%,#fff8e9 43%,#effcff 100%)!important;
}
.hero-copy{
  position:relative!important;
  z-index:5!important;
  width:48%!important;
  max-width:490px!important;
  padding-right:0!important;
}
.hero-intro h1.smile-headline{
  max-width:470px!important;
  margin-top:30px!important;
  font-size:clamp(2.55rem,3.75vw,3.72rem)!important;
  line-height:1.14!important;
  letter-spacing:-.062em!important;
  color:#061735!important;
}
.smile-headline .headline-line{display:block!important;white-space:nowrap!important;}
.hero-intro p.hero-tagline{
  max-width:405px!important;
  margin-top:28px!important;
  font-size:1.06rem!important;
  line-height:1.78!important;
  color:#31435f!important;
}
.hero-photo-wrap{
  position:absolute!important;
  z-index:1!important;
  right:0!important;
  top:0!important;
  bottom:0!important;
  width:66%!important;
  height:100%!important;
  min-height:100%!important;
  margin:0!important;
  overflow:visible!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  border:0!important;
}
.hero-photo-wrap::before{display:none!important;}
.hero-photo-wrap::after{display:none!important;}
.hero-photo{
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  object-fit:contain!important;
  object-position:right bottom!important;
  transform:scale(0.98) translateX(10%)!important;
  transform-origin:right bottom!important;
  border-radius:0!important;
  filter:drop-shadow(0 16px 26px rgba(31,42,68,.10))!important;
  opacity:1!important;
}
@media(max-width:1040px){
  .hero-intro{
    display:grid!important;
    grid-template-columns:1fr!important;
    min-height:0!important;
    padding:36px 28px!important;
    gap:26px!important;
  }
  .hero-copy{width:100%!important;max-width:100%!important;}
  .hero-photo-wrap{
    position:relative!important;
    right:auto!important;top:auto!important;bottom:auto!important;
    width:100%!important;
    height:330px!important;
    min-height:330px!important;
    border-radius:28px!important;
  }
  .hero-photo{
    object-fit:cover!important;
    object-position:center center!important;
    transform:none!important;
    border-radius:28px!important;
  }
  .hero-photo-wrap::after{background:linear-gradient(180deg,rgba(255,255,255,0) 55%,rgba(255,255,255,.34) 100%)!important;}
  .hero-intro h1.smile-headline{font-size:clamp(2.25rem,8vw,3.35rem)!important;}
}
@media(max-width:560px){
  .hero-intro{padding:28px 20px!important;border-radius:26px!important;}
  .hero-intro h1.smile-headline{font-size:2.08rem!important;line-height:1.16!important;}
  .smile-headline .headline-line{white-space:normal!important;}
  .hero-intro p.hero-tagline{font-size:.96rem!important;line-height:1.7!important;}
  .hero-photo-wrap{height:250px!important;min-height:250px!important;}
}

/* ============================================================
   HERO — FINAL AUTHORITATIVE BLOCK (overrides all above)
   Matches reference: copy left, photo right, pills + CTA
   ============================================================ */
#about .hero-intro{
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  align-items:flex-start!important;
  position:relative!important;
  aspect-ratio:16/9!important;
  min-height:0!important;
  padding:36px 40px!important;
  overflow:hidden!important;
  border:0!important;
  border-radius:36px!important;
  margin-bottom:40px!important;
  background:linear-gradient(140deg,#fef9f3 0%,#fdedd2 40%,#fef9f3 100%)!important;
}
/* full-bleed photo behind everything */
#about .hero-bg{
  position:absolute!important;
  inset:0!important;
  z-index:0!important;
  background-size:cover!important;
  background-position:center right!important;
  background-repeat:no-repeat!important;
}
/* clean decorations that sit ON TOP of the photo (below text) */
#about .hero-deco{position:absolute!important;inset:0!important;z-index:3!important;pointer-events:none!important;overflow:hidden!important;border-radius:36px!important;}
#about .hero-deco-circle{
  position:absolute!important;
  top:-52px!important;
  left:-52px!important;
  width:120px!important;
  height:120px!important;
  border-radius:50%!important;
  background:radial-gradient(circle at 60% 60%, #ffd45c 0%, #ffc83c 58%, rgba(255,200,60,0) 74%)!important;
  opacity:.55!important;
}
#about .hero-deco-blob{
  position:absolute!important;
  bottom:-56px!important;
  right:-44px!important;
  width:130px!important;
  height:130px!important;
  border-radius:50%!important;
  background:radial-gradient(circle at 40% 40%, rgba(52,192,160,.42) 0%, rgba(52,192,160,.20) 56%, rgba(52,192,160,0) 74%)!important;
}
/* left-to-right white scrim so the copy stays readable over the photo */
#about .hero-intro::after{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  background:linear-gradient(100deg,
    rgba(254,249,243,.98) 0%,
    rgba(254,249,243,.95) 34%,
    rgba(254,249,243,.72) 52%,
    rgba(254,249,243,.20) 70%,
    rgba(254,249,243,0) 84%)!important;
  pointer-events:none!important;
}
#about .hero-copy{
  position:relative!important;
  z-index:5!important;
  width:100%!important;
  max-width:330px!important;
  margin-right:auto!important;
  padding-right:8px!important;
}
#about .hero-intro h1.smile-headline{
  max-width:none!important;
  margin-top:0!important;
  margin-bottom:2px!important;
  font-size:clamp(1.6rem,2.2vw,2.3rem)!important;
  line-height:1.14!important;
  letter-spacing:-.05em!important;
  color:#1f2a44!important;
  font-weight:800!important;
}
#about .smile-headline .headline-line{display:block!important;white-space:nowrap!important;}
#about .smile-headline .key-letter{
  position:relative!important;
  display:inline-block!important;
  font-weight:900!important;
  letter-spacing:-.06em!important;
  margin-right:.01em!important;
}
#about .smile-headline .letter-s{color:#f2542d!important;}
#about .smile-headline .letter-m{color:#f5a623!important;}
#about .smile-headline .letter-i{color:#22a06b!important;}
#about .hero-intro p.hero-tagline{
  max-width:340px!important;
  margin-top:12px!important;
  font-size:.85rem!important;
  line-height:1.55!important;
  color:#48526b!important;
}
#about .hero-intro p.hero-tagline b{color:#1f2a44!important;font-weight:800!important;}

/* info pills */
#about .hero-meta{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:10px!important;
  margin-top:14px!important;
}
#about .hero-pill{
  display:inline-flex!important;
  align-items:center!important;
  gap:8px!important;
  background:#fff!important;
  border:1px solid #ececf1!important;
  border-radius:14px!important;
  padding:7px 12px!important;
  box-shadow:0 10px 26px -18px rgba(31,42,68,.28)!important;
}
#about .hero-pill-ic{
  font-size:.95rem!important;
  line-height:1!important;
  filter:saturate(1.1)!important;
}
#about .hero-pill-txt{
  font-family:'Pretendard',sans-serif!important;
  font-weight:700!important;
  font-size:.82rem!important;
  color:#2f3a52!important;
  display:flex!important;
  flex-direction:column!important;
  line-height:1.3!important;
}
#about .hero-pill-txt small{
  font-weight:600!important;
  font-size:.66rem!important;
  color:#8a92a3!important;
}

/* CTA */
#about .hero-cta{
  display:inline-flex!important;
  align-items:center!important;
  gap:8px!important;
  margin-top:24px!important;
  padding:11px 24px!important;
  font-size:.92rem!important;
  font-weight:800!important;
  letter-spacing:-.02em!important;
  color:#fff!important;
  border:0!important;
  border-radius:999px!important;
  background:linear-gradient(135deg,#1f6fe5,#0b4fc4)!important;
  box-shadow:0 16px 30px -14px rgba(11,79,196,.55)!important;
  transition:transform .15s ease,box-shadow .2s ease!important;
}
#about .hero-cta:hover{
  transform:translateY(-2px)!important;
  box-shadow:0 20px 34px -14px rgba(11,79,196,.6)!important;
}
#about .hero-cta-arrow{
  font-size:1.4rem!important;
  line-height:1!important;
  font-weight:700!important;
  margin-top:-2px!important;
}

/* ===== collage (replaces photo) ===== */
#about .hero-collage{
  position:relative!important;
  width:100%!important;
  height:100%!important;
  min-height:430px!important;
  z-index:2!important;
}
#about .hc-blob{position:absolute!important;border-radius:50%!important;filter:blur(2px)!important;z-index:0!important;}
#about .hc-blob-1{
  width:300px!important;height:300px!important;
  top:6%!important;right:2%!important;
  background:radial-gradient(circle at 35% 30%,rgba(255,201,40,.55),rgba(255,201,40,.16))!important;
}
#about .hc-blob-2{
  width:230px!important;height:230px!important;
  bottom:2%!important;left:6%!important;
  background:radial-gradient(circle at 35% 30%,rgba(52,192,160,.42),rgba(52,192,160,.12))!important;
}
#about .hc-dots{
  position:absolute!important;
  top:14%!important;left:6%!important;
  width:96px!important;height:96px!important;
  z-index:0!important;
  background-image:radial-gradient(rgba(31,42,68,.16) 2.2px,transparent 2.2px)!important;
  background-size:16px 16px!important;
  opacity:.7!important;
}
#about .hc-card{
  position:absolute!important;
  display:grid!important;
  place-items:center!important;
  background:#fff!important;
  border-radius:24px!important;
  box-shadow:0 20px 40px -20px rgba(31,42,68,.30)!important;
  z-index:2!important;
  animation:hcFloat 5.5s ease-in-out infinite!important;
}
#about .hc-card span{font-size:2rem!important;line-height:1!important;}
#about .hc-card-main{
  width:210px!important;height:230px!important;
  left:50%!important;top:50%!important;
  transform:translate(-50%,-50%)!important;
  border-radius:30px!important;
  background:linear-gradient(150deg,#ffffff,#f3f9ff)!important;
  box-shadow:0 30px 60px -24px rgba(11,79,196,.38)!important;
  z-index:3!important;
  gap:14px!important;
  animation:none!important;
}
#about .hc-card-main .hc-emoji{font-size:4.4rem!important;line-height:1!important;}
#about .hc-card-main .hc-label{
  font-family:'Pretendard',sans-serif!important;
  font-weight:800!important;
  font-size:1.05rem!important;
  color:#1f2a44!important;
  text-align:center!important;
  line-height:1.35!important;
}
#about .hc-card-a{width:78px!important;height:78px!important;top:9%!important;left:14%!important;animation-delay:0s!important;}
#about .hc-card-b{width:82px!important;height:82px!important;top:16%!important;right:9%!important;animation-delay:.6s!important;}
#about .hc-card-c{width:80px!important;height:80px!important;bottom:16%!important;left:9%!important;animation-delay:1.1s!important;}
#about .hc-card-d{width:84px!important;height:84px!important;bottom:9%!important;right:14%!important;animation-delay:1.6s!important;}
#about .hc-chip{
  position:absolute!important;
  z-index:4!important;
  background:#fff!important;
  border-radius:999px!important;
  padding:10px 18px!important;
  font-family:'Pretendard',sans-serif!important;
  font-weight:700!important;
  font-size:.9rem!important;
  color:#2f3a52!important;
  white-space:nowrap!important;
  box-shadow:0 16px 32px -18px rgba(31,42,68,.30)!important;
  animation:hcFloat 6s ease-in-out infinite!important;
}
#about .hc-chip-1{top:36%!important;left:0%!important;animation-delay:.3s!important;}
#about .hc-chip-2{bottom:34%!important;right:0%!important;animation-delay:1.3s!important;}
@keyframes hcFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
@media(prefers-reduced-motion:reduce){
  #about .hc-card,#about .hc-chip{animation:none!important;}
}

/* fix eyebrow badge so it stays on one line */
#about .eyebrow{white-space:nowrap!important;max-width:none!important;}

/* responsive: photo hero */
@media(max-width:1040px){
  #about .hero-intro{
    aspect-ratio:auto!important;
    min-height:480px!important;
    padding:36px 32px!important;
  }
  #about .smile-headline .headline-line{white-space:normal!important;}
  #about .hero-copy{max-width:100%!important;}
  /* stronger scrim + shift photo focus so text stays readable when narrower */
  #about .hero-bg{background-position:center 20%!important;}
  #about .hero-intro::after{
    background:linear-gradient(100deg,
      rgba(254,249,243,.97) 0%,
      rgba(254,249,243,.90) 42%,
      rgba(254,249,243,.55) 62%,
      rgba(254,249,243,.15) 80%)!important;
  }
}
/* BUILD-MARKER: hero-stacked-v5 — 이 주석이 배포된 파일에 있으면 최신본입니다 */
@media(max-width:560px){
  /* 모바일: 글을 위, 사진을 아래로 쌓되 경계를 부드럽게 녹임 */
  #about #heroSec.hero-intro{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    justify-content:flex-start!important;
    gap:0!important;
    aspect-ratio:auto!important;
    min-height:0!important;
    height:auto!important;
    padding:0!important;
    border-radius:26px!important;
    overflow:hidden!important;
    background:#fff!important;
    box-shadow:0 18px 40px -22px rgba(31,42,68,.35)!important;
    position:relative!important;
  }
  /* 글 영역: 카드 위쪽, 흰 배경 (버튼은 사진 위로 내리므로 하단 여백 축소) */
  #about #heroSec .hero-copy{
    position:static!important;
    order:1!important;
    z-index:2!important;
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    padding:28px 22px 22px!important;
    background:#fff!important;
  }
  /* 사진: 카드 아래쪽 */
  #about #heroSec .hero-bg{
    position:relative!important;
    inset:auto!important;
    order:2!important;
    width:100%!important;
    height:240px!important;
    min-height:240px!important;
    margin:0!important;
    border-radius:0!important;
    background-position:center 26%!important;
    background-size:cover!important;
    background-repeat:no-repeat!important;
    z-index:1!important;
  }
  /* 사진 위쪽을 흰색에서 서서히 페이드 → 글 영역과 자연스럽게 이어짐 */
  #about #heroSec .hero-bg::before{
    content:""!important;
    display:block!important;
    position:absolute!important;
    left:0!important;right:0!important;top:0!important;
    height:96px!important;
    background:linear-gradient(180deg,
      #ffffff 0%,
      rgba(255,255,255,.72) 34%,
      rgba(255,255,255,.32) 64%,
      rgba(255,255,255,0) 100%)!important;
    pointer-events:none!important;
    z-index:1!important;
  }
  /* 오버레이용 장식/스크림은 스택 레이아웃에서 비활성화 */
  #about #heroSec::after,
  #about #heroSec .hero-deco{display:none!important;}
  #about #heroSec h1.smile-headline{
    font-size:1.9rem!important;
    line-height:1.16!important;
    margin:0 0 4px!important;
  }
  #about #heroSec .smile-headline .headline-line{white-space:nowrap!important;}
  #about #heroSec p.hero-tagline{
    max-width:100%!important;
    margin-top:12px!important;
    font-size:.9rem!important;
  }
  #about #heroSec .hero-meta{flex-direction:column!important;align-items:stretch!important;}
  #about #heroSec .hero-pill{justify-content:flex-start!important;}
  /* 모바일: 하단 노란 '신청하기' 바가 있으므로 히어로 파란 버튼은 숨김 */
  #about #heroSec .hero-cta{display:none!important;}
}
@media(max-width:360px){
  #about #heroSec h1.smile-headline{font-size:1.7rem!important;}
  #about #heroSec .smile-headline .headline-line{white-space:normal!important;}
}

/* ===== Korean line-break fix: keep words whole, break only at spaces ===== */
body, p, h1, h2, h3, h4, h5, h6, li, span, a, td, th, div,
.sec-head p, .feat p, .feat h3, .cohort, .note, .info-row,
.day h4, .day .dtag, .days .day *, .faq-q, .faq-a{
  word-break:keep-all!important;
  overflow-wrap:break-word!important;
}
/* ===== equalize DAY card header heights + center title ===== */
.days .day .top{
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  min-height:78px!important;
  padding-left:14px!important;
  padding-right:14px!important;
  box-sizing:border-box!important;
}
.days .day .top .t{
  font-size:.95rem!important;
  letter-spacing:-.02em!important;
  white-space:nowrap!important;
}
/* ===== subtle sub-note under a list item (replaces parentheses) ===== */
.day ul li .li-sub{
  display:block!important;
  margin-top:2px!important;
  font-size:.76rem!important;
  color:#9aa3b2!important;
  font-weight:400!important;
  line-height:1.35!important;
}
/* === 스플래시 인트로 화면 === */
#splash{position:fixed;inset:0;z-index:9999;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;background:radial-gradient(circle at 50% 40%,#eaf3ff 0%,var(--paper) 70%);transition:opacity .6s ease,visibility .6s ease}
#splash.hide{opacity:0;visibility:hidden;pointer-events:none}
#splash img{width:min(260px,52vw);height:auto;animation:splashPop .85s cubic-bezier(.22,1.2,.36,1) both;cursor:pointer}
body.splash-lock{overflow:hidden}
@keyframes splashPop{0%{opacity:0;transform:scale(.72) translateY(14px)}60%{opacity:1;transform:scale(1.04) translateY(0)}100%{opacity:1;transform:scale(1) translateY(0)}}
@media(prefers-reduced-motion:reduce){#splash img{animation:none}}
/* ===== 관리자 콘솔(사이드바) — 평가위원 시스템 스타일 이식 ===== */
.admin-shell{display:none;position:fixed;inset:0;z-index:200;background:var(--paper)}
.admin-shell.on{display:block}
.admin-side{position:fixed;top:0;left:0;width:250px;height:100vh;background:linear-gradient(180deg,#0b1c3f,#061735);color:#fff;padding:26px 18px;display:flex;flex-direction:column;gap:6px;z-index:2}
.admin-side .as-brand{display:flex;align-items:center;gap:8px;font-weight:800;font-size:1.15rem;margin-bottom:8px}
.admin-side .as-brand .dot{width:30px;height:30px;border-radius:50%;background:var(--sun);display:grid;place-items:center;color:#3a2a00}
.admin-side .as-brand-logo{height:34px;width:auto;filter:drop-shadow(0 2px 5px rgba(0,0,0,.25))}
.admin-side .as-sub{font-size:12px;opacity:.85;margin-bottom:18px}
.admin-side ul{list-style:none;display:flex;flex-direction:column;gap:4px}
.admin-side li{padding:11px 14px;border-radius:10px;cursor:pointer;font-size:14px;font-weight:600;transition:.15s;color:#eaf3ff}
.admin-side li:hover{background:rgba(255,255,255,.12)}
.admin-side li.active{background:#fff;color:#0b5ed7}
.admin-side .as-spacer{flex:1}
.admin-side .as-auth{font-size:12px;opacity:.85;padding:6px 14px 2px;border-top:1px solid rgba(255,255,255,.2);margin-top:8px;text-align:center}
.admin-side .as-logout{color:#ffd6d6;padding-top:2px;border-top:none;margin-top:2px}
.admin-main{margin-left:250px;padding:38px 44px;height:100vh;overflow-y:auto;background:var(--paper)}
.admin-main h1{font-size:26px;margin-bottom:6px;color:var(--ink)}
.admin-main .a-sub{color:var(--ink-soft);margin-bottom:22px;font-size:14px}
.admin-sec{display:none}
.admin-sec.active{display:block}
.admin-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px;box-shadow:var(--shadow);margin-bottom:20px}
.admin-actions{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px}
.btn-dd{position:relative;display:inline-flex}
.btn-dd .btn{white-space:nowrap}
.btn-dd-menu{display:none;position:absolute;top:calc(100% + 8px);left:0;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 14px 30px -14px rgba(11,23,53,.28);padding:6px;min-width:190px;z-index:30}
.btn-dd.open .btn-dd-menu{display:flex;flex-direction:column;gap:2px}
.btn-dd-menu button{display:block;width:100%;text-align:left;background:none;border:none;border-radius:9px;padding:9px 12px;font-family:'Pretendard';font-weight:600;font-size:.86rem;color:var(--ink);cursor:pointer;transition:background .15s}
.btn-dd-menu button:hover{background:#f4f6f9}
.admin-table{width:100%;border-collapse:collapse}
.admin-table th,.admin-table td{border:1px solid var(--line);padding:10px;font-size:13px;text-align:center;vertical-align:middle}
.admin-table th{background:#f4f6f9;color:#48526b;font-weight:700}
.admin-table .row-chk,.admin-table #chkAll{width:16px;height:16px;cursor:pointer;accent-color:var(--sky)}
.admin-table td:first-child,.admin-table th:first-child{width:34px;padding-left:6px;padding-right:6px}
.status-select{font-family:'Pretendard';font-size:12px;font-weight:700;padding:5px 26px 5px 10px;border-radius:8px;border:1.5px solid var(--line);background-color:#fff;cursor:pointer;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'><path d='M1 1l4 4 4-4' fill='none' stroke='%2348526b' stroke-width='1.6' stroke-linecap='round'/></svg>");background-repeat:no-repeat;background-position:right 9px center;transition:border-color .15s,background-color .15s}
.status-select:focus{outline:none;border-color:var(--sky)}
.status-select.status-confirmed{color:var(--mint-deep);border-color:var(--mint-deep);background-color:rgba(16,167,161,.07)}
.status-select.status-rejected{color:var(--coral);border-color:var(--coral);background-color:rgba(255,107,107,.07)}
.status-select.status-pending{color:var(--ink-soft);border-color:var(--line);background-color:#fff}
.a-empty{padding:40px;text-align:center;color:var(--ink-soft)}
.a-stat{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:18px}
.stat-group{background:#fbfcfe;border:1px solid var(--line);border-radius:14px;padding:12px 14px 14px}
.stat-group-label{font-size:12px;font-weight:700;color:var(--ink-soft);margin-bottom:9px;padding-left:2px;letter-spacing:.02em}
.stat-row{display:flex;gap:10px;flex-wrap:wrap}
.stat-row .st{background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px 16px;min-width:82px;text-align:center}
.stat-row .st b{display:block;font-size:23px;color:var(--sky-deep);line-height:1.15}
.stat-row .st span{font-size:12px;color:var(--ink-soft)}
@media(max-width:820px){
  .admin-side{width:100%;height:auto;position:relative;flex-direction:row;flex-wrap:wrap;gap:6px;padding:14px}
  .admin-side ul{flex-direction:row;flex-wrap:wrap}
  .admin-side .as-spacer{display:none}
  .admin-side .as-auth{border:none;margin:0;padding:4px 8px;width:100%}
  .admin-side .as-logout{margin-top:0}
  .admin-main{margin-left:0;padding:20px}
}
@media(max-width:560px){
  .admin-main{padding:16px 12px}
  .admin-main h1{font-size:21px}
  .admin-main .a-sub{font-size:13px;margin-bottom:16px}
  /* 통계 카드: 한 줄에 2개씩 균등 배치 */
  .a-stat{gap:8px}
  .stat-group{flex:1 1 100%;padding:10px 11px 12px}
  .stat-row .st{flex:1 1 auto;min-width:0;padding:9px 8px}
  .stat-row .st b{font-size:20px}
  /* 필터 버튼: 터치하기 좋게, 넘치면 줄바꿈 */
  .admin-filter{flex-wrap:wrap;gap:6px}
  .af-btn{flex:1 1 auto;padding:9px 14px;font-size:13px}
  /* 표: 가로 스크롤 안내 + 여백 축소 */
  .tbl-wrap{position:relative}
  .tbl-wrap::after{content:"← 좌우로 넘겨서 전체 항목 보기 →";display:block;text-align:center;font-size:11px;color:var(--ink-soft);padding:6px 0 2px}
  .admin-table th,.admin-table td{padding:7px 8px;font-size:12px;white-space:nowrap}
  .admin-actions{flex-direction:column}
  .admin-actions .btn{width:100%}
  .btn-dd{width:100%}
  .btn-dd-menu{left:0;right:0;width:100%;min-width:0}
}
/* 관리자 로그인 모달 */
.auth-error{color:var(--coral);font-size:13px;margin-top:6px;min-height:18px}
.login-field{margin-bottom:12px}
.login-field label{display:block;font-size:13px;color:var(--ink-soft);margin-bottom:5px;font-weight:600}
.login-field input{width:100%;padding:11px 13px;border:1px solid var(--line);border-radius:9px;font-size:14px;font-family:inherit}
/* 관리자 신청/대기 필터 */
.admin-filter{display:flex;gap:6px;margin:0 0 14px;flex-wrap:wrap}
.af-btn{padding:6px 14px;border:1px solid var(--line);background:#fff;border-radius:999px;font-size:12.5px;font-weight:600;color:var(--ink-soft);cursor:pointer;font-family:inherit;transition:all .18s}
.af-btn:hover{border-color:var(--sky)}
.af-btn.active{background:var(--sky);border-color:var(--sky);color:#fff}
.af-btn[data-filter="wait"].active{background:var(--sun-deep);border-color:var(--sun-deep)}
.wl-order{display:inline-block;min-width:20px;text-align:center;font-weight:700;color:var(--sun-deep)}
/* 진행 바: 블루→그린 그라데이션(전체 트랙에 표시) + 미신청분 마스크 */
.cohort .bar{position:relative !important;height:8px !important;border-radius:999px !important;overflow:hidden !important;margin:10px 0 5px !important;background:linear-gradient(90deg,#2f6fe0 0%,#1f9ec9 40%,#16c07a 75%,#12b869 100%) !important}
.cohort .bar span{position:absolute !important;top:0 !important;right:0 !important;bottom:0 !important;left:auto !important;height:100% !important;width:0;background:#e6ecf3 !important;border-radius:0 !important}
/* ==========================================================================
   관리자 콘솔 — 시안 기반 리디자인 (Linear / Notion / Toss Admin 톤)
   Primary #2563EB · Background #F8FAFC · Card #FFFFFF · Border #E5E7EB
   Radius: Button 12px / Input 10px / Card 16px · Shadow 매우 약하게
   ========================================================================== */
.admin-shell{
  --a-bg:#ffffff; --a-bg-soft:#F8FAFC; --a-bg-sunken:#F1F5F9;
  --a-border:#E5E7EB; --a-border-soft:#EEF2F7;
  --a-text:#111827; --a-text-soft:#374151; --a-text-faint:#6B7280;
  --a-accent:var(--sky-deep); --a-accent-hov:#184a82; --a-accent-soft:#EAF2FE; --a-accent-border:#BFDBFE;
  --a-purple:#6D6FE0; --a-purple-soft:#EEEDFD;
  --a-danger:#DC2626; --a-danger-soft:#FEE2E2; --a-danger-border:#FCA5A5; --a-danger-text:#DC2626;
  --a-success:#15803D; --a-success-soft:#DCFCE7;
  --a-warn:#B45309; --a-warn-soft:#FEF3C7;
  --a-radius:16px; --a-radius-sm:10px; --a-radius-btn:12px;
  --a-shadow:0 2px 8px rgba(15,23,42,.04);
  --a-shadow-hover:0 6px 20px rgba(15,23,42,.06);
  font-family:'Pretendard',-apple-system,sans-serif;
  color:var(--a-text);
  background:var(--a-bg-soft);
}
.admin-shell *{transition:background .15s,border-color .15s,color .15s,box-shadow .15s;}

/* --- 사이드바 --- */
.admin-shell .admin-side{
  background:
    radial-gradient(circle at 10% 78%, rgba(255,201,40,.30) 0 92px, transparent 94px),
    radial-gradient(circle at 22% 92%, rgba(25,183,168,.28) 0 108px, transparent 110px),
    #fff;
  color:var(--a-text); width:240px;
  border-right:1px solid var(--a-border); box-shadow:none; padding:36px 18px 22px;
  display:flex; flex-direction:column; gap:6px;
}
.admin-shell .admin-side .as-brand{color:var(--a-text);font-size:1.02rem;font-weight:700;gap:9px;margin-bottom:2px}
.admin-shell .admin-side .as-brand-logo{height:26px;filter:none}
.admin-shell .admin-side .as-sub{color:var(--a-text-faint);font-size:11.5px;margin-bottom:12px;font-weight:500}
.admin-shell .admin-side ul{gap:2px}
.admin-shell .admin-side li{
  color:#4B5563;font-weight:600;font-size:13.5px;border-radius:10px;
  padding:10px 12px;display:flex;align-items:center;gap:10px;cursor:pointer;
}
.admin-shell .as-ico{width:18px;height:18px;flex-shrink:0}
.admin-shell .admin-side li:hover{background:var(--a-bg-soft);color:var(--a-text)}
.admin-shell .admin-side li.active{background:var(--a-accent-soft);color:var(--a-accent)}
.admin-shell .admin-side li.active .as-ico{color:var(--a-accent)}
.admin-shell .as-profile-card{display:flex;align-items:center;gap:10px;padding:12px;border:1px solid var(--a-border);border-radius:14px;margin:10px 0 4px;background:#fff}
.admin-shell .as-avatar{width:36px;height:36px;border-radius:50%;background:var(--a-accent-soft);color:var(--a-accent);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;flex-shrink:0}
.admin-shell .as-avatar svg,.admin-shell .mini-avatar svg{width:19px;height:19px}
.admin-shell .as-profile-text{min-width:0}
.admin-shell .as-profile-name{font-size:13px;font-weight:700;color:var(--a-text)}
.admin-shell .as-profile-card .as-auth{color:var(--a-text-faint);font-size:11.5px;border-top:none;padding:0;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.admin-shell .admin-side .as-logout{
  color:var(--a-text-soft);opacity:1;font-size:13px;font-weight:600;
  display:flex;align-items:center;gap:8px;
  border:1px solid var(--a-border);border-radius:14px;padding:12px;
  background:#fff;margin-top:8px;
}
.admin-shell .admin-side .as-logout:hover{background:var(--a-bg-soft);color:var(--a-text)}
.admin-shell .admin-side .as-logout .as-logout-ico{width:16px;height:16px;flex-shrink:0;color:var(--a-text-faint)}

/* --- 탑바 --- */
.admin-shell .admin-topbar{display:flex;justify-content:flex-end;align-items:center;gap:10px;padding:16px 0 0;margin-bottom:22px}
.admin-shell .icon-btn{position:relative;width:38px;height:38px;border-radius:10px;border:1px solid var(--a-border);background:#fff;display:flex;align-items:center;justify-content:center;color:var(--a-text-soft);cursor:pointer}
.admin-shell .icon-btn:hover{background:var(--a-bg-soft)}
.admin-shell .icon-btn svg{width:18px;height:18px}
.admin-shell .icon-btn.sm{width:30px;height:30px;border:none;background:none}
.admin-shell .icon-btn.sm svg{width:16px;height:16px}
.admin-shell .icon-btn.sm:hover{background:var(--a-bg-soft)}
.admin-shell .notif-badge{position:absolute;top:-4px;right:-4px;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:var(--a-danger);color:#fff;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center}
.admin-shell .notif-empty,.admin-shell .notif-item{padding:14px 12px;font-size:13px;color:var(--a-text-soft);width:240px}
.admin-shell .notif-item b{color:var(--a-text)}
.admin-shell .profile-trigger{display:flex;align-items:center;gap:8px;padding:6px 10px 6px 6px;border-radius:999px;border:1px solid var(--a-border);background:#fff;font-size:13px;font-weight:600;color:var(--a-text);cursor:pointer}
.admin-shell .profile-trigger:hover{background:var(--a-bg-soft)}
.admin-shell .mini-avatar{width:26px;height:26px;border-radius:50%;background:var(--a-accent-soft);color:var(--a-accent);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:12px}

/* --- 메인 영역 --- */
.admin-shell .admin-main{background:var(--a-bg-soft);padding:20px 40px 40px}
.admin-shell .admin-main h1{font-size:24px;font-weight:700;color:var(--a-text);letter-spacing:-.01em;margin-bottom:4px}
.admin-shell .admin-main .a-sub{color:var(--a-text-soft);font-size:14px;margin-bottom:20px;font-weight:400}
.admin-shell .a-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:22px;flex-wrap:wrap}
.admin-shell .a-head-actions{display:flex;gap:8px;flex-wrap:wrap;flex-shrink:0}

/* --- 버튼 --- */
.admin-shell .btn{
  border-radius:var(--a-radius-btn)!important; font-weight:600!important; font-size:13.5px!important;
  padding:10px 16px!important; box-shadow:none!important; display:inline-flex; align-items:center; gap:7px;
  background:#fff!important; color:var(--a-text)!important; border:1px solid var(--a-border)!important;
  height:44px; box-sizing:border-box; white-space:nowrap;
}
.admin-shell .btn svg{width:16px;height:16px;flex-shrink:0}
.admin-shell .btn:hover{transform:none;background:var(--a-bg-soft)!important}
.admin-shell .btn.outline{background:#fff!important;color:var(--a-text-soft)!important;border-color:var(--a-border)!important}
.admin-shell .btn.outline.sm{height:38px;padding:8px 12px!important;font-size:12.5px!important}
.admin-shell .btn.primary{background:var(--a-accent)!important;color:#fff!important;border:none!important}
.admin-shell .btn.primary:hover{background:var(--a-accent-hov)!important}
.admin-shell .btn.icon-only{padding:10px!important;width:44px;justify-content:center}
.admin-shell .btn.block{width:100%;justify-content:center}
.admin-shell .dd-danger{color:var(--a-danger-text)!important}
.admin-shell .dd-danger:hover{background:var(--a-danger-soft)!important}

/* --- 드롭다운 메뉴 --- */
.admin-shell .btn-dd{position:relative;display:inline-flex}
.admin-shell .btn-dd-menu{
  display:none;position:absolute;top:calc(100% + 8px);left:0;background:#fff;
  border:1px solid var(--a-border);border-radius:14px;box-shadow:var(--a-shadow-hover);
  padding:6px;min-width:200px;z-index:40;
}
.admin-shell .btn-dd.open>.btn-dd-menu{display:flex;flex-direction:column;gap:2px}
.admin-shell .btn-dd-menu button{display:block;width:100%;text-align:left;background:none;border:none;border-radius:8px;padding:9px 11px;font-family:'Pretendard';font-weight:500;font-size:13.5px;color:var(--a-text);cursor:pointer}
.admin-shell .btn-dd-menu button:hover{background:var(--a-bg-soft)}
.admin-shell .btn-dd-menu button.is-disabled{color:var(--a-text-faint);opacity:.5;cursor:not-allowed}
.admin-shell .btn-dd-menu button.is-disabled:hover{background:none}
.admin-shell .dd-group-label{font-size:11px;font-weight:700;color:var(--a-text-faint);text-transform:uppercase;letter-spacing:.03em;padding:8px 11px 4px}
.admin-shell .dd-btn-row{display:flex;gap:6px;padding:0 11px 8px}
.admin-shell .dd-btn-row button{flex:1;text-align:center;background:var(--a-bg-soft);border-radius:8px;padding:8px 0;font-weight:600;font-size:13px;color:var(--a-text)}
.admin-shell .dd-btn-row button:hover{background:var(--a-accent-soft);color:var(--a-accent)}
.admin-shell .sel-count{opacity:.65;font-weight:500}
.admin-shell .btn-dd-menu.wide{min-width:230px}
.admin-shell .dd-right .btn-dd-menu,.admin-shell .row-dd .btn-dd-menu{left:auto;right:0}
.admin-shell .dd-divider{height:1px;background:var(--a-border-soft);margin:5px 3px}

/* --- 통계 카드 --- */
.admin-shell .stat-cards-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px;margin-bottom:20px}
.admin-shell .cohort-summary{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}
.admin-shell .cohort-chip{display:inline-flex;align-items:center;gap:5px;background:#fff;border:1px solid var(--a-border);border-radius:999px;padding:7px 14px;font-size:13px;color:var(--a-text-soft);cursor:pointer;transition:background .15s,border-color .15s}
.admin-shell .cohort-chip b{color:var(--a-accent);font-weight:700}
.admin-shell .cohort-chip:hover{background:var(--a-accent-soft);border-color:var(--a-accent-border)}
.admin-shell .stat-card{background:#fff;border:1px solid var(--a-border);border-radius:var(--a-radius);box-shadow:var(--a-shadow);padding:20px 22px;display:flex;align-items:center;gap:14px}
.admin-shell .stat-icon{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.admin-shell .stat-icon svg{width:22px;height:22px}
.admin-shell .stat-icon.ico-purple{background:var(--a-purple-soft);color:var(--a-purple)}
.admin-shell .stat-icon.ico-amber{background:var(--a-warn-soft);color:var(--a-warn)}
.admin-shell .stat-icon.ico-green{background:var(--a-success-soft);color:var(--a-success)}
.admin-shell .stat-icon.ico-red{background:var(--a-danger-soft);color:var(--a-danger)}
.admin-shell .stat-icon.ico-gray{background:#E5E7EB;color:#4B5563}
.admin-shell .stat-num{font-size:22px;font-weight:700;color:var(--a-text);line-height:1.15}
.admin-shell .stat-num .unit{font-size:13px;font-weight:600;color:var(--a-text-faint);margin-left:2px}
.admin-shell .stat-label{font-size:12.5px;color:var(--a-text-soft);font-weight:500;margin-top:1px}

/* --- 검색/필터 바 --- */
.admin-shell .filter-bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px}
.admin-shell .fb-search{flex:1 1 240px;min-width:200px;display:flex;align-items:center;gap:8px;height:44px;padding:0 14px;border:1px solid #D1D5DB;border-radius:var(--a-radius-sm);background:#fff}
.admin-shell .fb-search svg{width:16px;height:16px;color:var(--a-text-faint);flex-shrink:0}
.admin-shell .fb-search input{border:none;outline:none;font-size:13.5px;font-family:inherit;width:100%;color:var(--a-text);background:none}
.admin-shell .filter-bar select,.admin-shell .filter-bar input[type=date]{
  height:44px;padding:0 12px;border:1px solid #D1D5DB;border-radius:var(--a-radius-sm);
  background:#fff;font-family:'Pretendard';font-size:13px;color:var(--a-text);cursor:pointer;min-width:120px;
  box-sizing:border-box;line-height:42px;
}
.admin-shell .filter-bar input[type=date]{display:inline-flex;align-items:center}
.admin-shell .filter-bar input[type=date]::-webkit-calendar-picker-indicator{margin-left:6px;padding:2px;opacity:.6}
.admin-shell .filter-bar .btn{height:44px!important;box-sizing:border-box;flex-shrink:0}
.admin-shell .filter-bar select:focus,.admin-shell .filter-bar input:focus,.admin-shell .fb-search:focus-within{outline:none;border-color:var(--a-accent)}

/* --- 필터 탭 --- */
.admin-shell .admin-filter{gap:22px;margin:0 0 16px;background:none;padding:0 2px;border-bottom:1px solid var(--a-border);display:flex;width:100%;max-width:100%;overflow-x:auto}
.admin-shell .af-btn{
  border:none;background:none;border-radius:0;padding:10px 2px;font-size:13.5px;font-weight:600;
  color:var(--a-text-faint);white-space:nowrap;position:relative;top:1px;
  border-bottom:2px solid transparent;
}
.admin-shell .af-btn:hover{color:var(--a-text)}
.admin-shell .af-btn.active{background:none!important;color:var(--a-accent)!important;box-shadow:none;border-bottom-color:var(--a-accent)}

/* --- 대시보드 본문: 표 + 우측 상세패널 --- */
.admin-shell .dash-body{display:flex;gap:20px;align-items:flex-start}
.admin-shell .table-card{flex:1;min-width:0;padding:0;overflow:hidden}
.admin-shell .admin-card{background:#fff;border:1px solid var(--a-border);border-radius:var(--a-radius);box-shadow:var(--a-shadow);padding:24px}
.admin-shell .table-card .tbl-wrap{border:none;border-radius:0;box-shadow:none}

/* --- 표 --- */
.admin-shell .admin-table{font-size:13.5px;width:100%;min-width:960px;table-layout:fixed}
.admin-shell .admin-table td,.admin-shell .admin-table th{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.admin-shell .admin-table td:first-child,.admin-shell .admin-table th:first-child,
.admin-shell .admin-table td:last-child,.admin-shell .admin-table th:last-child{overflow:visible}
/* 체크박스 있는 기본형: 체크 · 신청자 · 학교/학년 · 보호자 · 연락처 · 상태 · 신청일 · 액션 */
.admin-shell .admin-table:not(.no-check) th:nth-child(1),.admin-shell .admin-table:not(.no-check) td:nth-child(1){width:40px}
.admin-shell .admin-table:not(.no-check) th:nth-child(2),.admin-shell .admin-table:not(.no-check) td:nth-child(2){width:20%}
.admin-shell .admin-table:not(.no-check) th:nth-child(3),.admin-shell .admin-table:not(.no-check) td:nth-child(3){width:16%}
.admin-shell .admin-table:not(.no-check) th:nth-child(4),.admin-shell .admin-table:not(.no-check) td:nth-child(4){width:12%}
.admin-shell .admin-table:not(.no-check) th:nth-child(5),.admin-shell .admin-table:not(.no-check) td:nth-child(5){width:14%}
.admin-shell .admin-table:not(.no-check) th:nth-child(6),.admin-shell .admin-table:not(.no-check) td:nth-child(6){width:10%}
.admin-shell .admin-table:not(.no-check) th:nth-child(7),.admin-shell .admin-table:not(.no-check) td:nth-child(7){width:14%}
/* 체크박스 없는 변형(참가자 관리 등): 신청자 · 학교/학년 · 보호자 · 연락처 · 상태 · 신청일 · 액션 */
.admin-shell .admin-table.no-check th:nth-child(1),.admin-shell .admin-table.no-check td:nth-child(1){width:22%}
.admin-shell .admin-table.no-check th:nth-child(2),.admin-shell .admin-table.no-check td:nth-child(2){width:18%}
.admin-shell .admin-table.no-check th:nth-child(3),.admin-shell .admin-table.no-check td:nth-child(3){width:13%}
.admin-shell .admin-table.no-check th:nth-child(4),.admin-shell .admin-table.no-check td:nth-child(4){width:15%}
.admin-shell .admin-table.no-check th:nth-child(5),.admin-shell .admin-table.no-check td:nth-child(5){width:11%}
.admin-shell .admin-table.no-check th:nth-child(6),.admin-shell .admin-table.no-check td:nth-child(6){width:15%}
.admin-shell .admin-table th{background:#fff;color:var(--a-text-faint);font-weight:600;font-size:11.5px;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--a-border);height:52px;padding:0 14px;text-align:center}
.admin-shell .admin-table td{border-bottom:1px solid var(--a-border-soft);color:var(--a-text);padding:0 14px;height:72px}
.admin-shell .admin-table th:last-child,.admin-shell .admin-table td:last-child{width:168px;padding-right:14px}
.admin-shell .admin-row{cursor:pointer}
.admin-shell .admin-row:hover td{background:var(--a-bg-soft)}
.admin-shell .admin-row.is-selected td{background:#F5F8FF}
.admin-shell .person-cell{display:flex;align-items:center;justify-content:center;gap:12px}
.admin-shell .row-actions{display:flex;align-items:center;gap:6px;justify-content:flex-end}
.admin-shell .row-quick-confirm{color:var(--a-success)}
.admin-shell .row-quick-confirm:hover{background:var(--a-success-soft)}
.admin-shell .row-quick-reject{color:var(--a-danger)}
.admin-shell .row-quick-reject:hover{background:var(--a-danger-soft)}
.admin-shell .row-quick-doc{color:var(--a-accent)}
.admin-shell .row-quick-doc:hover{background:var(--a-accent-soft)}
.admin-shell .row-quick-doc.is-disabled{color:var(--a-text-soft);opacity:.35;pointer-events:none}
.admin-shell .th-sort-btn{display:inline-flex;align-items:center;gap:4px;background:none;border:none;padding:0;margin:0;font:inherit;color:inherit;cursor:pointer}
.admin-shell .th-sort-btn:hover{color:var(--a-accent)}
.admin-shell .th-sort-btn.active{color:var(--a-accent);font-weight:700}
.admin-shell .th-sort-ico{font-size:9px;opacity:.6}
.admin-shell .th-sort-dd{vertical-align:middle}
.admin-shell .th-sort-menu{left:50%;transform:translateX(-50%);min-width:120px;text-transform:none;letter-spacing:normal;font-size:13.5px}
.admin-shell .th-sort-menu button.is-checked{color:var(--a-accent);font-weight:700}
.admin-shell .avatar-generic{width:38px;height:38px;border-radius:50%;background:#F1F5F9;color:#9CA3AF;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.admin-shell .avatar-generic svg{width:20px;height:20px}
.admin-shell .person-name{font-weight:700;font-size:13.5px;color:var(--a-text)}
.admin-shell .person-sub,.admin-shell .cell-sub{font-size:12px;color:var(--a-text-faint);margin-top:2px}
.admin-shell .wl-tag{display:inline-block;font-size:10.5px;font-weight:700;color:var(--a-warn);background:var(--a-warn-soft);border-radius:5px;padding:1px 6px;margin-left:4px;vertical-align:middle}
.admin-shell .status-badge{display:inline-flex;align-items:center;height:28px;padding:0 12px;border-radius:999px;font-size:12.5px;font-weight:700}
.admin-shell .status-badge.status-pending{background:var(--a-warn-soft);color:var(--a-warn)}
.admin-shell .status-badge.status-confirmed{background:var(--a-success-soft);color:var(--a-success)}
.admin-shell .status-badge.status-rejected{background:var(--a-danger-soft);color:var(--a-danger)}
.admin-shell .status-badge.status-cancelled{background:#E5E7EB;color:#4B5563}
.admin-shell .a-empty{color:var(--a-text-faint);padding:40px 20px;text-align:center;font-size:13.5px}

/* --- 우측 상세 패널 --- */
.admin-shell .detail-panel{width:340px;flex-shrink:0;background:#fff;border:1px solid var(--a-border);border-radius:var(--a-radius);box-shadow:var(--a-shadow);padding:24px;position:sticky;top:16px;max-height:calc(100vh - 140px);overflow-y:auto}
.admin-shell .detail-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--a-text-faint);padding:50px 10px;gap:12px}
.admin-shell .detail-empty svg{width:34px;height:34px}
.admin-shell .detail-empty p{font-size:13px;line-height:1.6}
.admin-shell .dp-head{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:18px}
.admin-shell .dp-name{font-size:18px;font-weight:700;color:var(--a-text)}
.admin-shell .dp-sub{font-size:12.5px;color:var(--a-text-soft);margin-top:2px}
.admin-shell .dp-section{padding:14px 0;border-top:1px solid var(--a-border-soft)}
.admin-shell .dp-section:first-of-type{border-top:none;padding-top:0}
.admin-shell .dp-section-title{font-size:11.5px;font-weight:700;color:var(--a-text-faint);text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px}
.admin-shell .dp-row{display:flex;justify-content:space-between;gap:10px;font-size:13px;padding:3px 0}
.admin-shell .dp-pw-reset{font-family:'Pretendard';font-size:11.5px;font-weight:600;color:var(--a-accent);background:var(--a-accent-soft);border:none;border-radius:6px;padding:3px 8px;margin-left:6px;cursor:pointer}
.admin-shell .dp-pw-reset:hover{background:var(--a-accent-border)}
.admin-shell .dp-cohort-select{font-family:'Pretendard';font-size:13px;font-weight:700;color:var(--a-text);border:1px solid var(--a-border);border-radius:8px;padding:4px 8px;background:#fff;cursor:pointer}
.admin-shell .dp-cohort-select:hover{border-color:var(--a-accent)}
.admin-shell .dp-cohort-select:focus{outline:none;border-color:var(--a-accent)}
.admin-shell .dp-row span{color:var(--a-text-faint)}
.admin-shell .dp-row b{color:var(--a-text);font-weight:600;text-align:right}
.admin-shell .dp-text{font-size:13px;color:var(--a-text);line-height:1.6}
.admin-shell .dp-file{display:flex;align-items:center;gap:8px;padding:9px 11px;border:1px solid var(--a-border);border-radius:10px;font-size:12.5px;color:var(--a-accent);cursor:pointer;font-weight:600}
.admin-shell .dp-file:hover{background:var(--a-accent-soft)}
.admin-shell .dp-file.muted{color:var(--a-text-faint);cursor:default;font-weight:500}
.admin-shell .dp-review-btn{
  width:100%;justify-content:center;margin-top:16px;height:46px;border:none!important;color:#fff!important;
  background:var(--a-accent)!important;font-weight:700!important;outline:none!important;
  box-shadow:0 4px 12px -4px rgba(32,90,158,.45)!important;transition:background .15s,box-shadow .15s,transform .1s;
}
.admin-shell .dp-review-btn:hover{background:var(--a-accent-hov)!important;box-shadow:0 6px 16px -4px rgba(32,90,158,.55)!important}
.admin-shell .dp-review-btn:active{transform:translateY(1px)}
.admin-shell .dp-review-btn:focus-visible{box-shadow:0 0 0 3px var(--a-accent-soft),0 4px 12px -4px rgba(32,90,158,.45)!important}
.admin-shell .dp-decision-row{display:flex;gap:10px;margin-top:10px}
.admin-shell .dp-decision-row.flash{animation:dpFlash .3s ease 2}
@keyframes dpFlash{0%,100%{transform:scale(1)}50%{transform:scale(1.03)}}
.admin-shell .dp-confirm{flex:1;justify-content:center;background:var(--a-success-soft)!important;color:var(--a-success)!important;border:1px solid #bbf7d0!important;height:42px;outline:none!important;transition:background .15s,transform .1s}
.admin-shell .dp-reject{flex:1;justify-content:center;background:var(--a-danger-soft)!important;color:var(--a-danger)!important;border:1px solid #fecaca!important;height:42px;outline:none!important;transition:background .15s,transform .1s}
.admin-shell .dp-confirm:hover{background:#c8f3d9!important}
.admin-shell .dp-reject:hover{background:#fcd8dc!important}
.admin-shell .dp-confirm:active,.admin-shell .dp-reject:active{transform:translateY(1px)}
.admin-shell .dp-confirm:focus-visible{box-shadow:0 0 0 3px #bbf7d0!important}
.admin-shell .dp-reject:focus-visible{box-shadow:0 0 0 3px #fecaca!important}
.admin-shell .dp-cancel{flex:1;justify-content:center;background:#F3F4F6!important;color:#4B5563!important;border:1px solid #E5E7EB!important;height:42px;outline:none!important;transition:background .15s,transform .1s}
.admin-shell .dp-cancel:hover{background:#E5E7EB!important}
.admin-shell .dp-cancel:active{transform:translateY(1px)}
.admin-shell .dp-cancel:focus-visible{box-shadow:0 0 0 3px #E5E7EB!important}

@media(max-width:1200px){
  .admin-shell .dash-body{flex-direction:column}
  .admin-shell .detail-panel{width:100%;position:static;max-height:none}
}

/* --- 참가자관리 / 통계 / 캠프관리 / 설정 페이지 --- */
.admin-shell .stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.admin-shell .bar-row{display:flex;align-items:center;gap:10px;padding:6px 0}
.admin-shell .bar-label{width:64px;font-size:12.5px;color:var(--a-text-soft);flex-shrink:0}
.admin-shell .bar-track{flex:1;height:10px;border-radius:999px;background:var(--a-bg-sunken);overflow:hidden}
.admin-shell .bar-fill{height:100%;border-radius:999px}
.admin-shell .bar-value{width:28px;text-align:right;font-size:12.5px;font-weight:700;color:var(--a-text)}
.admin-shell .stats-summary{font-size:13.5px;color:var(--a-text-soft)}
.admin-shell .stats-summary b{color:var(--a-text)}
.admin-shell .settings-field{margin-bottom:14px}
.admin-shell .settings-field label{display:block;font-size:12.5px;font-weight:600;color:var(--a-text-soft);margin-bottom:6px}
.admin-shell .settings-field input,.admin-shell .settings-field textarea{
  width:100%;height:44px;padding:0 14px;border:1px solid #D1D5DB;border-radius:var(--a-radius-sm);
  font-family:'Pretendard';font-size:13.5px;color:var(--a-text);background:#fff;
}
.admin-shell .settings-field textarea{height:auto;padding:10px 14px;resize:vertical}
.admin-shell .settings-field input:focus,.admin-shell .settings-field textarea:focus{outline:none;border-color:var(--a-accent)}
.admin-shell .settings-toggle{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--a-text-soft);cursor:pointer}
@media(max-width:900px){.admin-shell .stats-grid{grid-template-columns:1fr}}

/* --- 새 신청 등록 모달 --- */
.add-app-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.add-app-grid .fg{margin:0}
@media(max-width:520px){.add-app-grid{grid-template-columns:1fr}}
.admin-shell .fg label{font-size:12.5px;font-weight:600;color:var(--a-text-soft);margin-bottom:6px}
.admin-shell .fg label .req{color:var(--a-danger)}
.admin-shell .fg input,.admin-shell .fg select,.admin-shell .fg textarea{
  border:1px solid #D1D5DB;border-radius:var(--a-radius-sm);background:#fff;color:var(--a-text);
  font-family:'Pretendard';font-size:13.5px;padding:0 14px;height:44px;
}
.admin-shell .fg input:focus,.admin-shell .fg select:focus,.admin-shell .fg textarea:focus{
  outline:none;border-color:var(--a-accent);box-shadow:none;background:#fff;
}
.admin-shell .modal-card{border-radius:var(--a-radius)}
.admin-shell .modal-head h3{color:var(--a-text)}

@media(max-width:820px){
  .admin-shell .admin-side{border-right:none;border-bottom:1px solid var(--a-border);width:100%}
  .admin-shell .admin-main{padding:16px 18px 32px}
  .admin-shell .admin-topbar{padding:12px 0 0}
  .admin-shell .stat-cards-row{grid-template-columns:1fr 1fr}
}

/* ===== 모바일 신청 폼 입력 문제 대응 (관리자 화면에는 영향 없음) ===== */

/* 1) 스플래시가 남아 있어도 화면 탭을 가로채지 못하도록 보강 */
#splash.hide{pointer-events:none!important;display:none!important}

@media (max-width:900px){
  /* 2) 신청 폼 입력칸: 확대 방지 + 탭 반응성 */
  .step-pane input,.step-pane select,.step-pane textarea{
    font-size:16px;               /* 16px 미만이면 브라우저가 강제 확대 */
    touch-action:manipulation;
    pointer-events:auto;
    -webkit-user-select:auto;
    user-select:auto;
    scroll-margin-bottom:120px;
    scroll-margin-top:80px;
  }

  /* 3) 하단 고정 바가 입력칸을 덮는 문제 (이름 칸이 안 눌리던 원인)
        ※ display:none 은 레이아웃이 튀므로 사용하지 않고,
          아래로 밀어내는 방식(transform)으로 숨겨 높이 변화를 없앤다. */
  /* 폼 열람 중에는 하단 바가 화면 밖으로 밀려나므로 큰 여백이 불필요.
     바가 다시 나타났을 때만 최소한의 여유를 준다. */
  #formWrap{padding-bottom:16px}
  body:not(.in-form) #formWrap{padding-bottom:72px}

  .mobile-bar{
    transition:transform .18s ease;
    will-change:transform;
  }
  body.in-form .mobile-bar,
  body.kb-open .mobile-bar{
    transform:translateY(110%);
    pointer-events:none;
  }
}

/* ===== 내 신청 조회: 증빙서류 재첨부 ===== */
.lu-proof{margin-top:10px;padding-top:10px;border-top:1px dashed var(--line)}
.lu-proof-row{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.lu-proof-state{font-size:.86rem;color:var(--ink-soft)}
.lu-proof-state b{color:var(--sky-deep)}
.lu-proof-state b.warn{color:#d98200}
.lu-proof-hint{margin-top:6px;font-size:.76rem;color:#9aa3b2}

/* ===== 관리자 상세패널: 증빙서류 업로드/교체 ===== */
.dp-proof-actions{display:flex;align-items:center;gap:10px;margin-top:8px;flex-wrap:wrap}
.dp-proof-btn{
  background:var(--sky-deep,#1b4fd8);color:#fff;border:0;border-radius:8px;
  padding:7px 14px;font-weight:700;font-size:.82rem;cursor:pointer;
}
.dp-proof-btn:hover{filter:brightness(1.08)}
.dp-proof-btn:active{transform:translateY(1px)}
.dp-proof-msg{font-size:.8rem;color:var(--ink-soft)}
.dp-proof-msg.ok{color:#1a8f4a;font-weight:700}
.dp-proof-msg.err{color:#d33;font-weight:700}
