/* 합격도원 — 노랑이 주인공인 수험 광고 페이지. 진남색, 굵고 좁은 제목 글꼴, 큰 숫자, 각진 버튼, 쿠폰. */
:root{--y:#ffd400;--y2:#ffe866;--n:#0b1f4b;--n2:#1d3778;--ink:#0b1f4b;--ink2:#3a4766;--red:#d70015;
  --f:"Noto Sans KR",-apple-system,"Apple SD Gothic Neo",system-ui,sans-serif;--d:"Black Han Sans",sans-serif}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;background:var(--y)}
body{margin:0;font-family:var(--f);color:var(--ink);font-size:15px;line-height:1.5;background:var(--y)}
a{color:inherit;text-decoration:none}
.app{max-width:600px;margin:0 auto;background:var(--y);min-height:100vh}
.strip{display:block;background:var(--red);color:#fff;text-align:center;font-weight:800;font-size:13.5px;padding:9px 12px}
.hd{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:var(--n);color:#fff}
.logo{font-family:var(--d);font-size:26px;color:var(--y)}
.hd nav{display:flex;gap:14px;font-size:13.5px;font-weight:800}
.ph{background:#e9c400;color:#3a2f00;display:grid;place-items:center;font-size:12px;font-weight:800;text-align:center;width:100%;overflow:hidden}
.dash{display:grid;grid-template-columns:1.2fr 1fr;gap:12px;padding:18px 16px 16px}
.dd label{font-size:13px;font-weight:800;margin-right:6px}
.dd input{font:inherit;font-size:14px;font-weight:800;color:var(--n);background:#fff;border:3px solid var(--n);border-radius:0;padding:4px 6px}
.big{margin:8px 0 4px;font-family:var(--d);font-size:92px;line-height:.95;color:var(--n);letter-spacing:-.02em}
h1{font-family:var(--d);font-weight:400;font-size:28px;line-height:1.2;margin:8px 0 0}
.dd-photo .ph,.dd-photo img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;border:4px solid var(--n)}
.go{grid-column:1/3;display:block;text-align:center;background:var(--n);color:var(--y);font-family:var(--d);font-size:22px;padding:16px;border-radius:0;box-shadow:6px 6px 0 #000}
.tabs{display:flex;overflow-x:auto;background:var(--n);scrollbar-width:none}
.tabs::-webkit-scrollbar{display:none}
.tabs a{flex:1 0 auto;padding:13px 16px;color:#fff;font-weight:800;text-align:center;border-right:1px solid var(--n2)}
.tabs a:first-child{background:var(--y);color:var(--n)}
h2{font-family:var(--d);font-weight:400;font-size:24px;margin:0 0 12px}
.check{margin:18px 16px 0;background:#fff;border:4px solid var(--n);padding:16px}
.check ol{list-style:none;margin:0;padding:0}
.check li{padding:8px 0 8px 32px;position:relative;font-weight:800;border-bottom:2px dashed #d8dce6}
.check li::before{content:"";position:absolute;left:0;top:9px;width:20px;height:20px;border:3px solid var(--n)}
.check li.ok{color:#6a7590;text-decoration:line-through}
.check li.ok::before{background:var(--n)}
.check li.now a{color:var(--red);text-decoration:underline}
.bar{height:14px;background:#e9edf5;margin-top:12px}
.bar span{display:block;height:100%;background:var(--y);border-right:3px solid var(--n)}
.pct{margin:4px 0 0;font-weight:800;font-size:13px;text-align:right}
.tickets{padding:22px 16px 6px}
.tk{position:relative;display:flex;align-items:stretch;margin-bottom:12px;background:#fff;border:3px solid var(--n)}
.tk::before,.tk::after{content:"";position:absolute;top:50%;width:18px;height:18px;margin-top:-9px;background:var(--y);border:3px solid var(--n);border-radius:50%}
.tk::before{left:-11px;clip-path:inset(0 0 0 50%)}
.tk::after{right:-11px;clip-path:inset(0 50% 0 0)}
.t-l{flex:1;display:flex;flex-direction:column;padding:16px 16px 14px 20px;border-right:3px dashed var(--n)}
.t-l b{font-family:var(--d);font-weight:400;font-size:22px}
.t-l small{color:var(--ink2);font-weight:500}
.t-l s{color:var(--ink2)}
.t-r{display:flex;align-items:center;padding:0 18px;font-weight:800;background:var(--n);color:var(--y)}
.t-r em{font-style:normal;font-family:var(--d);font-size:28px;margin-right:2px}
.tk.hot{border-color:var(--red)}
.tk.hot .t-r{background:var(--red);color:#fff}
.tag{position:absolute;top:-12px;left:14px;background:var(--n);color:var(--y);font-size:12px;font-weight:800;padding:2px 8px}
.tag.red{background:var(--red);color:#fff}
.mini{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.mini a{background:var(--n);color:#fff;font-weight:800;font-size:13.5px;padding:8px 12px}
.mini b{color:var(--y);margin-left:4px}
.faq{margin:22px 16px 0;padding:18px 16px;background:#fff;border:4px solid var(--n)}
.about{font-weight:500;color:var(--ink2);margin:0 0 12px}
.qa{margin:0}
.qa dt{font-weight:800;margin-top:12px}
.qa dd{margin:4px 0 0;color:var(--ink2);font-weight:500}
.qa .q,.qa .a{display:inline-grid;place-items:center;width:22px;height:22px;margin-right:8px;font-family:var(--d);font-size:14px;color:#fff;background:var(--n);vertical-align:1px}
.qa .a{background:var(--red)}
.foot{margin-top:26px;padding:24px 16px 40px;background:var(--n);color:#d6dbe8;font-size:12px;line-height:1.7}
.f-logo{font-family:var(--d);font-size:22px;color:var(--y);margin:0 0 8px}
.foot .biz a{color:#fff}
@media (min-width:640px){.big{font-size:120px}h1{font-size:34px}}

/* ── 신청: 단계형 ───────────────────────── */
.plan-page .page{max-width:600px;margin:0 auto;padding:0 16px 40px;background:var(--y);min-height:100vh}
.plan-page .top{display:flex;align-items:center;height:58px;margin:0 -16px;padding:0 16px;background:var(--n)}
.plan-page .mark{font-family:var(--d);font-size:24px;color:var(--y)}
.planner{display:block;margin-top:16px}
.prog{display:flex;gap:0;margin:0 0 14px;padding:0;overflow-x:auto;scrollbar-width:none;border:3px solid var(--n)}
.prog::-webkit-scrollbar{display:none}
.prog li{list-style:none;flex:none;font-size:12.5px;font-weight:800;padding:6px 10px;background:#fff;border-right:2px solid var(--n)}
.prog li.on{background:var(--n);color:var(--y)}
.prog li.ok{background:var(--y2)}
.sheetcard{position:relative;display:flex;flex-direction:column;min-height:360px;background:#fff;border:4px solid var(--n);padding:20px 16px 16px}
.sheetcard .num{font-family:var(--d);font-size:16px;color:var(--red)}
.sheetcard h1{color:var(--n);font-size:28px;margin:2px 0 16px}
.f{display:block;margin-bottom:12px}
.f span{display:block;font-size:13px;font-weight:800;margin-bottom:5px}
.f input,.f select,.f textarea{width:100%;font:inherit;font-size:16px;font-weight:500;color:var(--n);background:#fff;border:3px solid var(--n);border-radius:0;padding:11px 12px;outline:none}
.f textarea{height:110px;resize:vertical}
.f input:focus,.f select:focus,.f textarea:focus{background:var(--y2)}
.two{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.picks{display:grid;gap:8px}
.pick{display:flex;align-items:center;gap:12px;text-align:left;font:inherit;font-weight:800;background:#fff;border:3px solid var(--n);padding:13px;cursor:pointer;color:var(--n)}
.pick .box{flex:none;width:20px;height:20px;border:3px solid var(--n)}
.pick b{flex:1}
.pick em{font-style:normal;font-family:var(--d);font-size:18px}
.pick.on{background:var(--y)}
.pick.on .box{background:var(--n)}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips button{font:inherit;font-weight:800;font-size:15px;background:#fff;border:3px solid var(--n);border-radius:0;padding:10px 18px;cursor:pointer;color:var(--n)}
.chips button.on{background:var(--n);color:var(--y)}
.chips.m4{display:grid;grid-template-columns:repeat(4,1fr)}
.chips.m4 button{padding:9px 0;font-size:13.5px}
.nav{display:flex;gap:12px;margin-top:auto;padding-top:18px;align-items:center}
.nav .prev{font:inherit;font-weight:800;background:none;border:0;color:var(--ink2);cursor:pointer}
.nav .btn{flex:1;text-align:center;cursor:pointer;border:0;background:var(--n);color:var(--y);font-family:var(--d);font-size:20px;padding:14px;box-shadow:5px 5px 0 #000}
.nav .btn:disabled{opacity:.5}
.hint{font-size:13px;font-weight:500;color:var(--ink2);margin:6px 0 0}
.hint a{font-weight:800;color:var(--n)}
.msgerr{color:var(--red);font-weight:800;font-size:14px;min-height:20px;margin:6px 0 0}
.chk{display:flex;gap:8px;font-size:13px;font-weight:500;color:var(--ink2);align-items:flex-start}
.chk input{margin-top:3px;width:18px;height:18px;accent-color:var(--n)}
.receipt .amt{font-family:var(--d);font-size:58px;color:var(--n);margin:6px 0 12px}
.receipt .acct{display:flex;justify-content:space-between;align-items:center;gap:10px;background:var(--y2);border:3px dashed var(--n);padding:12px;font-weight:800}
.receipt .acct button{font:inherit;font-weight:800;font-size:13px;background:var(--n);color:var(--y);border:0;padding:7px 12px;cursor:pointer}
.sheetcard .stamp{position:absolute;right:12px;top:12px;width:78px;height:78px;border:4px solid var(--red);border-radius:50%;color:var(--red);display:grid;place-items:center;font-family:var(--d);font-size:22px;transform:rotate(-12deg)}
.c-photo{margin:-16px -16px 14px}
.c-photo .ph,.c-photo img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
.banner{position:relative;display:block;margin:10px 16px 0;border:4px solid var(--n)}
.banner .ph,.banner img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
.banner span{position:absolute;left:0;bottom:0;background:var(--n);color:var(--y);font-family:var(--d);font-size:22px;line-height:1.2;padding:10px 14px}
/* 글꼴이 바뀌어도 자리가 안 흔들리게 높이를 미리 잡는다 */
.big{height:88px;line-height:88px;white-space:nowrap}
.dash h1{height:68px;font-size:28px;line-height:34px}
.logo{display:inline-block;height:32px;line-height:32px}
.strip{height:39px;line-height:21px;overflow:hidden}
@media (min-width:640px){.big{height:114px;line-height:114px}.dash h1{height:82px;line-height:41px}}
.go{height:58px;line-height:26px}
.tabs a{height:47px;line-height:21px}
.hd{height:60px}
.dd label,.dd input{height:34px}
.dd{height:224px;overflow:hidden}
.dd label{display:inline-block;line-height:34px}
@media (min-width:640px){.dd{height:270px}}

/* 2026-11-09 수정: 좁은 화면에서 D-day·제목이 사진에 잘리던 문제 — 세로로 쌓고 사진은 아래 띠로 */
.dash{grid-template-columns:1fr !important}
.dd{height:auto !important;overflow:visible !important}
.big{height:auto !important;line-height:1 !important;font-size:clamp(64px,22vw,96px) !important;margin:10px 0 6px !important}
.dash h1{height:auto !important;line-height:1.25 !important;font-size:clamp(24px,7.4vw,32px) !important;min-height:2.5em}
.dd-photo .ph,.dd-photo img{aspect-ratio:16/9 !important}
.go{grid-column:1 !important}
@media (min-width:640px){.dash{grid-template-columns:1.1fr 1fr !important}.go{grid-column:1/3 !important}.dd-photo .ph,.dd-photo img{aspect-ratio:4/5 !important}.big{font-size:120px !important}}
