.sub-in{padding:90px 0 120px}
.sub-in.tight{padding-top:64px}
.sub-h{margin-bottom:40px}
.sub-h .no{display:block;font-family:var(--font-pt);font-size:16px;font-weight:800;color:var(--blue);letter-spacing:.06em}
.sub-h h2{margin-top:6px;font-family:var(--font-pt);font-size:clamp(28px,2.6vw,40px);font-weight:800;line-height:1.25;letter-spacing:-.04em}
.sub-h p{margin-top:10px;font-size:17.5px;color:var(--ink-2)}

.btn-gray{background:var(--bg);color:var(--ink)}
.btn-gray:hover{background:#e3e9f1}
.btn-ink{background:var(--ink);color:#fff}
.btn-ink:hover{background:#000}
.btn-lime{background:var(--lime);color:#fff}
.btn-lime:hover{background:#7aad14}
.btn-red{background:#fff;border:1px solid #e44d4d;color:#d93636}
.btn-red:hover{background:#d93636;color:#fff}
.btn-lg{padding:17px 34px;font-size:18px}
.btn-sm{padding:9px 16px;font-size:14.5px}
.btn-sm svg{width:15px;height:15px}
.btns{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin-top:48px}
.btns.end{justify-content:flex-end}
.btns.between{justify-content:space-between}

.chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px}
.chips a,.chips button{display:inline-flex;align-items:center;gap:6px;padding:10px 20px;border-radius:999px;border:1px solid var(--line);background:#fff;font-size:16px;font-weight:700;color:var(--ink-2);transition:.2s}
.chips a:hover,.chips button:hover{border-color:var(--blue);color:var(--blue)}
.chips .on{background:var(--ink);border-color:var(--ink);color:#fff}
.chips .on:hover{color:#fff}
.chips em{font-style:normal;font-size:13px;font-weight:700;opacity:.7}

.tb-top{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-bottom:18px;margin-bottom:0;border-bottom:2px solid var(--ink)}
.tb-top .cnt{font-size:16.5px;color:var(--ink-2)}
.tb-top .cnt b{color:var(--blue);font-weight:800}
.srch{display:flex;gap:6px;flex:0 1 520px;min-width:0}
.srch select{flex:0 0 auto;height:48px;padding:0 34px 0 14px;border:1px solid var(--line);border-radius:10px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234a5566' stroke-width='2'%3E%3Cpath d='M6 9.5l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 10px center/16px;font-size:16px;-webkit-appearance:none;appearance:none}
.srch .fld{flex:1 1 auto;min-width:0;display:flex;align-items:center;height:48px;border:1px solid var(--line);border-radius:10px;background:#fff;padding:0 6px 0 16px;transition:border-color .2s}
.srch .fld:focus-within{border-color:var(--blue)}
.srch input{flex:1 1 auto;width:0;min-width:0;border:0;font-size:16px;background:none}
.srch input:focus{outline:none}
.srch button{width:38px;height:38px;border-radius:8px;display:grid;place-items:center;background:var(--blue);color:#fff;flex:0 0 auto}
.srch button svg{width:19px;height:19px}

.blist-h,.blist a{display:grid;grid-template-columns:90px minmax(0,1fr) 130px 90px;align-items:center;gap:16px}
.blist-h{padding:14px 10px;border-bottom:1px solid var(--line);font-size:15.5px;font-weight:700;color:var(--ink-3);text-align:center}
.blist-h span:nth-child(2){text-align:left}
.blist li{border-bottom:1px solid var(--line)}
.blist a{padding:22px 10px;transition:background .2s}
.blist a:hover{background:#f7fafd}
.blist a:hover .tit b{color:var(--blue)}
.blist .no{text-align:center;font-size:15.5px;color:var(--ink-3)}
.blist .tit{min-width:0;display:flex;align-items:center;gap:10px}
.blist .tit b{font-size:18px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:color .2s}
.blist .tit svg{flex:0 0 auto;width:18px;height:18px;color:var(--ink-3)}
.blist .meta{display:contents}
.blist .meta span{text-align:center;font-size:15.5px;color:var(--ink-3)}
.blist li.top{background:#f4f9fe}
.blist li.top .no{color:var(--blue);font-weight:800}
.badge{font-style:normal;display:inline-flex;align-items:center;flex:0 0 auto;padding:3px 11px;border-radius:999px;font-size:13px;font-weight:800;line-height:1.5;background:#eaf4fd;color:var(--blue);white-space:nowrap}
.badge.blue{background:var(--blue);color:#fff}
.badge.lime{background:var(--lime);color:#fff}
.badge.orange{background:var(--orange);color:#fff}
.badge.gray{background:#e9edf2;color:var(--ink-3)}
.badge.ink{background:var(--ink);color:#fff}
.badge.line{background:#fff;border:1px solid var(--line);color:var(--ink-2)}

.empty{padding:90px 20px;text-align:center;color:var(--ink-3);font-size:17px;border-bottom:1px solid var(--line)}
.empty svg{width:48px;height:48px;margin:0 auto 14px;color:#c4ccd7}

.gl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:36px 24px;padding-top:32px}
.gl.c3{grid-template-columns:repeat(3,minmax(0,1fr))}
.gcard{display:block;min-width:0}
.gcard .ph{position:relative;display:block;border-radius:14px;overflow:hidden;aspect-ratio:3/4;background:#eef2f7;border:1px solid var(--line)}
.gcard .ph.wide{aspect-ratio:4/3}
.gcard .ph.sq{aspect-ratio:1/1}
.gcard .ph img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.gcard:hover .ph img{transform:scale(1.05)}
.gcard .ph .badge{position:absolute;left:12px;top:12px;box-shadow:0 4px 12px rgba(0,20,60,.18)}
.gcard .ph .noimg{position:absolute;inset:0;display:grid;place-items:center;color:#b9c3cf;font-family:var(--font-pt);font-size:22px;font-weight:800;background:#f3f6fa}
.gcard .cat{display:block;margin-top:14px;font-size:14.5px;font-weight:700;color:var(--blue)}
.gcard h3{margin-top:6px;font-size:18.5px;font-weight:700;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;transition:color .2s}
.gcard:hover h3{color:var(--blue)}
.gcard .dt{display:flex;flex-wrap:wrap;gap:4px 12px;margin-top:8px;font-size:14.5px;color:var(--ink-3)}
.gcard .dt span{display:inline-flex;align-items:center;gap:5px}
.gcard .dt svg{width:15px;height:15px}

.gcard,.bcard,.dl-card{background:#fff;border:1px solid #cdd7e3;border-radius:16px;padding:12px 12px 18px;box-shadow:0 4px 14px rgba(15,40,80,.06);transition:border-color .25s,box-shadow .25s,transform .25s var(--ease)}
.gcard:hover,.bcard:hover,.dl-card:hover{border-color:var(--blue);transform:translateY(-3px)}
.gcard .ph{border:0;border-radius:10px}
.gcard .cat,.gcard h3,.gcard .dt{padding:0 4px}
.bcard .gcard,.dl-card .gcard{background:none;border:0;border-radius:0;padding:0;box-shadow:none;transform:none}
.bcard .gcard:hover,.dl-card .gcard:hover{box-shadow:none;transform:none}
.bcard-btn,.dl-card>:not(.gcard){margin-left:4px;margin-right:4px}
.bcard-btn{padding-top:14px;border-top:1px dashed #d9e1ea}
.pg{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:6px;margin-top:52px}
.pg a,.pg strong{min-width:42px;height:42px;padding:0 6px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;font-size:16px;font-weight:600;color:var(--ink-2);transition:.2s}
.pg a:hover{background:var(--bg);color:var(--blue)}
.pg strong{background:var(--blue);color:#fff;font-weight:800}
.pg .pg-arw{border:1px solid var(--line);gap:0}
.pg .pg-arw svg{width:16px;height:16px}
.pg .pg-arw svg.x2{margin-left:-9px}
.pg .off{opacity:.35;pointer-events:none}

.bview-h{padding:0 0 30px;border-bottom:2px solid var(--ink)}
.bview-h .badges{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}
.bview-h h2{font-size:clamp(24px,2.3vw,34px);font-weight:800;line-height:1.38;letter-spacing:-.04em}
.bview-h .meta{display:flex;flex-wrap:wrap;gap:6px 22px;margin-top:16px;font-size:15.5px;color:var(--ink-3)}
.bview-h .meta span{display:inline-flex;align-items:center;gap:6px}
.bview-h .meta svg{width:16px;height:16px}
.binfo{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-bottom:1px solid var(--line)}
.binfo>div{display:grid;grid-template-columns:140px minmax(0,1fr);border-top:1px solid var(--line)}
.binfo>div.full{grid-column:1 / -1}
.binfo dt{padding:17px 18px;background:var(--bg);font-size:16px;font-weight:700;color:var(--ink-2)}
.binfo dd{padding:17px 20px;font-size:16.5px;min-width:0;overflow-wrap:anywhere}
.bview-wrap{display:grid;grid-template-columns:minmax(0,380px) minmax(0,1fr);gap:48px;align-items:start;padding-top:40px}
.bview-wrap .poster{border-radius:16px;overflow:hidden;border:1px solid var(--line);position:sticky;top:calc(var(--head-h) + 90px)}
.bview-wrap .poster img{width:100%}
.bcont{padding:44px 0 56px;font-size:17.5px;line-height:1.85;overflow-wrap:anywhere;border-bottom:1px solid var(--line)}
.bcont img{max-width:100%!important;height:auto!important}
.bcont table{max-width:100%;border-collapse:collapse}
.bcont iframe{max-width:100%}
.bcont p{margin:0 0 .6em}
.bfile{display:grid;gap:8px;padding:20px 0;border-bottom:1px solid var(--line)}
.bfile a{display:flex;align-items:center;gap:10px;padding:14px 18px;border-radius:10px;background:var(--bg);font-size:16px;font-weight:600;min-width:0;transition:.2s}
.bfile a:hover{background:#e3eefa;color:var(--blue)}
.bfile a span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bfile svg{flex:0 0 auto;width:20px;height:20px;color:var(--blue)}
.bnav{border-bottom:1px solid var(--line)}
.bnav a,.bnav p{display:grid;grid-template-columns:110px minmax(0,1fr);align-items:center;gap:12px;padding:18px 10px;border-top:1px solid var(--line);font-size:16.5px}
.bnav a:first-child,.bnav p:first-child{border-top:0}
.bnav em{font-style:normal;display:flex;align-items:center;gap:6px;font-size:15px;font-weight:700;color:var(--ink-3)}
.bnav em svg{width:16px;height:16px}
.bnav span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bnav p span{color:var(--ink-3)}
.bnav a:hover span{color:var(--blue)}

.frm{border-top:2px solid var(--ink)}
.frm-sec{margin-top:56px}
.frm-sec:first-child{margin-top:0}
.frm-sec>h3{display:flex;align-items:center;gap:10px;margin-bottom:16px;font-size:22px;font-weight:800;letter-spacing:-.03em}
.frm-sec>h3 small{font-size:14.5px;font-weight:500;color:var(--ink-3)}
.frm-row{display:grid;grid-template-columns:200px minmax(0,1fr);border-bottom:1px solid var(--line)}
.frm-row>label,.frm-row>.lb{padding:22px 20px;background:var(--bg);font-size:16.5px;font-weight:700;color:var(--ink)}
.req{color:#e2493c;margin-left:3px}
.frm-row>.fd{padding:14px 20px;display:flex;flex-direction:column;justify-content:center;gap:8px;min-width:0}
.frm .ln{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.ipt,.sel,.txa{width:100%;max-width:520px;height:50px;padding:0 16px;border:1px solid #cfd8e3;border-radius:10px;background:#fff;font-size:16.5px;transition:border-color .2s,box-shadow .2s}
.ipt.s{max-width:180px}
.ipt.m{max-width:300px}
.ipt.full,.txa.full{max-width:none}
.sel{-webkit-appearance:none;appearance:none;padding-right:40px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234a5566' stroke-width='2'%3E%3Cpath d='M6 9.5l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 14px center/18px}
.txa{height:auto;min-height:180px;padding:14px 16px;line-height:1.7;resize:vertical;max-width:none}
.ipt:focus,.sel:focus,.txa:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 4px rgba(0,123,221,.12)}
.ipt[readonly],.ipt:disabled{background:var(--bg);color:var(--ink-2)}
.ln .ipt{flex:1 1 140px;width:auto}
.ln .ipt.s{flex:0 1 140px}
.ln .dash{color:var(--ink-3)}
.help{font-size:14.5px;color:var(--ink-3);line-height:1.6}
.help.err{color:#d93636}
.help.ok{color:#2c9a3e}
.chk,.rdo{position:relative;display:inline-flex;align-items:center;gap:9px;font-size:16.5px;cursor:pointer;padding:6px 0;margin-right:18px}
.chk input,.rdo input{position:absolute;opacity:0;width:1px;height:1px}
.chk i,.rdo i{flex:0 0 auto;width:24px;height:24px;border:2px solid #b9c4d1;border-radius:6px;background:#fff;display:grid;place-items:center;transition:.2s}
.rdo i{border-radius:50%}
.chk i::after{content:'';width:12px;height:7px;border-left:2.5px solid #fff;border-bottom:2.5px solid #fff;transform:rotate(-45deg) translate(1px,-1px);opacity:0}
.rdo i::after{content:'';width:10px;height:10px;border-radius:50%;background:#fff;opacity:0}
.chk input:checked+i,.rdo input:checked+i{background:var(--blue);border-color:var(--blue)}
.chk input:checked+i::after,.rdo input:checked+i::after{opacity:1}
.chk input:focus-visible+i,.rdo input:focus-visible+i{outline:3px solid var(--sky);outline-offset:2px}
.file-ipt{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.file-ipt input[type=file]{max-width:100%;font-size:15px}

.steps{display:flex;justify-content:center;gap:0;margin:0 auto 56px;max-width:720px;counter-reset:st}
.steps li{position:relative;flex:1 1 0;display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;font-size:16px;font-weight:700;color:var(--ink-3)}
.steps li::before{counter-increment:st;content:counter(st);position:relative;z-index:1;width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:#fff;border:2px solid #cfd8e3;font-family:var(--font-pt);font-size:20px;font-weight:800;color:var(--ink-3)}
.steps li::after{content:'';position:absolute;top:26px;left:calc(50% + 34px);right:calc(-50% + 34px);border-top:2px dashed #cfd8e3}
.steps li:last-child::after{display:none}
.steps li.done::before{background:#eaf4fd;border-color:var(--blue);color:var(--blue)}
.steps li.on{color:var(--ink)}
.steps li.on::before{background:var(--blue);border-color:var(--blue);color:#fff;box-shadow:0 8px 20px rgba(0,100,200,.3)}
.steps li.done::after{border-top-style:solid;border-color:var(--blue)}

.note{display:flex;gap:14px;padding:22px 24px;border-radius:14px;background:var(--bg);font-size:16px;line-height:1.7;color:var(--ink-2)}
.note>svg{flex:0 0 auto;width:24px;height:24px;color:var(--blue);margin-top:1px}
.note b{color:var(--ink)}
.note ul{display:grid;gap:4px}
.note li{position:relative;padding-left:12px}
.note li::before{content:'';position:absolute;left:0;top:.75em;width:4px;height:4px;border-radius:50%;background:var(--ink-3)}
.note.blue{background:#eaf4fd}
.note.warn{background:#fff6e5}
.note.warn>svg{color:var(--orange)}

.agree{border:1px solid var(--line);border-radius:14px;overflow:hidden}
.agree+.agree{margin-top:20px}
.agree-h{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:16px 20px;background:var(--bg);font-size:17.5px;font-weight:800}
.agree-b{height:240px;overflow-y:auto;padding:20px 22px;font-size:15px;line-height:1.8;color:var(--ink-2);white-space:pre-line;-webkit-overflow-scrolling:touch}
.agree-f{padding:14px 20px;border-top:1px solid var(--line);display:flex;justify-content:flex-end}

.tbl{width:100%;border-collapse:collapse;border-top:2px solid var(--ink);font-size:16px}
.tbl th{padding:15px 12px;background:var(--bg);font-weight:700;color:var(--ink-2);border-bottom:1px solid var(--line);text-align:center;white-space:nowrap}
.tbl td{padding:16px 12px;border-bottom:1px solid var(--line);text-align:center;vertical-align:middle}
.tbl td.l{text-align:left}

.box{border:1px solid var(--line);border-radius:18px;padding:40px;background:#fff}
.box.gray{background:var(--bg);border-color:transparent}

.ttl3{font-size:22px;font-weight:800;letter-spacing:-.03em;margin-bottom:16px;display:flex;align-items:center;gap:10px}
.ttl3::before{content:'';width:8px;height:8px;border-radius:50%;background:var(--lime);flex:0 0 auto}

@media (max-width:1080px){
  .gl{grid-template-columns:repeat(3,minmax(0,1fr))}
  .bview-wrap{grid-template-columns:minmax(0,1fr);gap:28px}
  .bview-wrap .poster{position:static;max-width:460px}
}
@media (max-width:860px){
  .sub-in{padding:56px 0 80px}
  .sub-in.tight{padding-top:44px}
  .sub-h{margin-bottom:28px}
  .tb-top{flex-direction:column;align-items:stretch;gap:12px;padding-bottom:14px}
  .srch{flex:1 1 auto}
  .blist-h{display:none}
  .blist a{grid-template-columns:minmax(0,1fr);gap:8px;padding:18px 4px}
  .blist .no{display:none}
  .blist li.top .no{display:none}
  .blist .tit{align-items:flex-start;flex-wrap:wrap;gap:6px 8px}
  .blist .tit b{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:17px;line-height:1.5;flex:1 1 100%}
  .blist .meta{display:flex;gap:14px}
  .blist .meta span{text-align:left;font-size:14px}
  .blist li.top .tit::before{content:'공지';display:inline-flex;padding:2px 9px;border-radius:999px;background:var(--blue);color:#fff;font-size:12.5px;font-weight:800}
  .gl,.gl.c3{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 10px;padding-top:22px}
  .gcard,.bcard,.dl-card{padding:8px 8px 14px;border-radius:14px}
  .gcard .ph{border-radius:9px}
  .gcard .cat,.gcard h3,.gcard .dt{padding:0 3px}
  .bcard .gcard,.dl-card .gcard{padding:0}
  .bcard-btn,.dl-card>:not(.gcard){margin-left:2px;margin-right:2px}
  .gcard h3{font-size:16.5px}
  .gcard .dt{font-size:13.5px}
  .pg{gap:4px;margin-top:36px}
  .pg a,.pg strong{min-width:36px;height:36px;font-size:15px;border-radius:8px}
  .binfo{grid-template-columns:minmax(0,1fr)}
  .binfo>div{grid-template-columns:110px minmax(0,1fr)}
  .binfo dt{padding:14px 14px;font-size:15px}
  .binfo dd{padding:14px 14px;font-size:15.5px}
  .bcont{padding:30px 0 40px;font-size:16.5px}
  .bnav a,.bnav p{grid-template-columns:76px minmax(0,1fr);padding:15px 4px;font-size:15.5px}
  .frm-row{grid-template-columns:minmax(0,1fr);border-bottom:0}
  .frm-row>label,.frm-row>.lb{padding:18px 0 8px;background:none;font-size:16px}
  .frm-row>.fd{padding:0 0 4px}
  .frm{border-top-width:2px;padding-top:4px}
  .ipt,.sel{max-width:none;height:52px}
  .ipt.s,.ipt.m{max-width:none}
  .ln .ipt,.ln .ipt.s{flex:1 1 0;min-width:0}
  .frm-sec{margin-top:40px}
  .frm-sec>h3{font-size:19px}
  .steps{margin-bottom:36px}
  .steps li{font-size:13.5px;gap:8px}
  .steps li::before{width:40px;height:40px;font-size:16px}
  .steps li::after{top:20px;left:calc(50% + 26px);right:calc(-50% + 26px)}
  .note{padding:18px 16px;font-size:15px;gap:10px}
  .note>svg{width:21px;height:21px}
  .agree-b{height:200px;padding:16px;font-size:14.5px}
  .agree-h{padding:14px 16px;font-size:16px}
  .tbl.cards,.tbl.cards tbody,.tbl.cards tr,.tbl.cards td{display:block;width:100%}
  .tbl.cards{border-top:0}
  .tbl.cards thead{display:none}
  .tbl.cards tr{border:1px solid var(--line);border-radius:14px;padding:6px 16px;margin-bottom:12px;background:#fff}
  .tbl.cards td{display:grid;grid-template-columns:96px minmax(0,1fr);gap:10px;text-align:left;padding:10px 0;border-bottom:1px solid #eef2f6;font-size:15px}
  .tbl.cards td:last-child{border-bottom:0}
  .tbl.cards td::before{content:attr(data-label);font-weight:700;color:var(--ink-3);font-size:14px}
  .box{padding:24px 18px;border-radius:14px}
  .btns{margin-top:36px}
  .btns .btn{flex:1 1 0;min-width:0;padding-left:12px;padding-right:12px}
  .btns.solo .btn{flex:0 1 320px}
  .ttl3{font-size:19px}
}
@media (max-width:560px){
  .chips{gap:6px;margin-bottom:20px}
  .chips a,.chips button{padding:8px 14px;font-size:14.5px}
  .srch select{height:46px;padding:0 28px 0 10px;font-size:15px;background-position:right 6px center}
  .srch .fld{height:46px;padding-left:12px}
  .binfo>div{grid-template-columns:minmax(0,1fr)}
  .binfo dt{padding:12px 14px 4px;background:none;color:var(--ink-3);font-size:14px}
  .binfo dd{padding:0 14px 12px}
  .binfo>div{border-top:1px solid var(--line)}
  .pg .pg-arw.x{display:none}
}
