/* 261024 요청서 반영. 기존 열차·선생님·KV 스타일은 보존한다. */
@font-face{font-family:PreviewPretendard;src:url('../fonts/PretendardVariable.woff2') format('woff2');font-weight:100 900;font-display:swap}
:root{--xe-font:PreviewPretendard,Pretendard,sans-serif;--revision-header:80px;--revision-note:#e7d8bf}
body{font-size:18px;line-height:1.7}
*,*::before,*::after{word-break:keep-all}
.gnb{height:var(--revision-header)}
.gnb .wrap{max-width:none;padding:0 28px;gap:20px}
.brand{white-space:normal;max-width:560px;line-height:1.4;font-size:18px;flex:1}
.menu{margin:0;flex:none}
.menu a{padding:0 10px;font-size:16px}
.hero{padding-top:var(--revision-header)}
.panel{top:var(--revision-header)}
/* GNB 이동 시 섹션 상단 여백을 건너뛰고 제목이 헤더 바로 아래 오게 한다. */
html{scroll-padding-top:var(--revision-header)}
section[id]{scroll-margin-top:calc(32px - var(--xe-section-gap))}
@media (max-width:767px){html{scroll-padding-top:var(--revision-header)}section[id]{scroll-margin-top:calc(20px - var(--xe-section-gap-m))}}
.ambient{opacity:.5}
.note,.shot-cap,.foot-info,.foot .links,.addr dd{font-size:16px;color:var(--revision-note)}
.board-foot{justify-content:center}
.b-period{flex-direction:row;flex-wrap:nowrap;align-items:center}
.period-label{font-size:26px;font-weight:700;color:var(--gold-400);font-variant-numeric:tabular-nums;white-space:nowrap}
.board-row,.board-cols{grid-template-columns:100px minmax(0,1fr) 130px;gap:20px}
.b-v{min-width:0}
.board-row .flap{flex-wrap:nowrap;gap:3px}
.board-row .flap i{width:32px;height:46px;font-size:23px}
.board-row .flap i.sp{width:8px}
.stop .no{letter-spacing:0;font-size:18px}
.stop{grid-template-columns:56px 100px minmax(0,1fr)}
.stop p{font-size:24px;line-height:1.55}
.place-img{position:relative;isolation:isolate;background:#16120e;overflow:hidden}
.place-img>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.15}
.place-img .veil{background:transparent}
.place-img .q{font-size:64px;width:104px;height:104px;background:rgba(0,0,0,.25)}
.place p{font-size:18px;color:var(--revision-note)}
.star-period{margin-top:18px;line-height:1.7}
.review-scale{font-size:16px;line-height:1.7;margin:24px 0 16px;padding-left:16px;border-left:3px solid var(--gold-400);color:var(--revision-note)}
.tier th{font-size:18px}.tier th small{font-size:14px}
.accounts{gap:20px}
.acct{background:#f5db9e;color:#281a0d;border:2px solid #ffd37b;padding:24px}
.acct b{font-size:18px;color:#6a360c}
.acct span{font-size:20px;color:#281a0d;line-height:1.7}
.flow .chip{font-size:18px;line-height:1.6;white-space:normal}
.shot-cap{line-height:1.7}
.qa .ans p{font-size:18px;line-height:1.8}
.notice li{font-size:18px;line-height:1.8;color:var(--revision-note)}
.pending-note{display:block;grid-column:2;font-size:14px;color:var(--gold-400)}
.foot-info dd{white-space:normal}
.demo .box{max-width:calc(100vw - 32px)}
.demo .seg button{min-height:44px}
.demo>button{min-width:60px;min-height:44px}
.fab:not(.show),.fab:not(.open) .fab-menu{visibility:hidden}
.fab.show,.fab.open .fab-menu{visibility:visible}
@media (max-width:1399px){.menu{display:none}.burger{display:block}}
@media (min-width:1400px){.menu{display:flex}.burger{display:none}}
@media (min-width:768px) and (max-width:1099px){.board-row,.board-cols{grid-template-columns:72px minmax(0,1fr) 100px;gap:12px}.board-row .flap i{width:22px;height:34px;font-size:18px}.period-label{font-size:23px}}
@media (max-width:767px){
 :root{--revision-header:88px}
 body{font-size:16px}
 .gnb .wrap{padding:0 16px;gap:12px}
 .brand{font-size:15px;max-width:calc(100% - 52px)}
 .burger{flex:none;margin:0}
 .hero-body{padding-left:20px;padding-right:20px}
 .note,.shot-cap,.foot-info,.foot .links,.addr dd{font-size:14px}
 .board-row{grid-template-columns:minmax(0,1fr) auto;gap:10px 8px}
 .board-row .b-v{grid-column:1/-1;grid-row:auto;max-width:100%}
 .board-row .b-s{grid-column:2;grid-row:1}
 .board-row .flap{gap:2px}
 .board-row .flap i{width:clamp(10px,3.8vw,22px);height:30px;font-size:clamp(11px,3.4vw,17px)}
 .board-row .flap i.sp{width:4px}
 .period-label{font-size:clamp(17px,5vw,23px);white-space:nowrap}
 .stop{grid-template-columns:40px minmax(0,1fr);gap:6px 16px}
 .stop .dot{grid-column:1;grid-row:1/3}
 .stop .no,.stop p{grid-column:2}
 .stop .no{font-size:15px}.stop p{font-size:18px}
 .place-img .q{font-size:48px;width:80px;height:80px}
 .place p{font-size:16px}
 .review-scale{font-size:14px;padding-left:12px}
 .tier th{font-size:14px}.tier th small{font-size:12px}
 .acct{padding:20px}.acct b{font-size:16px}.acct span{font-size:17px}
 .flow{flex-wrap:wrap}.flow .chip{font-size:16px}
 .qa .ans p,.notice li{font-size:16px;line-height:1.8}
 .notice li{grid-template-columns:28px minmax(0,1fr)}
 .pending-note{font-size:12px}
}
@media (prefers-reduced-motion:reduce){.ambient,.bokeh{animation:none}}

.foot .links a{display:inline-flex;align-items:center;min-height:44px}
#teachers{scroll-margin-top:32px}
/* Keep the supplied space scenes faint but recognizable; the old veil blurred them away. */
.place-img .veil,.place:hover .veil{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none}
@media (min-width:768px) and (max-width:1099px){
 .board-cols{display:none}
 .board-row{grid-template-columns:minmax(0,1fr) auto;gap:10px 12px}
 .board-row .b-v{grid-column:1/-1;grid-row:2}
 .board-row .b-s{grid-column:2;grid-row:1}
 .board-row .flap i{width:23px;height:36px;font-size:18px}
}

@media (max-width:767px){
 .board-row .flap i{width:18px;height:32px;font-size:16px}
 .board-row .b-v{flex-wrap:wrap}
 .board-foot{display:none}
}

/* Requested: preserve the Departures split-flap design and change the period wrapping only. */
.b-period .period-label{display:flex;flex-wrap:nowrap;white-space:nowrap;gap:3px}
#faq .faq{margin-top:0}
.hero-title{max-width:900px;text-wrap:balance}
@media (max-width:767px){
 .b-period .period-label{gap:2px}
 .board-row .b-period .flap i{width:clamp(10px,3.4vw,16px);font-size:clamp(10px,3.1vw,14px);height:30px}
}
/* 히어로 KV(PC): 이미지 속 메인 타이틀 중심(PSD 가로 55.44%)을 아래 초대 문구와 같은 화면 중앙에 둔다.
   112.2%로 키워 오른쪽에 붙이면 왼쪽 10.9%만 잘린다(아이 머리 일부, 선생님 2인은 14.8%부터라 유지).
   높이는 창 높이(헤더 제외)에 맞추되 위 12.5%·아래 3.5% 이내로만 잘라 모자(14%)·부제(93.9%)를 지킨다.
   하단 그라데이션은 부제 아래 남는 띠 안에만 깔리도록 2%로 줄인다. */
@media (min-width:768px){
 .hero{container-type:inline-size}
 .kv{aspect-ratio:auto;max-height:none;height:min(calc(100cqw * 1606 / 2776),max(calc(112.2cqw * 1606 / 2776 * .84),calc(100svh - var(--revision-header))))}
 .kv picture{display:block;width:100%;height:100%}
 .kv img{position:absolute;right:0;top:78%;width:112.2%;max-width:none;height:auto;transform:translateY(-78%)}
 .kv::after{height:2%}
}
