:root{--ink:#16171a;--sub:#5d6066;--mut:#9a9da3;--line:#ececee;--soft:#f6f6f7;--pt:#d9456b;--pt-l:#fdf0f3}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:104px}
body{margin:0;font-family:"Pretendard Variable",Pretendard,-apple-system,"Apple SD Gothic Neo","Noto Sans KR","Malgun Gothic",sans-serif;background:#fff;color:var(--ink);font-size:15px;line-height:1.5;letter-spacing:-.015em;word-break:keep-all;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button,input{font:inherit;color:inherit}[hidden]{display:none!important}
svg{width:22px;height:22px;flex:none}
/* 머리 */
.hd{position:sticky;top:0;z-index:20;background:#fff;border-bottom:1px solid var(--line)}
.hd .in{display:flex;align-items:center;justify-content:space-between;max-width:1080px;margin:0 auto;padding:14px 18px 4px}
.logo{display:flex;align-items:baseline;gap:6px}.logo b{font-family:"Gowun Batang",serif;font-size:23px;font-weight:700;letter-spacing:-.04em}.logo span{font-size:12.5px;color:var(--sub);letter-spacing:.02em}
.sch{width:44px;height:44px;display:flex;align-items:center;justify-content:center;margin-right:-10px}
.rn{display:flex;gap:2px;overflow-x:auto;scrollbar-width:none;max-width:1080px;margin:0 auto;padding:0 8px}.rn::-webkit-scrollbar{display:none}
.rn a{flex:none;padding:0 11px;height:44px;display:flex;align-items:center;font-size:15px;color:var(--sub);border-bottom:2px solid transparent}.rn a.on{color:var(--ink);font-weight:700;border-color:var(--ink)}
main{max-width:1080px;margin:0 auto;padding:0 18px 40px}
/* 첫 화면 */
.hero{padding:30px 0 22px}.hero.sm{padding:26px 0 14px}
.eyebrow{margin:0 0 10px;font-size:11px;letter-spacing:.14em;color:var(--mut);font-weight:600}
.hero h1{margin:0;font-family:"Gowun Batang",serif;font-weight:700;font-size:29px;line-height:1.32;letter-spacing:-.045em}.hero h1 em{font-style:normal;color:var(--pt)}.hero.sm h1{font-size:25px}
.hero .sub{margin:10px 0 0;color:var(--sub);font-size:14px}
.q{display:flex;align-items:center;gap:10px;margin-top:20px;height:50px;padding:0 14px;background:var(--soft);border-radius:8px;color:var(--mut)}.q input{flex:1;min-width:0;border:0;background:none;outline:0;font-size:15px;color:var(--ink)}.q input::placeholder{color:var(--mut)}.q:focus-within{box-shadow:inset 0 0 0 1px var(--ink)}
.sec{margin:34px 0 14px;font-size:18px;font-weight:700;letter-spacing:-.035em}
.rail{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin:0 -18px;padding:0 18px 4px}.rail::-webkit-scrollbar{display:none}
.rail .card{flex:none;width:78%;max-width:320px;scroll-snap-align:start}
.rg-list{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.rg-list a{display:flex;justify-content:space-between;align-items:center;padding:0 14px;height:52px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);font-size:15px}.rg-list b{font-weight:600}.rg-list span{color:var(--pt);font-size:13px;font-weight:600}.rg-list a:active{background:var(--soft)}
.fl-row{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;margin:0 -18px;padding:10px 18px;position:sticky;top:103px;z-index:10;background:#fff}.fl-row::-webkit-scrollbar{display:none}
.fb{flex:none;border:1px solid #dcdde0;background:#fff;border-radius:100px;padding:0 15px;height:40px;font-size:14px;color:var(--sub);cursor:pointer}.fb.on{background:var(--ink);border-color:var(--ink);color:#fff;font-weight:600}
/* 목록 */
.grid{display:grid;grid-template-columns:1fr 1fr;gap:26px 12px;align-items:start}
.wk{grid-column:1/-1;margin:22px 0 -8px;padding-top:18px;border-top:1px solid var(--ink);font-size:20px;font-weight:700;letter-spacing:-.04em;font-family:"Gowun Batang",serif}.wk small{display:block;font-family:"Pretendard Variable",Pretendard,sans-serif;font-size:11px;letter-spacing:.1em;color:var(--mut);font-weight:600;margin-bottom:3px}
.grid>.wk:first-child{margin-top:6px}
.card{min-width:0;display:flex;flex-direction:column}
.th{position:relative;display:block;aspect-ratio:1/1;background:var(--soft);overflow:hidden;border-radius:4px}.th img{width:100%;height:100%;object-fit:cover}
.th i{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:rgba(22,23,26,.55);color:#fff;font-style:normal;font-weight:700;font-size:15px;letter-spacing:.2em}
.cb{padding-top:10px;display:flex;flex-direction:column;flex:1}
.mt{margin:0;display:flex;align-items:center;gap:6px;font-size:12px;color:var(--mut);white-space:nowrap;overflow:hidden}.mt span{overflow:hidden;text-overflow:ellipsis}.mt a{text-decoration:underline;text-underline-offset:2px}
.dd{font-weight:700;color:var(--pt);font-size:12px;letter-spacing:0}.dd.far{color:var(--sub)}.dd.now{color:#e8590c}.dd.end{color:var(--mut)}
.card h3{margin:4px 0 5px;font-size:15px;line-height:1.36;font-weight:600;letter-spacing:-.03em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.72em}
.when{margin:0;font-size:13.5px;font-weight:600}.where{margin:1px 0 10px;font-size:12.5px;color:var(--mut);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cta{display:flex;align-items:center;justify-content:center;height:44px;border-radius:4px;background:var(--ink);color:#fff;font-size:14px;font-weight:600;margin-top:auto}.cta:active{opacity:.85}
.cta.line{background:#fff;color:var(--ink);box-shadow:inset 0 0 0 1px #d5d6da}
.card.closed h3,.card.closed .when{color:var(--mut)}
.card.big h3{font-size:16.5px}.card.big .when{font-size:14px}
.morebtn{display:block;width:100%;margin:28px 0 0;height:52px;border-radius:4px;border:1px solid var(--ink);background:#fff;font-weight:600;font-size:15px;cursor:pointer}
.empty{text-align:center;color:var(--mut);padding:44px 0;font-size:14px}
/* 행사 */
.ev{max-width:640px;margin:0 auto}.evimg{margin:0 -18px;background:var(--soft)}.evimg img{width:100%;height:auto}
.evh{padding:18px 0 4px}.evh .mt{font-size:13px}.evh .dd{font-size:13px}.ev h1{margin:8px 0 6px;font-family:"Gowun Batang",serif;font-size:24px;line-height:1.36;letter-spacing:-.045em}.lead{margin:0;color:var(--sub);font-size:14.5px}
.info{margin:18px 0 0;border-top:1px solid var(--ink)}.info div{display:grid;grid-template-columns:48px 1fr;gap:10px;padding:14px 0;border-bottom:1px solid var(--line)}.info dt{color:var(--mut);font-size:13px}.info dd{margin:0;font-size:15px}.info b{font-weight:700}
.map{display:inline-block;margin-left:6px;font-size:13px;color:var(--sub);text-decoration:underline;text-underline-offset:3px}
.cta.big{height:56px;font-size:16px;margin-top:22px;background:var(--pt)}.hint{margin:8px 0 0;text-align:center;font-size:12px;color:var(--mut)}
.steps{list-style:none;margin:0;padding:0;counter-reset:s;border-top:1px solid var(--line)}.steps li{counter-increment:s;display:grid;grid-template-columns:28px 1fr;padding:14px 0;border-bottom:1px solid var(--line)}
.steps li::before{content:counter(s,decimal-leading-zero);grid-row:1/3;font-size:12px;color:var(--pt);font-weight:700;padding-top:2px}.steps b{font-size:15px;font-weight:600}.steps span{font-size:13.5px;color:var(--sub)}
.endbox{margin-top:22px;padding:18px;background:var(--soft);border-radius:4px;display:grid;gap:4px}.endbox span{font-size:13px;color:var(--sub);margin-bottom:10px}
.sticky{position:fixed;left:0;right:0;bottom:calc(56px + env(safe-area-inset-bottom));z-index:30;background:#fff;border-top:1px solid var(--line);padding:10px 18px;display:flex;gap:12px;align-items:center}
.sticky div{min-width:0;flex:1}.sticky b{display:block;font-size:13.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sticky span{font-size:12.5px;color:var(--pt);font-weight:600}.sticky .cta{background:var(--pt);height:46px;padding:0 22px;font-size:15px;margin:0;flex:none}
.doc{max-width:640px;margin:0 auto}.doc h1{font-family:"Gowun Batang",serif;font-size:24px;margin:30px 0 8px}.doc h2{font-size:16px;margin:26px 0 6px}.doc p{color:var(--sub);font-size:14.5px;line-height:1.7}
/* 바닥 */
.ft{max-width:1080px;margin:0 auto;padding:28px 18px 150px;font-size:12px;line-height:1.7;color:var(--mut);border-top:1px solid var(--line)}.ft p{margin:0 0 6px}.ft a{text-decoration:underline;text-underline-offset:2px}.ft .fl{color:var(--ink);font-size:13px}.ft .fl b{font-family:"Gowun Batang",serif;font-size:16px}
.tab{position:fixed;left:0;right:0;bottom:0;z-index:25;display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}
.tab a{height:56px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:10.5px;color:var(--mut)}.tab a.on{color:var(--ink);font-weight:600}
@media(min-width:760px){.grid{grid-template-columns:repeat(3,1fr);gap:36px 20px}.rg-list{grid-template-columns:repeat(9,1fr)}.hero h1{font-size:38px}.rail .card{width:260px}.tab,.sticky{display:none}.ft{padding-bottom:40px}.evimg{margin:24px 0 0;border-radius:4px;overflow:hidden}.fl-row{top:103px}}
@media(min-width:1040px){.grid{grid-template-columns:repeat(4,1fr)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* 영상식 첫 화면 */
.stage{position:relative;margin:0 -18px;height:min(128vw,560px);overflow:hidden;background:#16171a;color:#fff;isolation:isolate}
.stage .sl{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;transition:opacity .9s ease}.stage .sl.on{opacity:1}
.stage .sl::before{content:"";position:absolute;top:-40px;right:-40px;bottom:-40px;left:-40px;background:var(--im) center/cover;filter:blur(28px) saturate(1.15) brightness(.62)}
.stage .sl img{position:absolute;left:50%;top:47%;width:min(66vw,300px);height:auto;transform:translate(-50%,-50%) scale(1);border-radius:4px;box-shadow:0 18px 50px rgba(0,0,0,.45)}
.stage .sl.on img{animation:kb 5.2s linear forwards}@keyframes kb{from{transform:translate(-50%,-50%) scale(1)}to{transform:translate(-50%,-51.5%) scale(1.07)}}
.stage .hv{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}
.shade{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,rgba(0,0,0,.62) 0,rgba(0,0,0,0) 30%,rgba(0,0,0,0) 58%,rgba(0,0,0,.78) 100%);pointer-events:none}
.pb{position:absolute;left:14px;right:14px;top:10px;display:flex;gap:4px;z-index:3}.pb i{flex:1;height:2px;background:rgba(255,255,255,.32);border-radius:2px;overflow:hidden}.pb u{display:block;height:100%;width:0;background:#fff}
.pb i.done u{width:100%}.pb i.on u{animation:pg 5s linear forwards}@keyframes pg{to{width:100%}}
.st-top{position:absolute;left:18px;right:18px;top:26px;z-index:2}.st-top .eyebrow{color:rgba(255,255,255,.72);margin-bottom:8px}
.st-top h1{margin:0;font-family:"Gowun Batang",serif;font-size:25px;line-height:1.32;letter-spacing:-.045em;text-shadow:0 1px 14px rgba(0,0,0,.4)}.st-top h1 em{font-style:normal;color:#ffb3c4}
.st-bot{position:absolute;left:18px;right:18px;bottom:16px;z-index:4}
.cp{display:none}.cp.on{display:block;animation:up .5s ease}@keyframes up{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.cp span{display:block;font-size:12.5px;color:rgba(255,255,255,.8)}.cp .dd{color:#ffb3c4}.cp b{display:block;font-size:18px;font-weight:700;letter-spacing:-.035em;margin:2px 0 1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cp small{display:block;font-size:13px;color:rgba(255,255,255,.82);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.st-go{display:flex;align-items:center;justify-content:center;height:48px;margin-top:14px;border-radius:4px;background:#fff;color:var(--ink);font-weight:700;font-size:15px}
.nv{position:absolute;top:70px;bottom:150px;width:32%;background:none;border:0;z-index:3;cursor:pointer}.nv.pv{left:0}.nv.nx{right:0}
.stage+.q{margin-top:18px}
@media(min-width:760px){.stage{margin:22px 0 0;border-radius:6px;height:460px}.stage .sl img{width:290px}.st-top{left:34px;top:38px}.st-top h1{font-size:36px}.st-bot{left:34px;right:auto;width:340px;bottom:30px}.pb{left:34px;right:34px;top:16px}}
@media(prefers-reduced-motion:reduce){.stage .sl.on img,.pb i.on u,.cp.on{animation:none}.pb i.on u{width:100%}}

/* 첫 화면 겹침 수정 */
.stage{--iw:min(60vw,270px);height:calc(112px + var(--iw) + 172px)}
.stage .sl img{top:112px;width:var(--iw);transform:translateX(-50%)}.stage .sl.on img{animation:kb2 5.2s linear forwards}@keyframes kb2{from{transform:translateX(-50%) scale(1)}to{transform:translateX(-50%) scale(1.05)}}
.st-top{top:24px}.st-top h1{font-size:23px}
.rail{scroll-padding-left:18px}
@media(min-width:760px){.stage{height:460px;--iw:300px}.stage .sl img{top:80px;left:auto;right:9%;transform:none}.stage .sl.on img{animation:kb3 5.2s linear forwards}@keyframes kb3{to{transform:scale(1.05)}}.st-top h1{font-size:36px}}

.cb{min-width:0}.cp .dd{display:inline-block}.cp>span{display:flex;gap:6px;align-items:center}
.stage{height:calc(134px + var(--iw) + 172px)}.stage .sl img{top:134px}
@media(min-width:760px){.stage{height:460px}.stage .sl img{top:80px}}
/* 행사 페이지 PC: 왼쪽 그림 · 오른쪽 신청 상자(따라옴) */
@media(min-width:960px){.ev{max-width:none;display:grid;grid-template-columns:minmax(0,1fr) 400px;column-gap:48px;align-items:start;padding-top:28px}.ev>.evimg{grid-column:1;grid-row:1/8;margin:0;position:sticky;top:124px}.ev>.evh,.ev>.info,.ev>.cta,.ev>.hint,.ev>.endbox,.ev>h2:nth-of-type(1),.ev>.steps{grid-column:2}.ev>.evh{padding-top:0}.ev>h2.sec:last-of-type,.ev>.grid{grid-column:1/-1}.ev>.grid{grid-template-columns:repeat(4,1fr)}}

/* ══════════ B · 달력형 (아이보리·딥그린) ══════════ */
.t-b{--ink:#2a2622;--sub:#6b635a;--mut:#a39a8e;--line:#e6dfd3;--soft:#f1ebe0;--pt:#2f4a3c;background:#faf7f1}
.t-b .hd,.t-b .tab,.t-b .sticky{background:#faf7f1}.t-b .hd .in{justify-content:center;padding-top:18px;position:relative}.t-b .logo{flex-direction:column;align-items:center;gap:0}.t-b .logo b{font-family:"Nanum Myeongjo",serif;font-size:25px;font-weight:800}.t-b .logo span{font-size:10px;letter-spacing:.34em;color:var(--mut)}.t-b .sch{position:absolute;right:8px;top:12px}
.t-b .rn a.on{border-color:var(--pt);color:var(--pt)}.t-b h1,.t-b .cal-day,.t-b .card h3,.t-b .sec{font-family:"Nanum Myeongjo",serif}
.hero.cen{text-align:center;padding:30px 0 6px}.hero.cen .q{background:#fff;border:1px solid var(--line);border-radius:0;margin-top:18px;text-align:left}
.calwrap{margin-top:18px}.cal{background:#fff;border:1px solid var(--line);padding:16px 12px 14px}.cal-t{margin:0 0 10px;text-align:center;font-size:12px;letter-spacing:.12em;color:var(--mut)}
.cal-h,.cal-g{display:grid;grid-template-columns:repeat(7,1fr);text-align:center}.cal-h span{font-size:11.5px;color:var(--mut);padding-bottom:6px}.cal-h span:nth-child(6){color:#3b6ea5}.cal-h span:nth-child(7){color:#b5553f}
.cd{height:54px;border:0;background:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;cursor:pointer;border-radius:50%;margin:1px auto;width:48px}.cd b{font-size:14.5px;font-weight:500}.cd i{font-style:normal;font-size:10.5px;color:#a17a2c;font-weight:700}
.cd:disabled{color:#cfc7ba;cursor:default}.cd.sat:not(:disabled) b{color:#3b6ea5}.cd.sun:not(:disabled) b{color:#b5553f}.cd.on{background:var(--pt)}.cd.on b,.cd.on i{color:#fff!important}
.cal-all{display:block;width:100%;height:44px;margin-top:10px;border:1px solid var(--pt);background:none;color:var(--pt);font-size:13.5px;cursor:pointer}
.cal-day{margin:26px 0 16px;font-size:21px;display:flex;align-items:baseline;gap:10px;font-weight:800}.cal-day em{font-style:normal;font-family:"Pretendard Variable",Pretendard,sans-serif;font-size:13px;color:#a17a2c;font-weight:700}
.t-b .card{background:#fff;border:1px solid var(--line);padding:8px 8px 12px}.t-b .th{border-radius:0}.t-b .cb{text-align:center;padding:12px 2px 0}.t-b .mt{justify-content:center}.t-b .card h3{font-size:15.5px;font-weight:700}.t-b .when{color:var(--pt)}.t-b .dd{color:#a17a2c}
.t-b .cta{background:var(--pt);border-radius:0;letter-spacing:.04em}.t-b .cta.line{background:#fff;color:var(--pt);box-shadow:inset 0 0 0 1px var(--pt)}.t-b .info{border-color:var(--pt)}.t-b .steps li::before{color:#a17a2c}.t-b .tab a.on{color:var(--pt)}
@media(min-width:960px){.calwrap{display:grid;grid-template-columns:372px minmax(0,1fr);gap:44px;align-items:start}.cal{position:sticky;top:124px}.cal-day{margin-top:0}.t-b .calwrap .grid{grid-template-columns:repeat(3,1fr)}.hero.cen .q{max-width:520px;margin-left:auto;margin-right:auto}}

/* ══════════ C · 줄 넘김형 (로즈) ══════════ */
.t-c{--ink:#33262b;--sub:#75646a;--mut:#b09ea4;--line:#f3e3e7;--soft:#fdf3f5;--pt:#ea5f78}
.t-c .hd{background:var(--pt);border:0;color:#fff}.t-c .logo b{font-family:"Pretendard Variable",Pretendard,sans-serif;font-weight:800;font-size:21px}.t-c .logo span{color:rgba(255,255,255,.85)}.t-c .rn a{color:rgba(255,255,255,.8);border:0}.t-c .rn a.on{color:#fff;font-weight:800;box-shadow:inset 0 -3px 0 #fff}
.t-c h1,.t-c .st-top h1{font-family:"Pretendard Variable",Pretendard,sans-serif;font-weight:800}.t-c .stage{border-radius:0 0 26px 26px}.t-c .stage .sl img{border-radius:18px}.t-c .st-top h1 em{color:#ffd0d9}.t-c .st-go{border-radius:100px;color:var(--pt)}.t-c .q{border-radius:100px;background:var(--soft)}
.jump{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;margin:14px -18px 0;padding:0 18px}.jump::-webkit-scrollbar{display:none}.jump a{flex:none;display:flex;gap:6px;align-items:center;height:42px;padding:0 15px;border-radius:100px;background:var(--soft);font-size:14px}.jump b{font-weight:600}.jump span{color:var(--pt);font-weight:700;font-size:12.5px}
.rw{margin-top:34px}.rw-h{display:flex;align-items:baseline;gap:8px;margin-bottom:12px}.rw-h h2{margin:0;font-size:20px;font-weight:800;letter-spacing:-.04em}.rw-h h2 em{font-style:normal;color:var(--pt);margin-left:6px;font-size:15px}.rw-h>span{font-size:12px;color:var(--mut)}.rw-more{margin-left:auto;font-size:13px;color:var(--sub);height:44px;display:flex;align-items:center;margin-top:-12px;margin-bottom:-12px}
.rw-r{margin:0 -18px;overflow-x:auto;scrollbar-width:none;scroll-snap-type:x proximity;scroll-padding-left:18px}.rw-r::-webkit-scrollbar{display:none}.rw-in{display:flex;gap:12px;padding:0 18px 6px;width:max-content}
.rw .card{width:62vw;max-width:240px;scroll-snap-align:start;background:#fff;border-radius:16px;box-shadow:0 2px 14px rgba(234,95,120,.13);overflow:hidden}.rw .th{border-radius:0}.rw .cb{padding:11px 12px 12px}.rw .when{color:var(--pt)}
.t-c .cta{border-radius:100px;background:var(--pt)}.t-c .cta.line{background:#fff;color:var(--pt);box-shadow:inset 0 0 0 1px var(--pt)}.t-c .dd{background:var(--pt-l);padding:1px 7px;border-radius:100px}.t-c .tab a.on{color:var(--pt)}.t-c .evimg img{border-radius:0 0 22px 22px}.t-c .info{border-top-color:var(--pt)}
@media(min-width:760px){.rw-r{margin:0;scroll-padding-left:0}.rw-in{padding:0 0 8px}.rw .card{width:236px}.jump{margin:16px 0 0;padding:0;flex-wrap:wrap}.t-c .stage{border-radius:22px}.t-c .evimg img{border-radius:22px}}

/* ══════════ D · 시간표형 (네이비·골드) ══════════ */
.t-d{--ink:#14203a;--sub:#55607a;--mut:#98a0b3;--line:#e3e6ee;--soft:#f3f5f9;--pt:#b08a3c}
.t-d .hd{background:#14203a;border:0;color:#fff}.t-d .logo b{font-family:"Noto Serif KR",serif;color:#e2c98a}.t-d .logo span{color:rgba(255,255,255,.7);letter-spacing:.14em;font-size:11px}.t-d .rn a{color:rgba(255,255,255,.62)}.t-d .rn a.on{color:#e2c98a;border-color:#e2c98a}
.t-d h1{font-family:"Noto Serif KR",serif}.hero.bar{padding:26px 0 8px}.hero.bar .eyebrow{color:var(--pt)}.hero.bar .q{border-radius:0;margin-top:14px}.hero.bar .sub{margin-top:8px}
.tt{margin-top:10px}.side{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;margin:0 -18px;padding:8px 18px;position:sticky;top:103px;z-index:9;background:#fff;border-bottom:1px solid var(--line)}.side::-webkit-scrollbar{display:none}.sd-g{display:flex;gap:6px;flex:none}.sd-g p{display:none}
.side label{flex:none;cursor:pointer}.side input{position:absolute;opacity:0;pointer-events:none}.side label span{display:flex;align-items:center;height:40px;padding:0 13px;border:1px solid #d5d9e3;font-size:13.5px;color:var(--sub)}.side label em{display:none}.side input:checked+span{background:#14203a;border-color:#14203a;color:#fff}.side input:focus-visible+span{outline:2px solid var(--pt)}
.tt-n{margin:14px 0 0;font-size:13px;color:var(--sub)}.tt-n b{font-size:20px;color:var(--ink);font-family:"Noto Serif KR",serif}
.tt-h{font-family:"Noto Serif KR",serif;font-size:17px;border-top:2px solid #14203a;padding-top:12px;margin:22px 0 0}
.tr{display:grid;grid-template-columns:52px 96px minmax(0,1fr);grid-template-areas:"d th m" "a a a";column-gap:12px;row-gap:10px;padding:14px 0;border-bottom:1px solid var(--line);flex-direction:row}
.tt-d{grid-area:d;text-align:center;padding-top:2px}.tt-d b{display:block;font-family:"Noto Serif KR",serif;font-size:18px;line-height:1.1;color:var(--ink)}.tt-d span{font-size:11px;color:var(--mut)}
.tt-th{grid-area:th;aspect-ratio:1;background:var(--soft);display:block}.tt-th img{width:100%;height:100%;object-fit:cover}.tt-m{grid-area:m;min-width:0}.tt-m h3{margin:3px 0 4px;font-size:15px;min-height:0}.tt-m .when{color:var(--pt)}.tt-m .where{margin-bottom:0}
.tt-a{grid-area:a;display:grid;grid-template-columns:1fr 96px;gap:8px}.tt-a .cta{border-radius:0;background:#14203a}.tt-more{display:flex;align-items:center;justify-content:center;height:44px;font-size:13.5px;color:var(--sub);box-shadow:inset 0 0 0 1px #d5d9e3}
.t-d .cta{border-radius:0;background:#14203a}.t-d .cta.big,.t-d .sticky .cta{background:var(--pt)}.t-d .cta.line{background:#fff;color:#14203a;box-shadow:inset 0 0 0 1px #14203a}.t-d .th{border-radius:0}
.t-d .tab{background:#14203a;border:0}.t-d .tab a{color:rgba(255,255,255,.5)}.t-d .tab a.on{color:#e2c98a}.t-d .ft{background:#14203a;color:rgba(255,255,255,.55);border:0;max-width:none}.t-d .ft .fl{color:#e2c98a}.t-d .steps li::before{color:var(--pt)}
@media(min-width:960px){.hero.bar{display:grid;grid-template-columns:1fr 420px;gap:40px;align-items:end;padding:38px 0 18px;border-bottom:2px solid #14203a}.tt{display:grid;grid-template-columns:220px minmax(0,1fr);gap:44px;align-items:start;margin-top:24px}
.side{position:sticky;top:124px;display:block;margin:0;padding:0;border:0;overflow:visible}.sd-g{display:block;margin-bottom:22px}.sd-g p{display:block;margin:0 0 6px;font-size:12px;letter-spacing:.1em;color:var(--mut);font-weight:600}.side label{display:block}.side label span{border:0;height:38px;padding:0 10px;justify-content:space-between;gap:8px}.side label em{display:inline;font-style:normal;color:var(--mut);font-size:12.5px;margin-left:auto}.side label span::after{content:attr(data-n)}
.side label{position:relative}.side label em{position:absolute;right:10px;top:9px;pointer-events:none}.side input:checked~em{color:#e2c98a}
.tt-n{margin-top:0}.tr{grid-template-columns:76px 128px minmax(0,1fr) 250px;grid-template-areas:"d th m a";align-items:center;column-gap:22px;padding:18px 0}.tt-d b{font-size:24px}.tt-m h3{font-size:17.5px}.tt-a{grid-template-columns:1fr 84px}}

/* ══════════ E · 한 장씩 보기 (흑백·주황) ══════════ */
.t-e{--ink:#111;--sub:#555;--mut:#999;--line:#eee;--soft:#f4f4f4;--pt:#ff4f3a}
.t-e .logo b{font-family:"Pretendard Variable",Pretendard,sans-serif;font-weight:900;font-size:24px;letter-spacing:-.06em}.t-e .logo span{font-weight:700;color:var(--ink);font-size:13px}.t-e h1,.t-e h3{font-family:"Pretendard Variable",Pretendard,sans-serif}
.hero.mini{padding:16px 0 4px}.hero.mini h1{font-size:19px;font-weight:900;letter-spacing:-.05em}.hero.mini h1 span{color:var(--mut);font-weight:600}.hero.mini .q{margin-top:12px;border-radius:100px;height:46px}
.t-e .fb.on{background:#111}.t-e .fl-row{border-bottom:1px solid var(--line)}
.dk{display:block;margin:0 -18px;padding:0 0 26px;border-bottom:8px solid var(--soft)}.dk-th{display:block;aspect-ratio:1;background:var(--soft)}.dk-th img{width:100%;height:100%;object-fit:cover}
.dk-b{padding:14px 18px 0}.dk-b .mt{font-size:13px}.dk-n{margin-left:auto;font-style:normal;color:var(--mut);font-size:12px}.dk-b h3{margin:6px 0 6px;font-size:22px;font-weight:900;letter-spacing:-.05em;line-height:1.25;min-height:0;display:block}.dk-b .when{font-size:16px;font-weight:700}.dk-b .where{font-size:14px;margin-bottom:14px}
.dk-a{display:grid;grid-template-columns:1fr 104px;gap:8px}.t-e .cta{border-radius:100px;height:52px;font-size:15.5px}.t-e .dk-a .cta:first-child,.t-e .cta.big,.t-e .sticky .cta{background:var(--pt)}.t-e .cta.line{background:#fff;color:#111;box-shadow:inset 0 0 0 1.5px #111}
.t-e .dd{background:var(--pt);color:#fff;padding:1px 7px;border-radius:3px}.t-e .dd.far{background:#111}.t-e .dd.end{background:#bbb}.t-e .tab a.on{color:var(--pt)}.dk-view{display:none}.t-e .ev h1{font-weight:900}
@media(min-width:960px){.t-e main{max-width:1280px}.deck{display:grid;grid-template-columns:440px minmax(0,1fr);gap:0;height:calc(100vh - 222px);min-height:520px;border:1px solid var(--line);margin-top:6px}
.dk-list{overflow-y:auto;border-right:1px solid var(--line)}.dk{margin:0;padding:12px 14px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:84px minmax(0,1fr);gap:14px;cursor:pointer;align-items:center}.dk.on{background:#111;color:#fff}.dk.on .where,.dk.on .mt{color:#bbb}
.dk-b{padding:0}.dk-b h3{font-size:15.5px;font-weight:700;margin:2px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dk-b .when{font-size:13px}.dk-b .where{font-size:12px;margin:0}.dk-a,.dk-n{display:none}
.dk-view{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:36px;padding:36px;align-items:center;overflow:auto}.dv-img{aspect-ratio:1;background:var(--soft);max-height:calc(100vh - 300px);justify-self:center;width:100%;max-width:520px}.dv-img img{width:100%;height:100%;object-fit:contain}
.dv-b h2{margin:10px 0 8px;font-size:30px;font-weight:900;letter-spacing:-.055em;line-height:1.2}.dv-b .lead{margin-bottom:18px}.dv-b dl{margin:0 0 22px;border-top:2px solid #111}.dv-b dl div{display:grid;grid-template-columns:44px 1fr;padding:11px 0;border-bottom:1px solid var(--line);font-size:14.5px}.dv-b dt{color:var(--mut);font-size:12.5px}.dv-b dd{margin:0}.dv-b .cta{margin-bottom:8px}.dv-b .cta:first-of-type{background:var(--pt)}}
.cd{width:100%;max-width:48px}.cal{overflow:hidden}

/* ══════════ 확정안 F · 글자 A(명조 제목) + 색 C(로즈) + 짜임 B(달력)+E(한 장씩) ══════════ */
.t-f{--ink:#33262b;--sub:#75646a;--mut:#b09ea4;--line:#f3e3e7;--soft:#fdf3f5;--pt:#ea5f78}
.t-f .hd{background:var(--pt);border:0;color:#fff}.t-f .logo span{color:rgba(255,255,255,.88)}.t-f .rn a{color:rgba(255,255,255,.8);border:0}.t-f .rn a.on{color:#fff;font-weight:700;box-shadow:inset 0 -3px 0 #fff}
.t-f .stage{border-radius:0 0 22px 22px}.t-f .stage .sl img{border-radius:10px}.t-f .st-top h1 em{color:#ffd0d9}.t-f .st-go{border-radius:10px;color:var(--pt)}.t-f .q{background:var(--soft);border-radius:10px}
.t-f .cal{margin-top:22px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px 10px 12px}.t-f .cal-t{color:var(--pt);letter-spacing:.04em;font-weight:600}
.t-f .cd i{color:var(--pt)}.t-f .cd.on{background:var(--pt)}.t-f .cd:disabled{color:#dccfd3}.t-f .cal-all{border-color:var(--pt);color:var(--pt);border-radius:10px}
.t-f .cal-day{font-family:"Gowun Batang",serif;font-size:23px;font-weight:700;letter-spacing:-.04em;margin:28px 0 10px}.t-f .cal-day em{color:var(--pt)}
.rchips{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;margin:0 -18px;padding:2px 18px 12px}.rchips::-webkit-scrollbar{display:none}.t-f .fb{background:#fff;border-color:#f0d9de}.t-f .fb.on{background:var(--pt);border-color:var(--pt);color:#fff}
.t-f .dk{border-bottom:10px solid var(--soft);padding-bottom:24px}.t-f .dk-b h3{font-family:"Gowun Batang",serif;font-weight:700;font-size:22px;letter-spacing:-.045em}.t-f .dk-b .when{color:var(--pt)}
.t-f .cta{border-radius:10px;height:52px;font-size:15.5px;background:var(--ink)}.t-f .dk-a .cta:first-child,.t-f .cta.big,.t-f .sticky .cta,.t-f .dv-b .cta:first-of-type{background:var(--pt)}.t-f .cta.line{background:#fff;color:var(--ink);box-shadow:inset 0 0 0 1px #e3ccd2}
.t-f .dd{background:#fde8ec;color:var(--pt);padding:1px 8px;border-radius:100px}.t-f .dd.far{background:#f1ecee;color:var(--sub)}.t-f .dd.end{background:#eee;color:var(--mut)}.t-f .tab a.on{color:var(--pt)}.t-f .info{border-top-color:var(--pt)}.t-f .evimg img{border-radius:0 0 18px 18px}.t-f .th{border-radius:10px}.t-f .steps li::before{color:var(--pt)}
.t-f .cdw~.empty,.t-f .deck+.empty{padding:30px 0}
@media(min-width:960px){.t-f main{max-width:1280px}.t-f .stage{border-radius:18px;height:400px}.t-f .evimg img{border-radius:18px}
.cdw{display:grid;grid-template-columns:400px minmax(0,1fr);grid-template-rows:auto auto minmax(0,1fr);column-gap:0;height:calc(100vh - 124px);min-height:640px;margin-top:22px;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#fff}
.cdw .cal{grid-column:1;grid-row:1;margin:0;border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);border-radius:0;padding:16px 16px 12px}.cdw .cd{height:46px;max-width:42px}
.cdw .cdh{grid-column:1;grid-row:2;border-right:1px solid var(--line);padding:14px 18px 0}.t-f .cdw .cal-day{margin:0 0 10px;font-size:19px}.cdw .rchips{margin:0;padding:0 0 12px;flex-wrap:wrap;overflow:visible}.cdw .rchips .fb{height:34px;padding:0 12px;font-size:13px}
.cdw .deck{display:contents}.cdw .dk-list{grid-column:1;grid-row:3;overflow-y:auto;border-right:1px solid var(--line);border-top:1px solid var(--line)}
.t-f .cdw .dk{margin:0;padding:12px 16px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:76px minmax(0,1fr);gap:14px;cursor:pointer;align-items:center}.t-f .cdw .dk.on{background:var(--soft);box-shadow:inset 3px 0 0 var(--pt)}
.t-f .cdw .dk-th{border-radius:8px;overflow:hidden}.t-f .cdw .dk-b{padding:0}.t-f .cdw .dk-b h3{font-family:"Pretendard Variable",Pretendard,sans-serif;font-size:15px;font-weight:600;margin:2px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:-.03em}.t-f .cdw .dk-b .when{font-size:13px}.t-f .cdw .dk-b .where{font-size:12px;margin:0}
.cdw .dk-view{grid-column:2;grid-row:1/4;display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:40px;padding:40px;align-items:center;overflow:auto;background:linear-gradient(180deg,#fff, #fff8f9)}
.t-f .dv-img{border-radius:14px;overflow:hidden;box-shadow:0 18px 50px rgba(234,95,120,.18)}.t-f .dv-b h2{font-family:"Gowun Batang",serif;font-weight:700;font-size:30px;letter-spacing:-.045em}.t-f .dv-b dl{border-top:1px solid var(--pt)}}
@media(min-width:960px){.cdw .cal{position:static}.t-f .cdw .dk.on{color:var(--ink)}.t-f .cdw .dk.on .where,.t-f .cdw .dk.on .mt{color:var(--mut)}.cdw{height:calc(100vh - 140px);max-height:900px}}
@media(min-width:1100px){.cdw{grid-template-columns:330px 350px minmax(0,1fr);grid-template-rows:auto minmax(0,1fr)}.cdw .cal{border-bottom:0}.cdw .cdh{grid-column:1;grid-row:2;border-top:1px solid var(--line);overflow:auto}.cdw .dk-list{grid-column:2;grid-row:1/3;border-top:0}
.cdw .dk-view{grid-column:3;grid-row:1/3;grid-template-columns:minmax(0,1fr);gap:22px;padding:30px 36px;align-content:start;justify-items:center}.cdw .dv-img{max-width:min(100%,calc(100vh - 500px));min-width:260px}.cdw .dv-b{width:100%;max-width:460px}.t-f .dv-b h2{font-size:26px;margin-top:8px}.t-f .dv-b dl{margin-bottom:16px}.cdw .dv-b .cta{display:inline-flex;width:calc(50% - 5px);margin:0}.cdw .dv-b .cta+.cta{margin-left:6px}}
.cd s{display:none;text-decoration:none}.cd i{white-space:nowrap}
/* 확정안 모바일: 검색 → 지역 → 날짜 띠(옆으로 넘김) → 한 장씩 */
@media(max-width:959px){
.t-f .cdw{display:flex;flex-direction:column}.t-f .cdh{display:contents}.t-f .rchips{order:1;margin-top:12px;padding-bottom:6px}.t-f .cal{order:2;margin:0 -18px;padding:6px 0 10px;border:0;border-radius:0;border-bottom:1px solid var(--line);position:sticky;top:103px;z-index:9;background:#fff}
.t-f .cal-day{order:3;margin:18px 0 12px;font-size:21px}.t-f .deck{order:4}.t-f .cal-t,.t-f .cal-h{display:none}
.t-f .cal-g{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding:0 18px;scroll-padding-left:18px}.t-f .cal-g::-webkit-scrollbar{display:none}.t-f .cd:disabled{display:none}
.t-f .cd{flex:none;width:58px;max-width:none;height:64px;border-radius:12px;margin:0;background:var(--soft);gap:0}.t-f .cd s{display:block;font-size:11px;color:var(--mut)}.t-f .cd b{font-size:16px;font-weight:700;line-height:1.2}.t-f .cd i{font-size:10.5px}
.t-f .cd.sat s{color:#3b6ea5}.t-f .cd.sun s{color:#b5553f}.t-f .cd.on s{color:#fff}
.t-f .cal{display:flex;align-items:center}.t-f .cal-g{flex:1;order:2}.t-f .cal-all{order:1;flex:none;width:58px;height:64px;margin:0 0 0 18px;border-radius:12px;font-size:12.5px;font-weight:700;line-height:1.3;padding:0}.t-f .cal-g{padding-left:6px}
.t-f .stage{--iw:min(46vw,200px);height:calc(120px + var(--iw) + 150px)}.t-f .stage .sl img{top:118px}.t-f .st-top h1{font-size:21px}
}
@media(max-width:959px){.t-f .cal-all .w{display:none}.t-f .cal-all span{display:block}}
.t-f .dk-n{display:none}
/* 확정안 PC(수정): 달력을 가로 띠로 빼서 검색창 밑에 두고, 아래 목록·크게 보기를 넓게 */
@media(min-width:960px){
.t-f .cdw{display:grid;grid-template-columns:480px minmax(0,1fr);grid-template-rows:auto auto minmax(0,1fr);height:auto;max-height:none;min-height:0;overflow:visible;border:0;border-radius:0;margin-top:16px;background:none}
.t-f .cdw .cal{grid-column:1/-1;grid-row:1;position:static;display:flex;align-items:center;gap:8px;margin:0;padding:14px 16px;border:1px solid var(--line);border-radius:16px;background:#fff}
.t-f .cal-t,.t-f .cal-h{display:none}.t-f .cal-g{display:flex;gap:8px;flex:1;order:2;overflow-x:auto;scrollbar-width:thin;padding:0}.t-f .cd:disabled{display:none}
.t-f .cdw .cd{flex:none;width:76px;max-width:none;height:72px;border-radius:12px;margin:0;background:var(--soft);gap:0}.t-f .cd s{display:block;font-size:11.5px;color:var(--mut)}.t-f .cd b{font-size:18px;font-weight:700;line-height:1.2}.t-f .cd i{font-size:11.5px}.t-f .cd:hover{box-shadow:inset 0 0 0 1px var(--pt)}
.t-f .cd.sat s{color:#3b6ea5}.t-f .cd.sun s{color:#b5553f}.t-f .cd.on s{color:#fff}
.t-f .cal-all{order:1;flex:none;width:88px;height:72px;margin:0;border-radius:12px;font-size:13px;font-weight:700;line-height:1.35;padding:0}.t-f .cal-all .w{display:none}.t-f .cal-all span{display:block}
.t-f .cdw .cdh{grid-column:1/-1;grid-row:2;display:flex;align-items:center;gap:22px;border:0;padding:20px 4px 14px;overflow:visible}.t-f .cdw .cal-day{margin:0;font-size:24px;flex:none}.t-f .cdw .rchips{margin:0;padding:0;flex-wrap:wrap;overflow:visible}.t-f .cdw .rchips .fb{height:38px;padding:0 14px;font-size:13.5px}
.t-f .cdw .deck{display:contents}
.t-f .cdw .dk-list{grid-column:1;grid-row:3;height:calc(100vh - 150px);min-height:560px;overflow-y:auto;border:1px solid var(--line);border-right:0;border-radius:16px 0 0 16px;background:#fff}
.t-f .cdw .dk{grid-template-columns:104px minmax(0,1fr);padding:14px 18px}.t-f .cdw .dk-b h3{font-size:16px}.t-f .cdw .dk-b .when{font-size:13.5px}.t-f .cdw .dk-b .where{font-size:12.5px}
.t-f .cdw .dk-view{grid-column:2;grid-row:3;height:calc(100vh - 150px);min-height:560px;position:sticky;top:120px;display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:40px;padding:36px 40px;align-items:center;align-content:center;justify-items:stretch;overflow:auto;border:1px solid var(--line);border-radius:0 16px 16px 0;background:linear-gradient(180deg,#fff,#fff8f9)}
.t-f .cdw .dv-img{max-width:560px;min-width:0;width:100%;justify-self:center}.t-f .cdw .dv-b{max-width:none}.t-f .dv-b h2{font-size:30px}.t-f .cdw .dv-b .cta{display:flex;width:100%;margin:0 0 8px}.t-f .cdw .dv-b .cta+.cta{margin-left:0}
}
@media(min-width:960px) and (max-width:1199px){.t-f .cdw{grid-template-columns:400px minmax(0,1fr)}.t-f .cdw .dk-view{grid-template-columns:1fr;gap:20px;align-content:start}}
.t-f .cdw .cd.on,.t-f .cd.on{background:var(--pt)}.t-f .cd.on b,.t-f .cd.on i,.t-f .cd.on s{color:#fff!important}

/* ── 가로 달력 바(확정안) — 앞선 달력 규칙을 모두 덮어씀 ── */
.t-f .cdw .calbar{order:2;display:flex;align-items:stretch;gap:0;margin:0 -18px;padding:0;border:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);border-radius:0;background:#fff;position:sticky;top:103px;z-index:9;overflow:hidden}
.t-f .calbar .cb-h{flex:none;display:flex;flex-direction:column;justify-content:center;gap:6px;padding:10px 12px 10px 18px;border-right:1px solid var(--line)}.t-f .calbar .cb-h p{display:none}
.t-f .cdw .calbar .cal-all{order:0;width:auto;height:auto;margin:0;padding:0;border:0;background:none;border-radius:0;font-size:12px;font-weight:500;color:var(--sub);line-height:1.35;text-align:left;cursor:pointer}.t-f .calbar .cal-all b{display:block;font-size:17px;font-weight:800;color:var(--pt);letter-spacing:-.03em}
.t-f .calbar .cb-ar{display:none}
.t-f .cdw .calbar .cal-g{order:0;flex:1;display:flex;gap:0;overflow-x:auto;scrollbar-width:none;padding:18px 10px 8px;scroll-padding-left:10px;scroll-snap-type:x proximity}.t-f .calbar .cal-g::-webkit-scrollbar{display:none}
.t-f .cdw .calbar .cd{position:relative;flex:none;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:3px;width:46px;max-width:none;height:74px;margin:0;padding:0;border:0;border-radius:0;background:none;box-shadow:none;cursor:pointer;scroll-snap-align:start}
.t-f .calbar .cd s{display:block;font-size:11px;line-height:1;color:var(--mut);text-decoration:none;font-weight:500}
.t-f .calbar .cd b{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;font-size:16px;font-weight:600;line-height:1;color:var(--ink)!important;transition:background .15s}
.t-f .calbar .cd i{font-style:normal;font-size:11px;line-height:1;font-weight:700;color:var(--pt)!important;height:11px}
.t-f .calbar .cd.sat s,.t-f .calbar .cd.sat:not(:disabled) b{color:#3d6fb3!important}.t-f .calbar .cd.sun s,.t-f .calbar .cd.sun:not(:disabled) b{color:#d2553f!important}
.t-f .calbar .cd.today s{color:var(--pt);font-weight:700}
.t-f .cdw .calbar .cd:disabled{display:flex;cursor:default}.t-f .calbar .cd:disabled b{color:#d9ccd0!important;font-weight:400}.t-f .calbar .cd:disabled s{color:#dccfd3}
.t-f .calbar .cd:not(:disabled):hover b{background:var(--soft)}
.t-f .cdw .calbar .cd.on{background:none}.t-f .calbar .cd.on b{background:var(--pt);color:#fff!important;box-shadow:0 4px 12px rgba(234,95,120,.38)}.t-f .calbar .cd.on s{color:var(--pt)!important;font-weight:700}
.t-f .calbar .cd.mon{margin-left:9px}.t-f .calbar .cd.mon::after{content:"";position:absolute;left:-5px;top:16px;bottom:16px;width:1px;background:var(--line)}
.t-f .calbar .cd[data-m]::before{content:attr(data-m);position:absolute;top:-14px;left:50%;transform:translateX(-50%);font-size:10.5px;font-weight:700;color:var(--ink);letter-spacing:-.02em;white-space:nowrap}
@media(min-width:960px){
.t-f .cdw .calbar{grid-column:1/-1;grid-row:1;position:static;margin:0;border:1px solid var(--line);border-radius:16px;align-items:center}
.t-f .calbar .cb-h{padding:0 22px 0 24px;align-self:stretch;min-width:132px}.t-f .calbar .cb-h p{display:block;margin:0;font-family:"Gowun Batang",serif;font-size:17px;font-weight:700;color:var(--ink);letter-spacing:-.04em}
.t-f .cdw .calbar .cal-all{display:inline-flex;align-items:baseline;gap:3px;font-size:12.5px;padding:6px 11px;border-radius:100px;background:var(--soft);color:var(--pt);align-self:flex-start}.t-f .calbar .cal-all b{display:inline;font-size:13.5px}
.t-f .calbar .cb-ar{display:flex;align-items:center;justify-content:center;flex:none;width:34px;height:34px;margin:0 8px;border-radius:50%;border:1px solid var(--line);background:#fff;font-size:19px;line-height:1;color:var(--sub);cursor:pointer;padding:0 0 3px}.t-f .calbar .cb-ar:disabled{opacity:.3;cursor:default}.t-f .calbar .cb-ar:not(:disabled):hover{border-color:var(--pt);color:var(--pt)}
.t-f .cdw .calbar .cal-g{padding:26px 0 14px;scroll-snap-type:none}.t-f .cdw .calbar .cd{flex:1 0 38px;width:auto;height:80px;gap:5px}.t-f .calbar .cd b{width:38px;height:38px;font-size:16.5px}.t-f .calbar .cd.mon{margin-left:14px}.t-f .calbar .cd.mon::after{left:-8px}.t-f .calbar .cd[data-m]::before{top:-17px;font-size:11.5px}}
.t-f .calbar .cd.on:not(:disabled) b,.t-f .calbar .cd.on.sat:not(:disabled) b,.t-f .calbar .cd.on.sun:not(:disabled) b{color:#fff!important}
.t-f .calbar .cal-all u{display:block;text-decoration:none}.t-f .calbar .cal-all b{display:inline}
@media(min-width:960px){.t-f .calbar .cal-all u{display:inline}.t-f .cdw .calbar .cal-g{padding-top:30px}.t-f .calbar .cd[data-m]::before{top:-20px}}
/* PC 크게 보기: 위 제목 → 가운데 큰 배너 → 아래 일정·장소·주소·버튼 */
@media(min-width:960px){
.t-f .cdw .dk-view{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:0;padding:34px 44px 30px}
.t-f .cdw .dv-top{width:100%;max-width:680px;text-align:center}.t-f .dv-top .mt{justify-content:center;font-size:13.5px}.t-f .dv-top h2{margin:10px 0 8px;font-family:"Gowun Batang",serif;font-weight:700;font-size:32px;line-height:1.3;letter-spacing:-.045em}.t-f .dv-top .lead{margin:0;font-size:15px;color:var(--sub)}
.t-f .cdw .dv-img{display:block;flex:none;width:min(100%,640px,calc(100vh - 330px));min-width:380px;max-width:640px;aspect-ratio:1;margin:22px 0;border-radius:16px;overflow:hidden;box-shadow:0 20px 54px rgba(234,95,120,.2);background:var(--soft)}.t-f .cdw .dv-img img{width:100%;height:100%;object-fit:cover}
.t-f .cdw .dv-b{width:100%;max-width:680px;display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:28px;align-items:center}.t-f .cdw .dv-b dl{margin:0;border-top:1px solid var(--pt)}.t-f .dv-b dl div{padding:12px 0}.t-f .dv-b dd{font-size:15px}
.t-f .dv-a{display:grid;gap:8px}.t-f .cdw .dv-a .cta{display:flex;width:100%;margin:0;height:54px;font-size:16px}.t-f .dv-a .cta:first-child{background:var(--pt)}
}
@media(min-width:960px) and (max-width:1199px){.t-f .cdw .dv-b{grid-template-columns:1fr;gap:14px}.t-f .cdw .dv-img{min-width:300px}}
@media(min-width:960px){.t-f .cdw .dk-view{padding:26px 44px 24px;justify-content:center}.t-f .cdw .dv-img{width:min(100%,640px,calc(100vh - 520px));min-width:300px;margin:18px 0}.t-f .dv-top h2{font-size:30px;margin:8px 0 6px}.t-f .dv-b dl div{padding:10px 0}}
@media(max-width:959px){.t-f .cdw .calbar .cal-all{min-width:52px;min-height:60px;display:flex;flex-direction:column;justify-content:center}.t-f .calbar .cb-h{padding:6px 10px 6px 16px}}
/* 첫 화면: Codex로 만든 가로 배경(있으면) — 흐리지 않고 그대로, 왼쪽만 어둡게 */
.stage .sl.hb::before{top:0;right:0;bottom:0;left:0;filter:none;background:var(--im) 68% center/cover;animation:none}.stage .sl.hb.on::before{animation:hbz 6s ease-out forwards}@keyframes hbz{from{transform:scale(1.06)}to{transform:scale(1)}}
.stage .sl.hb::after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,rgba(18,12,14,.72) 0,rgba(18,12,14,.38) 46%,rgba(18,12,14,.05) 100%)}
.stage .sl.hb img{z-index:1}
@media(max-width:759px){.stage .sl.hb::after{background:linear-gradient(180deg,rgba(18,12,14,.55) 0,rgba(18,12,14,.25) 40%,rgba(18,12,14,.75) 100%)}}
@media(min-width:760px){.stage .sl.hb img{width:230px;top:auto;bottom:34px;right:34px;box-shadow:0 14px 40px rgba(0,0,0,.5);border:3px solid rgba(255,255,255,.9)}.t-f .stage{height:440px}}
@media(prefers-reduced-motion:reduce){.stage .sl.hb.on::before{animation:none}}
.stage .sl.hb::before{display:none}.stage .sl .bg{position:absolute;top:0;right:0;bottom:0;left:0;background-size:cover;background-position:68% center;transform:scale(1.06)}.stage .sl.hb.on .bg{animation:hbz 6s ease-out forwards}
.t-f .cdw .calbar{top:106px}
@media(prefers-reduced-motion:reduce){.stage .sl.hb.on .bg{animation:none;transform:none}}
/* 행사 상세 안내(주최사 자료) */
.dnote{margin:-6px 0 12px;font-size:12.5px;color:var(--mut)}.dimgs{margin:0 -18px;background:var(--soft);position:relative;overflow:hidden}.dimgs img{width:100%;height:auto;display:block}
.dimgs.folded{max-height:1300px}.dimgs.folded::after{content:"";position:absolute;left:0;right:0;bottom:0;height:160px;background:linear-gradient(180deg,rgba(255,255,255,0),#fff)}
.dmore{display:block;width:100%;height:52px;margin:10px 0 0;border:1px solid var(--ink);border-radius:10px;background:#fff;font-size:15px;font-weight:600;cursor:pointer}
@media(min-width:960px){.ev>.sec,.ev>.dnote,.ev>.dimgs,.ev>.dmore,.ev>.cta.big:last-of-type{grid-column:1/-1}.ev>.dimgs{margin:0 auto;max-width:760px;width:100%;border-radius:14px}.ev>.dnote{text-align:center}.ev>.dmore,.ev>.dimgs~.cta.big{max-width:420px;margin-left:auto;margin-right:auto;width:100%}}
/* 모바일 지역 버튼: 넘기지 않고 두 줄(5개씩)로 한눈에 */
@media(max-width:959px){.t-f .rchips{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;overflow:visible;margin:12px 0 0;padding:0 0 10px}.t-f .rchips .fb{padding:0;height:42px;font-size:14px;text-align:center;justify-content:center}}

/* ── 모바일: 월 달력(달 넘기기) · PC: 가로 띠 ── */
.calmon{display:none}
@media(max-width:959px){
.t-f .cdw .calbar{display:none}
.t-f .cdw .calmon{display:block;order:2;position:static;margin:14px 0 0;padding:14px 10px 12px;background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden}
.calmon .mon{display:none}.calmon .mon.on{display:block}
.cm-h{display:flex;align-items:center;justify-content:space-between;padding:0 4px 10px}.cm-h p{margin:0;display:flex;align-items:baseline;gap:8px}.cm-h p b{font-family:"Gowun Batang",serif;font-size:19px;letter-spacing:-.04em}.cm-h p span{font-size:12.5px;color:var(--pt);font-weight:700}
.cm-pv,.cm-nx{width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:#fff;font-size:22px;line-height:1;color:var(--ink);padding:0 0 3px;cursor:pointer}.cm-pv:disabled,.cm-nx:disabled{opacity:.28}
.cm-w,.cm-g{display:grid;grid-template-columns:repeat(7,1fr);text-align:center}.cm-w span{font-size:11.5px;color:var(--mut);padding-bottom:4px}.cm-w span:nth-child(6){color:#3d6fb3}.cm-w span:nth-child(7){color:#d2553f}
.t-f .cdw .calmon .cd{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;width:100%;max-width:none;height:54px;margin:0;padding:0;border:0;border-radius:0;background:none}
.t-f .calmon .cd b{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;font-size:15.5px;font-weight:600;color:var(--ink)}.t-f .calmon .cd i{font-style:normal;font-size:10.5px;font-weight:700;color:var(--pt);height:11px;line-height:1}
.t-f .calmon .cd.sat:not(:disabled) b{color:#3d6fb3}.t-f .calmon .cd.sun:not(:disabled) b{color:#d2553f}.t-f .calmon .cd:disabled b{color:#d9ccd0;font-weight:400}.t-f .calmon .cd.today b{box-shadow:inset 0 0 0 1px var(--pt)}
.t-f .calmon .cd.on b{background:var(--pt);color:#fff!important;box-shadow:0 4px 12px rgba(234,95,120,.38)}
.t-f .cdw .calmon .cal-all{display:flex;gap:4px;justify-content:center;align-items:center;width:100%;min-height:46px;height:46px;margin:10px 0 0;border:1px solid var(--pt);border-radius:10px;background:#fff;color:var(--pt);font-size:14px;font-weight:600}.t-f .calmon .cal-all u{display:inline;text-decoration:none}.t-f .calmon .cal-all b{display:inline;font-size:14px;color:var(--pt)}
}

/* ── 오래된 휴대폰·그림 실패·태블릿 대비 ── */
@supports not (aspect-ratio:1/1){.th,.dk-th,.tt-th,.dv-img,.t-f .cdw .dv-img{height:0;padding-top:100%;position:relative}.th img,.dk-th img,.tt-th img,.dv-img img{position:absolute;top:0;left:0;width:100%;height:100%}}
.noimg{display:flex!important;align-items:center;justify-content:center;background:var(--soft);min-height:120px}.noimg::after{content:attr(data-t);padding:14px;text-align:center;font-family:"Gowun Batang",serif;font-size:15px;font-weight:700;color:var(--sub);line-height:1.4}
.card[data-ended]{display:none!important}
@media(min-width:600px) and (max-width:959px){.t-f .dk-list{display:grid;grid-template-columns:1fr 1fr;gap:26px 16px}.t-f .dk{margin:0;border-bottom:0;padding-bottom:6px}.t-f .dk-th{border-radius:10px;overflow:hidden}.t-f .dk-b{padding:12px 0 0}.t-f .dk-b h3{font-size:18px}.t-f .stage{margin:16px 0 0;border-radius:18px}.dimgs{margin:0 auto;max-width:560px}.t-f .cdw .calmon{max-width:520px;margin-left:auto;margin-right:auto;width:100%}}
@media(min-width:960px){.t-f .cdw .calmon,.calmon{display:none!important}}
