/* ------------------------------------------------------ 게시판 공통 ------------------------------------------------------ */
.lab-wrap{--point: #0B1A22; --btn-navy: #0B1A22; --btn-navy-dark: #0B1A22; --point-dark: #0B1A22; --point-tint: #F3F6F8; --point-line: rgba(4,32,45,.12); --ink: #0B1A22; --ink-2: #5B646E; --ink-3: rgba(91,100,110,.6); --line: rgba(4,32,45,.12); --line-2: rgba(4,32,45,.12); --bg: #F3F6F8; --card: #fff; --pad: 0px; max-width: 1600px; margin: 0 auto; padding: 100px 0; box-sizing: border-box; font-family: 'Pretendard Variable',Pretendard,sans-serif; color: var(--ink); font-size: 16px; line-height: 1.5; letter-spacing: -0.8px;}
.lab-wrap *{box-sizing: border-box;}
.lab-wrap a{color: var(--point); text-decoration: none;}
.lab-wrap a:hover{color: var(--point-dark);}
.lab-wrap input, .lab-wrap select, .lab-wrap textarea, .lab-wrap button{font-family: inherit; font-size: 16px;}
.lab-wrap input:focus, .lab-wrap select:focus, .lab-wrap textarea:focus{outline: 2px solid var(--point-line); outline-offset: -1px;}
.lab-wrap button, .lab-wrap label{word-break: keep-all; white-space: nowrap;}
.lab-wrap .sound_only{position: absolute; font-size: 0; line-height: 0; overflow: hidden; width: 1px; height: 1px;}
.lab-title{display: flex; flex-direction: column; gap: 8px; align-items: center;}
.lab-title h2{margin: 0; font-size: 34px; font-weight: 800; color: var(--ink);}
.lab-title .lab-title-bar{width: 36px; height: 3px; background: var(--point); border-radius: 0; animation: labBarIn 0.6s cubic-bezier(.4,0,.2,1) 0.1s both;}
.lab-topbar{display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; margin-top: 40px;}
.lab-total{font-size: 16px; color: var(--ink-2);}
.lab-total b{color: var(--point);}
.lab-crumb{font-size: 16px; color: var(--ink-2);}
.lab-actions{display: flex; gap: 8px; align-items: center; min-width: 0;}
.lab-sch-input{flex: 0 1 180px; min-width: 80px; padding: 9px 14px; border: 1px solid var(--line); border-radius: 9999px; font-size: 16px; background: #fff; color: var(--ink);}
.lab-btn, .lab-btn-dark, .lab-btn-point, .lab-btn-ink{display: inline-flex; align-items: center; justify-content: center; flex: none; padding: 9px 18px; border-radius: 9999px; font-size: 16px; font-weight: 600; cursor: pointer; line-height: 1.5;}
.lab-btn{border: 1px solid var(--line); background: #fff; color: var(--ink-2);}
.lab-btn:hover{color: var(--point); border-color: var(--point-line);}
.lab-btn-dark{border: 1px solid var(--ink); background: #fff; color: var(--ink);}
.lab-btn-dark:hover{color: var(--ink); background: var(--line-2);}
.lab-btn-point{border: none; background: var(--btn-navy); color: #fff;}
.lab-btn-point:hover{background: var(--btn-navy-dark); color: #fff;}
.lab-btn-ink{border: none; background: var(--ink); color: #fff; padding: 9px 14px;}
.lab-btn-ink:hover{color: #fff;}
.lab-btn i, .lab-btn-dark i, .lab-btn-point i{font-size: 16px; margin-right: 6px;}
.lab-wrap a.lab-btn{color: var(--ink-2);}
.lab-wrap a.lab-btn:hover{color: var(--point);}
.lab-wrap a.lab-btn-dark, .lab-wrap a.lab-btn-dark:hover{color: var(--ink);}
.lab-wrap a.lab-btn-point, .lab-wrap a.lab-btn-point:hover{color: #fff;}
.lab-wrap a.lab-btn-ink, .lab-wrap a.lab-btn-ink:hover{color: #fff;}
.lab-wrap a.lab-selbtn{color: var(--ink-2);}
.lab-wrap a.lab-selbtn:hover{color: var(--point);}
.lab-pills{display: flex; gap: 5px; background: var(--bg); border: 1px solid var(--line); border-radius: 999px; padding: 5px; width: fit-content; margin-top: 32px;}
.lab-pill{display: inline-block; padding: 9px 22px; border-radius: 999px; font-size: 16px; font-weight: 700; cursor: pointer; border: none; background: transparent; color: var(--ink-3);}
.lab-pill:hover{color: var(--ink-2);}
.lab-pill.on{background: #fff; color: var(--point); box-shadow: 0 2px 8px rgba(4,32,45,.12);}
.lab-wrap a.lab-pill{color: var(--ink-3);}
.lab-wrap a.lab-pill:hover{color: var(--ink-2);}
.lab-wrap a.lab-pill.on{color: var(--point);}
.lab-group-head{display: flex; align-items: center; gap: 18px;}
.lab-group-head .gname{font-size: 34px; font-weight: 800; color: var(--point); line-height: 1;}
.lab-group-head .gline{flex: 1; height: 1px; background: var(--point-line);}
.lab-group-head .gcount{font-size: 16px; font-weight: 700; color: var(--ink-3);}
.lab-wrap input[type=checkbox]{accent-color: var(--point);}
.lab-chkall{display: flex; align-items: center; gap: 7px; font-size: 16px; font-weight: 600; color: var(--ink-3); cursor: pointer;}
.lab-chkall input{width: 15px; height: 15px;}
.lab-selbtns{display: flex; justify-content: flex-end; gap: 6px; flex-wrap: wrap;}
.lab-selbtn{display: inline-flex; align-items: center; padding: 8px 14px; border-radius: 9999px; border: 1px solid var(--line); background: #fff; color: var(--ink-2); font-size: 16px; font-weight: 600; cursor: pointer;}
.lab-selbtn:hover{color: var(--point); border-color: var(--point-line);}
.lab-selbtn i{font-size: 16px; margin-right: 6px; color: var(--point);}
.lab-wrap .pg_wrap{display: flex; justify-content: center; gap: 4px; padding: 0; margin: 44px 0 0; text-align: center;}
.lab-wrap .pg{display: inline-flex; gap: 4px;}
.lab-wrap .pg_page, .lab-wrap .pg_current{display: inline-flex; align-items: center; justify-content: center; min-width: 38px; height: 38px; padding: 0 8px; border-radius: 9999px; font-size: 16px; font-weight: 600; background: #fff; border: 1px solid var(--line); color: var(--ink-2);}
.lab-wrap .pg_current{background: var(--point); border: none; color: #fff; font-weight: 700;}
.lab-wrap .pg_page:hover{color: var(--point); border-color: var(--point-line);}
.lab-wrap .pg_start, .lab-wrap .pg_prev, .lab-wrap .pg_next, .lab-wrap .pg_end{text-indent: 0; overflow: hidden; font-size: 0; padding: 0; min-width: 38px; background-image: none;}
.lab-wrap .pg_start:before, .lab-wrap .pg_prev:before, .lab-wrap .pg_next:before, .lab-wrap .pg_end:before{font-family: "Font Awesome 6 Free"; font-weight: 900; font-size: 16px; color: var(--ink-2); line-height: 1;}
.lab-wrap .pg_start:before{content: "\f100";}
.lab-wrap .pg_prev:before{content: "\f104";}
.lab-wrap .pg_next:before{content: "\f105";}
.lab-wrap .pg_end:before{content: "\f101";}
.lab-wrap .pg_start:hover:before, .lab-wrap .pg_prev:hover:before, .lab-wrap .pg_next:hover:before, .lab-wrap .pg_end:hover:before{color: var(--point);}
.lab-vbtns{display: flex; justify-content: space-between; gap: 10px; flex-wrap: wrap;}
.lab-vbtns .grp{display: flex; gap: 6px; flex-wrap: wrap;}
.lab-pn{display: grid; grid-template-columns: 1fr 1fr; gap: 14px;}
.lab-pn a{display: flex; flex-direction: column; gap: 8px; padding: 22px 26px; background: var(--bg); border-radius: 18px; color: var(--ink);}
.lab-pn a:hover{background: var(--point-tint); color: var(--ink);}
.lab-pn .k{font-size: 16px; font-weight: 800; color: var(--ink-3);}
.lab-pn .k i{font-size: 16px;}
.lab-pn .k .fa-arrow-left{margin-right: 8px;}
.lab-pn .k .fa-arrow-right{margin-left: 8px;}
.lab-pn .t{font-size: 16px; font-weight: 800; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;}
.lab-pn a.next{text-align: right;}
.lab-hero{background: var(--point); color: #fff; border-radius: 28px; position: relative; overflow: hidden;}
.lab-hero a{color: #fff;}
.lab-hero .lab-bigno{position: absolute; top: -58px; font-size: 260px; font-weight: 800; color: rgba(255,255,255,0.07); line-height: 1; pointer-events: none;}
.lab-meta-grid{display: grid; grid-template-columns: repeat(auto-fit,minmax(min(280px,100%),1fr)); gap: 1px; background: var(--line-2); border: 1px solid var(--line-2); border-radius: 28px; overflow: hidden;}
.lab-meta-grid .cell{background: #fff; padding: 22px 26px; display: flex; flex-direction: column; gap: 7px;}
.lab-meta-grid .k{font-size: 16px; font-weight: 800; color: var(--ink-3); text-transform: uppercase;}
.lab-meta-grid .v{font-size: 16.5px; font-weight: 700; color: var(--ink); line-height: 1.45;}
.lab-badge{display: inline-block; font-size: 16px; font-weight: 800; border-radius: 999px; padding: 4px 14px; white-space: nowrap;}
.lab-badge.bg{background: var(--point); color: #fff;}
.lab-badge.line{background: var(--point-tint); color: var(--point); border: 1px solid var(--point-line);}
.lab-badge.gray{background: var(--line-2); color: var(--ink-2);}
.lab-badge.wh{background: #fff; color: var(--point);}
.lab-chips{display: flex; gap: 6px; flex-wrap: wrap;}
.lab-chip{font-size: 16px; font-weight: 600; color: var(--ink-2); background: var(--bg); border: 1px solid var(--line); border-radius: 999px; padding: 6px 14px; white-space: nowrap;}
.lab-anim{opacity: 0; transform: translateY(20px); transition: opacity 0.55s ease, transform 0.55s ease;}
.lab-anim.in{opacity: 1; transform: none;}
.lab-pills{position: relative;}
.lab-pill{position: relative; z-index: 1; transition: color 0.2s;}
.lab-pill-slider{position: absolute; z-index: 0; background: #fff; border-radius: 999px; box-shadow: 0 2px 8px rgba(4,32,45,.12); transition: left 0.28s cubic-bezier(.4,0,.2,1),width 0.28s cubic-bezier(.4,0,.2,1),top 0.28s,height 0.28s,opacity 0.2s; opacity: 0; pointer-events: none;}
.lab-pills.js-slide .lab-pill.on{background: transparent; box-shadow: none;}
.lab-pills.js-slide .lab-pill:hover{color: var(--point);}
.lab-featured-mark{display: inline-flex; align-items: center; gap: 5px; font-size: 16px; font-weight: 800; color: var(--point); background: var(--point-tint); border: 1px solid var(--point-line); border-radius: 999px; padding: 3px 10px; white-space: nowrap;}
.lab-featured-mark i{font-size: 16px;}
.lab-w-chk{display: flex; align-items: center; gap: 8px; font-size: 16px; font-weight: 600; color: var(--ink-2); cursor: pointer;}
.lab-w-chk input{width: 17px; height: 17px;}
.lab-btn, .lab-btn-dark, .lab-btn-point, .lab-btn-ink, .lab-selbtn, .lab-pill, .lab-chip, .lab-wrap .pg_page{transition: background 0.18s,color 0.18s,border-color 0.18s,box-shadow 0.18s,transform 0.18s;}
.lab-btn-point:hover{box-shadow: 0 6px 16px rgba(11, 26, 34, .25); transform: translateY(-1px);}
.lab-btn:hover, .lab-btn-dark:hover{transform: translateY(-1px);}
@keyframes labBarIn {
	from{transform: scaleX(0);}
	to{transform: scaleX(1);}
}
.lab-group-head.lab-anim .gline{transform: scaleX(0); transform-origin: left; transition: transform 0.8s cubic-bezier(.4,0,.2,1) 0.25s;}
.lab-group-head.lab-anim.in .gline{transform: scaleX(1);}
.lab-author-link{color: inherit; border-bottom: 1px dashed var(--point-line); padding-bottom: 1px;}
.lab-author-link:hover{color: var(--point); border-bottom-style: solid;}
.lab-feat .authors a.lab-author-link, .lab-jrv-hero .authors a.lab-author-link{color: #fff; border-bottom: 1px dashed rgba(255,255,255,0.45);}
.lab-feat .authors a.lab-author-link:hover, .lab-jrv-hero .authors a.lab-author-link:hover{color: #fff; border-bottom-style: solid;}
.lab-feat .authors{font-size: 16px;}
.lab-feat .fmeta{display: block; font-size: 16px; font-weight: 700; opacity: 0.75; margin-top: 16px; text-transform: uppercase; position: relative;}
.lab-feat .bigno, .lab-feat .tag, .lab-feat .pos, .lab-feat h3, .lab-feat .fmeta, .lab-feat .authors, .lab-feat .fimg{transition: opacity 0.3s ease;}
.lab-feat.fading .bigno, .lab-feat.fading .tag, .lab-feat.fading .pos, .lab-feat.fading h3, .lab-feat.fading .fmeta, .lab-feat.fading .authors, .lab-feat.fading .fimg{opacity: 0;}
/* =================== 반응형 =================== */
@supports (color: oklch(from red l c h)) {
	.lab-wrap{--point-dark: oklch(from var(--point) calc(l - 0.08) c h); --point-tint: oklch(from var(--point) 0.96 calc(c * 0.12) h); --point-line: oklch(from var(--point) 0.88 calc(c * 0.25) h);}
}
@media (prefers-reduced-motion: reduce) {
	.lab-anim{opacity: 1; transform: none; transition: none;}
	.lab-title .lab-title-bar{animation: none;}
	.lab-group-head.lab-anim .gline{transform: none; transition: none;}
}

/* ------------------------------------------------------ 게시판 보기 ------------------------------------------------------ */
.lab-basic{padding: 72px 0 96px;}
.lab-basic .lab-title{margin-bottom: 36px;}
.lab-basic .lab-pills{margin: 0 var(--pad) 22px;}
.lab-basic > form{padding: 0 var(--pad);}
.lab-basic .lab-listbar{margin: 0 0 14px;}
.lab-basic-head, .lab-basic-row{display: grid; grid-template-columns: 18px 66px minmax(0,1fr) 130px; gap: 14px; align-items: center;}
.lab-basic-head.no-chk, .lab-basic-row.no-chk{grid-template-columns: 66px minmax(0,1fr) 130px;}
.lab-basic-head{padding: 15px 12px; border-top: 2px solid var(--ink); border-bottom: 1px solid var(--line); font-size: 16px; font-weight: 700; color: var(--ink-2);}
.lab-basic-head span{text-align: center;}
.lab-basic-row{padding: 18px 12px; border-bottom: 1px solid var(--line-2);}
.lab-basic-row:hover{background: var(--point-tint);}
.lab-basic-row input[type=checkbox]{width: 16px; height: 16px; cursor: pointer; accent-color: var(--point);}
.lab-basic-row .no{display: flex; justify-content: center; align-items: center; font-size: 16px; color: var(--ink-3); font-weight: 600;}
.lab-basic-row .no i{font-size: 16px; color: var(--point);}
.lab-basic-row.is-notice{background: var(--point-tint);}
.lab-basic-row.is-notice .subj .tt{font-weight: 700;}
.lab-basic-row .subj{display: flex; align-items: center; gap: 10px; min-width: 0;}
.lab-basic-row .subj .cbadge{font-size: 16px; font-weight: 800; color: var(--point); background: var(--point-tint); border: 1px solid var(--point-line); border-radius: 999px; padding: 4px 12px; flex: none;}
.lab-basic-row .subj .cbadge.on{color: #fff; background: var(--point); border-color: var(--point);}
.lab-wrap.lab-basic .lab-basic-row .subj a.tt{font-size: 16px; font-weight: 600; color: var(--ink); overflow: hidden; text-overflow: ellipsis; white-space: nowrap;}
.lab-wrap.lab-basic .lab-basic-row .subj a.tt:hover{color: var(--point);}
.lab-basic-row .subj .mk{font-size: 16px; color: var(--point); flex: none;}
.lab-basic-row .subj .nbadge{font-size: 16px; font-weight: 800; color: #fff; background: var(--point); border-radius: 9999px; padding: 2px 6px; flex: none;}
.lab-basic-row .subj .ccnt{font-size: 16px; font-weight: 700; color: var(--point); flex: none;}
.lab-basic-row .date{font-size: 16px; color: var(--ink-3); text-align: center;}
.lab-basic-empty{padding: 60px 0; text-align: center; color: var(--ink-3); font-size: 16px; border-bottom: 1px solid var(--line-2);}
.lab-basic-foot{display: flex; justify-content: flex-end; gap: 6px; margin-top: 22px; flex-wrap: wrap;}
.lab-basic .pg_wrap{margin-top: 32px;}
.lab-bv-head{border-top: 2px solid var(--ink); padding: 30px 6px 24px; border-bottom: 1px solid var(--line);}
.lab-bv-head h3{margin: 0 0 16px; font-size: 25px; font-weight: 800; line-height: 1.4; max-width: 900px; color: var(--ink);}
.lab-bv-meta{display: flex; justify-content: space-between; align-items: center; gap: 20px; flex-wrap: wrap;}
.lab-bv-meta .who{font-size: 16px; color: var(--ink-2); font-weight: 600;}
.lab-bv-meta .who span{color: var(--ink-3); font-weight: 400;}
.lab-bv-meta .stats{display: flex; gap: 14px; font-size: 16px; color: var(--ink-3); white-space: nowrap;}
.lab-bv-meta .stats i{margin-right: 5px;}
.lab-bv-con{background: var(--card); border: 1px solid var(--line); border-radius: 28px; padding: 32px; margin-top: 10px; display: flex; flex-direction: column; gap: 16px; font-size: 16px; line-height: 1.7; color: var(--ink-2);}
.lab-bv-con img{max-width: 100%; height: auto; border-radius: 18px;}
.lab-bv-file{margin-top: 22px;}
.lab-bv-file .fh{display: flex; align-items: center; gap: 8px; margin-bottom: 10px; padding-left: 2px;}
.lab-bv-file .fh .tt{font-size: 16px; font-weight: 800; color: var(--ink);}
.lab-bv-file .fh .cnt{font-size: 16px; font-weight: 700; color: var(--point); background: var(--point-tint); border-radius: 999px; padding: 2px 9px;}
.lab-bv-file a.fitem{display: flex; align-items: center; gap: 12px; border: 1px solid var(--line); border-radius: 18px; padding: 12px 16px; color: var(--ink); margin-bottom: 8px;}
.lab-bv-file a.fitem:last-child{margin-bottom: 0;}
.lab-bv-file a.fitem:hover{border-color: var(--point-line); background: var(--point-tint); color: var(--ink);}
.lab-bv-file .ext{width: 34px; height: 34px; flex: none; border-radius: 9999px; background: var(--point-tint); color: var(--point); display: flex; align-items: center; justify-content: center; font-size: 16px; font-weight: 800;}
.lab-bv-file .nm{flex: 1; min-width: 0; font-size: 16px; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;}
.lab-bv-file .inf{font-size: 16px; color: var(--ink-3); white-space: nowrap;}
.lab-bv-file .dl{color: var(--point); font-size: 16px;}
.lab-bv-btns{margin-top: 24px;}
.lab-bv-nav{display: grid; grid-template-columns: auto 1fr auto; gap: 16px; align-items: center; background: var(--card); border: 1px solid var(--line); border-radius: 18px; padding: 18px 24px; margin-top: 20px; color: var(--ink);}
.lab-bv-nav:hover{border-color: var(--point-line); background: var(--point-tint); color: var(--ink);}
.lab-bv-nav .k{font-size: 16px; font-weight: 800; color: var(--point);}
.lab-bv-nav .k i{font-size: 16px;}
.lab-bv-nav .t{font-size: 16px; font-weight: 600; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;}
.lab-bv-nav .d{font-size: 16px; color: var(--ink-3);}
/* =================== 반응형 =================== */
@media (max-width: 860px) {
	.lab-basic-head{display: none;}
	.lab-basic-head, .lab-basic-row{grid-template-columns: 18px 44px minmax(0,1fr); gap: 10px;}
	.lab-basic-head.no-chk, .lab-basic-row.no-chk{grid-template-columns: 44px minmax(0,1fr);}
	.lab-basic-row .date{display: none;}
	.lab-basic-row .subj{flex-wrap: wrap;}
	.lab-wrap.lab-basic .lab-basic-row .subj a.tt{white-space: normal; flex: 1 1 100%;}
	.lab-basic-head{display: none;}
	.lab-basic-row, .lab-basic-row.no-chk{grid-template-columns: 18px minmax(0,1fr); grid-auto-rows: auto; padding: 14px 6px;}
	.lab-basic-row.no-chk{grid-template-columns: minmax(0,1fr);}
	.lab-basic-row .no{display: none;}
	.lab-basic-row .cell{grid-column: 2; text-align: left; font-size: 16px;}
	.lab-basic-row.no-chk .cell{grid-column: 1;}
}

/* ------------------------------------------------------ 글쓰기 ------------------------------------------------------ */
.lab-w{padding: 72px var(--pad) 96px;}
.lab-w .lab-title{margin-bottom: 40px;}
.lab-w-tophead{display: flex; justify-content: space-between; align-items: center; border-bottom: 2px solid var(--ink); padding-bottom: 16px;}
.lab-w-tophead .opt{display: flex; align-items: center; gap: 8px; font-size: 16px; font-weight: 600; color: var(--ink-2); cursor: pointer;}
.lab-w-tophead .opt input{width: 17px; height: 17px;}
.lab-w-tophead .req-note{font-size: 16px; color: var(--ink-3);}
.lab-w-tophead .req-note b{color: #e5484d;}
.lab-w-row{display: grid; grid-template-columns: minmax(120px,180px) 1fr; align-items: center; border-bottom: 1px solid var(--line-2); padding: 10px 0;}
.lab-w-row.top{align-items: start;}
.lab-w-row > label, .lab-w-row > .lab-w-label{padding: 0 18px; font-size: 16px; font-weight: 700; color: var(--ink); display: flex; align-items: center; gap: 4px;}
.lab-w-row.top > label, .lab-w-row.top > .lab-w-label{padding-top: 14px;}
.lab-w-row .req{color: #e5484d; font-weight: 700;}
.lab-w-field{padding: 6px 8px; min-width: 0;}
.lab-w-input{width: 100%; padding: 12px 15px; border: 1px solid var(--line); border-radius: 12px; font-size: 16px; background: #fff; color: var(--ink);}
.lab-w-input.w260{max-width: 260px;}
.lab-w-help{display: block; margin-top: 6px; font-size: 16px; color: var(--ink-3);}
.lab-w-select{width: 220px; padding: 12px 14px; border: 1px solid var(--line); border-radius: 12px; font-size: 16px; background: #fff; color: var(--ink-2);}
.lab-w-editor{border: 1px solid var(--line); border-radius: 28px; overflow: hidden;}
.lab-w-editor textarea{width: 100%; height: 220px; border: none; padding: 16px; font-size: 16px; resize: vertical;}
.lab-dz{border: 1.5px dashed var(--point-line); border-radius: 28px; background: var(--bg); padding: 30px; display: flex; flex-direction: column; align-items: center; gap: 8px; cursor: pointer; transition: all 0.15s;}
.lab-dz.drag{border-color: var(--point); background: var(--point-tint);}
.lab-dz i{font-size: 22px; color: var(--point);}
.lab-dz .t{font-size: 16px; font-weight: 700; color: var(--ink);}
.lab-dz .t span{color: var(--point);}
.lab-dz .s{font-size: 16px; color: var(--ink-3);}
.lab-dz-files{display: flex; flex-direction: column; gap: 10px;}
.lab-dz-item{display: flex; align-items: center; gap: 12px; border: 1px solid var(--line); border-radius: 12px; padding: 10px 14px; background: #fff;}
.lab-dz-item .ext{width: 32px; height: 32px; flex: none; border-radius: 9999px; background: var(--point-tint); color: var(--point); display: flex; align-items: center; justify-content: center; font-size: 16px; font-weight: 800;}
.lab-dz-item .nm{flex: 1; min-width: 0; font-size: 16px; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;}
.lab-dz-item .sz{font-size: 16px; color: var(--ink-3); white-space: nowrap;}
.lab-dz-item .rm{width: 26px; height: 26px; border: none; border-radius: 9999px; background: transparent; color: var(--ink-3); cursor: pointer;}
.lab-dz-item .rm:hover{background: var(--line-2); color: #e5484d;}
.lab-dz-item label{font-size: 16px; color: var(--ink-3); display: flex; align-items: center; gap: 5px; cursor: pointer;}
.lab-w-hiddenfiles{display: none;}
.lab-people{margin-top: 8px; border: 1px solid var(--line); border-radius: 18px; background: var(--bg); padding: 14px 16px; display: none;}
.lab-people.open{display: block;}
.lab-people .pg-title{font-size: 16px; font-weight: 800; color: var(--ink-3); margin: 8px 0 6px;}
.lab-people .pg-title:first-child{margin-top: 0;}
.lab-people .plist{display: flex; gap: 6px; flex-wrap: wrap;}
.lab-people .p{font-size: 16px; font-weight: 600; color: var(--ink-2); background: #fff; border: 1px solid var(--line); border-radius: 999px; padding: 5px 13px; cursor: pointer;}
.lab-people .p:hover{border-color: var(--point); color: var(--point);}
.lab-people .p.on{background: var(--point); border-color: var(--point); color: #fff;}
.lab-w-foot{display: flex; justify-content: flex-end; gap: 8px; margin-top: 30px;}
.lab-w-cancel{display: inline-flex; align-items: center; padding: 12px 28px; border-radius: 9999px; border: 1px solid var(--line); background: #fff; color: var(--ink-2); font-size: 16px; font-weight: 600; cursor: pointer;}
.lab-w-cancel:hover{color: var(--ink);}
.lab-w-submit{padding: 12px 34px; border-radius: 9999px; border: none; background: var(--point); color: #fff; font-size: 16px; font-weight: 700; cursor: pointer; box-shadow: 0 4px 14px rgba(11, 26, 34, .25);}
.lab-w-submit:hover{background: var(--point-dark);}
/* =================== 반응형 =================== */
@supports (color: oklch(from red l c h)) {
	.lab-w-submit{box-shadow: 0 4px 14px oklch(from var(--point) l c h / 0.25);}
}

/* ------------------------------------------------------ 댓글 ------------------------------------------------------ */
.lab-cmt{margin-top: 44px;}
.lab-cmt-head{display: flex; align-items: center; gap: 8px; padding-bottom: 14px; border-bottom: 2px solid var(--ink);}
.lab-cmt-head .tt{font-size: 16px; font-weight: 800; color: var(--ink);}
.lab-cmt-head .cnt{font-size: 16px; font-weight: 700; color: var(--ink-2); background: var(--line-2); border-radius: 999px; padding: 2px 10px;}
.lab-cmt-empty{padding: 44px 0; text-align: center; color: var(--ink-3); font-size: 16px;}
.lab-cmt-item{padding: 20px 6px; border-bottom: 1px solid var(--line-2);}
.lab-cmt-item .meta{display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-bottom: 8px;}
.lab-cmt-item .who{font-size: 16px; font-weight: 700; color: var(--ink);}
.lab-cmt-item .when{font-size: 16px; color: var(--ink-3);}
.lab-cmt-item .body{font-size: 16px; line-height: 1.7; color: var(--ink-2);}
.lab-cmt-item .cbtns{display: flex; gap: 8px; margin-top: 8px;}
.lab-cmt-item .cbtns a, .lab-cmt-item .cbtns button{font-size: 16px; color: var(--ink-3); background: none; border: none; cursor: pointer; padding: 0;}
.lab-cmt-item .cbtns a:hover, .lab-cmt-item .cbtns button:hover{color: var(--point);}
.lab-cmt-form{border: 1px solid var(--line); border-radius: 28px; overflow: hidden; margin-top: 20px;}
.lab-cmt-form textarea{width: 100%; height: 110px; border: none; padding: 16px; font-size: 16px; resize: vertical;}
.lab-cmt-form .foot{display: flex; justify-content: space-between; align-items: center; padding: 10px 14px; background: var(--bg); border-top: 1px solid var(--line);}
.lab-cmt-form .foot label{display: flex; align-items: center; gap: 7px; font-size: 16px; font-weight: 600; color: var(--ink-2); cursor: pointer;}
.lab-cmt-form .foot label input{width: 15px; height: 15px;}
.lab-cmt-form .foot .send{padding: 10px 22px; border-radius: 9999px; border: none; background: var(--point); color: #fff; font-size: 16px; font-weight: 700; cursor: pointer;}
.lab-cmt-form .foot .send:hover{background: var(--point-dark);}
.lab-cmt-form .guest-row{display: flex; gap: 8px; padding: 10px 14px 0;}
.lab-cmt-form .guest-row input{padding: 9px 12px; border: 1px solid var(--line); border-radius: 9999px; font-size: 16px;}

/* ------------------------------------------------------ 게시판 목록 공통 ------------------------------------------------------ */
.lab-listbar{display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; margin: 40px 0 0; padding: 0 var(--pad);}
.lab-listbar .lft{display: flex; align-items: center; gap: 14px; flex-wrap: wrap; min-width: 0;}
.lab-listbar .rgt{display: flex; align-items: center; gap: 8px; flex-wrap: wrap; min-width: 0;}
.lab-listbar .lab-total{font-size: 16px; color: var(--ink-2);}
.lab-listbar .lab-total b{color: var(--point);}
.lab-sch{display: flex; gap: 8px; align-items: center; min-width: 0; margin: 0;}
.lab-sch .lab-sch-input{flex: 0 1 180px; min-width: 80px; box-sizing: border-box; padding: 9px 14px; border: 1px solid var(--line); border-radius: 9999px; font-size: 16px; background: #fff; color: var(--ink);}
.lab-sch .lab-sch-input:focus{outline: 2px solid var(--point-line); outline-offset: -1px;}
.lab-sch .lab-sch-btn{flex: none; display: inline-flex; align-items: center; justify-content: center; padding: 9px 14px; border-radius: 9999px; border: none; background: var(--ink); color: #fff; font-size: 16px; cursor: pointer; line-height: 1.5;}
.lab-sch .lab-sch-btn:hover{background: var(--point);}
.lab-sch .lab-sch-sel{padding: 9px 12px; border: 1px solid var(--line); border-radius: 9999px; font-size: 16px; color: var(--ink-2); background: #fff;}
.lab-cbadge{display: inline-flex; align-items: center; font-size: 16px; font-weight: 800; color: var(--point); background: var(--point-tint); border: 1px solid var(--point-line); border-radius: 999px; padding: 4px 12px; flex: none; white-space: nowrap;}
.lab-cbadge.on{color: #fff; background: var(--point); border-color: var(--point);}
.lab-notice-mark{display: inline-flex; align-items: center; gap: 5px; font-size: 16px; font-weight: 800; color: #fff; background: var(--point); border-radius: 999px; padding: 4px 11px; flex: none; white-space: nowrap;}
.lab-notice-mark i{font-size: 16px;}
.is-notice{background: var(--point-tint);}
.lab-palette{display: flex; flex-wrap: wrap; gap: 8px;}
.lab-palette .pl{display: inline-flex; align-items: center; gap: 8px; padding: 7px 13px 7px 9px; border: 1px solid var(--line); border-radius: 999px; background: #fff; cursor: pointer; font-size: 16px; font-weight: 600; color: var(--ink-2); transition: border-color .15s,color .15s,box-shadow .15s;}
.lab-palette .pl:hover{border-color: var(--point-line); color: var(--ink);}
.lab-palette .pl input{position: absolute; opacity: 0; width: 0; height: 0;}
.lab-palette .pl .sw{width: 18px; height: 18px; border-radius: 50%; background: var(--point); border: 1px solid rgba(11, 26, 34, .14); flex: none;}
.lab-palette .pl.on{border-color: var(--point); color: var(--point); box-shadow: 0 0 0 3px var(--point-tint);}
.lab-cbadge, .lab-faq-item .q .cate, .lab-lecc-item .tag.ok, .lab-lec-card .tg.mat, .lab-badge.line{background: oklch(from var(--point) 0.90 calc(c * 0.22) h); border: 1px solid var(--point-line);}
.lab-wrap h1, .lab-wrap h2, .lab-wrap h3, .lab-wrap h4, .lab-wrap h5, .lab-wrap h6, .lab-lecc-modal h3, .lab-lecv-gate h3, .lab-wrap input, .lab-wrap select, .lab-wrap textarea, .lab-wrap button{font-family: 'Pretendard Variable',Pretendard,sans-serif;}
.lab-wrap{font-size: 16px;}
.lab-jrv-con, .lab-pfv-con, .lab-lecv-con, .lab-bv-con, .lab-vdv-con, .lab-html-con, .lab-gv-body, .lab-fcv-sec .con, .rs-content, #bo_v_con, .lab-faq-item .a{font-size: 16px; line-height: 1.8;}
.lab-pfv-sec .row .b, .lab-mbv-sec .row .b{font-size: 16px; line-height: 1.7;}
.lab-pn{grid-template-columns: minmax(0,1fr) minmax(0,1fr);}
.lab-pn a{min-width: 0; max-width: 100%;}
.lab-pn .t{display: block; min-width: 0;}
.lab-pill{white-space: nowrap;}
/* =================== 반응형 =================== */
@media (max-width: 1600px) {
	.lab-wrap{--pad: clamp(16px,2vw,24px);}
}
@media (max-width: 860px) {
	.lab-listbar{flex-direction: column; align-items: flex-start;}
	.lab-listbar .rgt{width: 100%;}
	.lab-sch{flex: 1 1 100%;}
	.lab-sch .lab-sch-input{flex: 1 1 auto;}
	.lab-pn{grid-template-columns: 1fr;}
	.lab-w-row{grid-template-columns: 1fr;}
	.lab-w-row > label, .lab-w-row > .lab-w-label{padding: 6px 8px 0;}
	.lab-title h2{font-size: 27px;}
	.lab-pn{grid-template-columns: minmax(0,1fr);}
	.lab-pills{flex-wrap: nowrap; overflow-x: auto; -webkit-overflow-scrolling: touch; scrollbar-width: none; width: auto; max-width: fit-content;}
	.lab-pills::-webkit-scrollbar{display: none;}
	.lab-pills .lab-pill{flex: none;}
	article#bo_v.lab-basic{padding-left: var(--pad); padding-right: var(--pad);}
}

/* ------------------------------------------------------ sub3 보유장비 목록 ------------------------------------------------------ */
.lab-wrap.lab-fc, .lab-wrap.lab-fv{--point: #1DB3EF; --point-dark: #1DB3EF; --fc-accent: #1DB3EF; --fc-soft: #F3F6F8; --fc-line: rgba(4,32,45,.12);}
.lab-fc-head{display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; margin: 40px var(--pad) 0;}
.lab-fc-head .lft{display: flex; align-items: center; gap: 14px; flex-wrap: wrap; min-width: 0;}
.lab-fc-head .rgt{display: flex; flex-direction: column; align-items: flex-end; gap: 12px; min-width: 0; margin-left: auto;}
.lab-fc-head .rgt .btns{display: flex; align-items: center; gap: 8px;}
.lab-fc-head .lab-total{font-size: 15px; color: var(--ink-3);}
.lab-fc-head .lab-total b{color: var(--ink-2); font-weight: 700;}
.lab-fc-sch{display: flex; align-items: center; position: relative; width: 430px; max-width: 100%; height: 60px; margin: 0; border: 1px solid #c9cfd4; border-radius: 9999px; overflow: hidden; background: #fff;}
.lab-fc-sch select{width: 118px; flex: none; height: 100%; padding: 0 6px 0 26px; border: 0; background: transparent; font-size: 17px; color: var(--ink); cursor: pointer;}
.lab-fc-sch input[type=text]{flex: 1; min-width: 0; height: 100%; padding: 0 54px 0 8px; border: 0; background: transparent; font-size: 17px; color: var(--ink);}
.lab-fc-sch input[type=text]::placeholder{color: rgba(91,100,110,.6);}
.lab-fc-sch select:focus, .lab-fc-sch input[type=text]:focus, .lab-fc-sch button:focus{outline: 0 !important; border: 0 !important; box-shadow: none !important;}
.lab-fc-sch button{position: absolute; right: 0; top: 0; height: 100%; padding: 0 22px; border: 0; background: transparent; color: #c9cfd4; font-size: 18px; cursor: pointer;}
.lab-fc-sch button:hover{color: var(--fc-accent);}
.lab-fc-list{display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: clamp(10px,1.042vw,20px); margin: 36px var(--pad) 0; padding: 0; list-style: none;}
.lab-fc-cate{grid-column: 1 / -1; margin-top: 80px;}
.lab-fc-cate:first-child{margin-top: 0;}
.lab-fc-cate h3{margin: 0 0 20px; padding-bottom: 16px; border-bottom: 1px solid var(--line); font-size: clamp(20px,1.458vw,28px); font-weight: 600; color: var(--ink);}
.lab-fc-item{position: relative; display: flex; flex-direction: column; padding: 40px; border: 1px solid var(--fc-line); border-radius: 28px; background: #fff; transition: border-color .3s, box-shadow .3s;}
.lab-fc-chk{position: absolute; left: 14px; top: 14px; z-index: 3;}
.lab-fc-chk input{width: 16px; height: 16px; cursor: pointer; accent-color: var(--fc-accent);}
.lab-wrap.lab-fc .lab-fc-card{display: flex; flex-direction: column; flex: 1; min-width: 0; color: var(--ink); gap: 40px;}
.lab-fc-card figure{position: relative; aspect-ratio: 366/249; display: flex; align-items: center; justify-content: center; margin: 0; border-radius: 18px; overflow: hidden; background: var(--fc-soft);}
.lab-fc-card figure img{width: 100%; height: 100%; object-fit: cover;}
.lab-fc-card figure .noimg{display: flex; flex-direction: column; align-items: center; gap: 8px; font-size: 15px; font-weight: 600; color: var(--ink-3);}
.lab-fc-card figure .noimg i{font-size: 26px;}
.lab-fc-head-txt{text-align: center;}
.lab-fc-badge{display: inline-block; margin-bottom: 8px; padding: 4px 11px; border-radius: 999px; background: var(--fc-accent); color: #fff; font-size: 13px; font-weight: 700;}
.lab-wrap.lab-fc .lab-fc-card h4{margin: 0 0 6px; font-size: 22px; font-weight: 600; line-height: 1.35; color: var(--ink); word-break: keep-all;}
.lab-wrap.lab-fc .lab-fc-card p{font-family: 'Outfit','Pretendard Variable',sans-serif; letter-spacing: normal; font-size: 16px; font-weight: 500; line-height: 1.5; color: var(--fc-accent); word-break: keep-all;}
.lab-fc-spec{margin: auto 0 0; padding: clamp(10px,.833vw,16px) 0 0; border-top: 1px solid var(--fc-line); list-style: none;}
.lab-fc-spec li{display: flex; justify-content: space-between; gap: 14px; padding: 5px 0; font-size: 16px; line-height: 1.5;}
.lab-fc-spec li span{flex: none; color: var(--ink-3);}
.lab-fc-spec li b{font-weight: 550; text-align: right; word-break: keep-all;}
.lab-fc-spec li.solo{justify-content: flex-start;}
.lab-fc-spec li.solo b{font-weight: 400; text-align: left; color: var(--ink-2);}
.lab-fc-body{margin: auto 0 0; padding: clamp(10px,.833vw,16px) 0 0; border-top: 1px solid var(--fc-line); font-size: 14px; line-height: 1.7; color: var(--ink-2); display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden;}
.lab-fc-btns{display: flex; gap: 10px; margin-top: 30px;}
.lab-wrap.lab-fc .lab-fc-btns a{display: flex; align-items: center; justify-content: center; gap: 6px; height: clamp(48px,2.917vw,56px); border-radius: 9999px; background: var(--fc-soft); font-size: 18px; font-weight: 600; color: var(--ink); transition: .35s;}
.lab-wrap.lab-fc a.lab-fc-more{flex: 1; min-width: 0;}
.lab-wrap.lab-fc a.lab-fc-book{flex: none; padding: 0 20px; background: var(--point-dark); color: #fff;}
.lab-wrap.lab-fc a.lab-fc-book:hover{background: var(--ink); color: #fff;}
.lab-wrap.lab-fc a.lab-fc-edit{flex: none; width: clamp(48px,2.917vw,56px); color: var(--ink-3);}
.lab-wrap.lab-fc a.lab-fc-edit:hover{background: var(--line-2); color: var(--ink);}
.lab-fc-empty{padding: 80px 0; text-align: center; font-size: 16px; color: var(--ink-3);}
.lab-wrap.lab-fc .lab-basic-foot{padding: 0 var(--pad);}
.lab-wrap.lab-fc .pg_wrap{margin-top: 70px;}
/* =================== 반응형 =================== */
@media (max-width: 1440px) {
	.lab-fc-list{grid-template-columns: repeat(2,minmax(0,1fr));}
}
@media (max-width: 860px) {
	.lab-fc-head{flex-direction: column; flex-wrap: nowrap; align-items: stretch;}
	.lab-fc-head .rgt{margin-left: 0; align-items: stretch;}
	.lab-fc-head .rgt .btns{justify-content: flex-end;}
	.lab-fc-sch{width: 100%; height: 52px;}
	.lab-fc-sch select{width: 96px; padding-left: 18px; font-size: 16px;}
	.lab-fc-sch input[type=text]{font-size: 16px;}
	.lab-fc-list{gap: 30px 15px; margin-top: 28px;}
	.lab-fc-cate{margin-top: 50px;}
	.lab-fc-cate h3{font-size: 20px;}
}
@media (max-width: 550px) {
	.lab-fc-list{grid-template-columns: minmax(0,1fr); gap: 34px;}
	.lab-fc-spec li{flex-direction: column; gap: 2px;}
	.lab-fc-spec li b{text-align: left;}
}
@media (hover: hover) and (pointer: fine) {
	.lab-fc-item:hover{border-color: var(--fc-accent); box-shadow: 0 10px 30px rgba(4,32,45,.12);}
	.lab-wrap.lab-fc .lab-fc-item:hover a.lab-fc-more{background: #1b55ad; color: #fff;}
}

/* ------------------------------------------------------ sub3 보유장비 상세 ------------------------------------------------------ */
.lab-wrap.lab-fv{padding: 0 var(--pad) 120px;}
.lab-fv-w{display: flex; flex-direction: column; gap: clamp(70px,8vw,140px); padding-top: clamp(50px,6vw,110px);}
.lab-fv .p_tit{margin-bottom: 20px;}
.lab-fv .p_tit strong{font-size: clamp(22px,2vw,30px); font-weight: 700; color: var(--ink);}
.lab-fv-hero{display: flex; align-items: center; gap: clamp(30px,4vw,80px);}
.lab-fv-hero > div{width: 50%; min-width: 0;}
.lab-fv-hero .img{position: relative; aspect-ratio: 4/3; display: flex; align-items: center; justify-content: center; border-radius: 28px; overflow: hidden; background: var(--fc-soft);}
.lab-fv-hero .img img{width: 100%; height: 100%; object-fit: contain;}
.lab-fv-hero .img .noimg{display: flex; flex-direction: column; align-items: center; gap: 10px; font-size: 16px; font-weight: 600; color: var(--ink-3);}
.lab-fv-hero .img .noimg i{font-size: 34px;}
.lab-fv-hero .pic{display: flex; flex-direction: column; gap: 10px;}
.lab-fv-hero .img.is-gal img.gal-main{transition: opacity .3s, transform 2.4s cubic-bezier(.22,.61,.36,1);}
.lab-fv-hero .img.is-gal img.gal-main.is-swap{opacity: 0;}
.lab-fv-hero .gal-cap{position: absolute; left: 20px; bottom: 20px; z-index: 1; display: inline-flex; align-items: center; gap: 10px; max-width: calc(100% - 40px); height: 36px; padding: 0 16px; border: 1px solid var(--line); border-radius: 9999px; background: #fff; font-size: 14px; font-weight: 600; color: var(--ink);}
.lab-fv-hero .gal-cap b{flex: none; font-family: 'Outfit','Pretendard Variable',sans-serif; font-weight: 600; letter-spacing: normal; color: var(--fc-accent);}
.lab-fv-hero .gal-cap .c{overflow: hidden; text-overflow: ellipsis; white-space: nowrap;}
.lab-fv-hero .gal-cap .c:empty{display: none;}
.lab-fv-hero .gal-arw{position: absolute; top: 50%; z-index: 1; width: 44px; height: 44px; margin-top: -22px; padding: 0; display: flex; align-items: center; justify-content: center; border: 1px solid var(--line); border-radius: 50%; background: #fff; color: var(--ink); font-size: 14px; cursor: pointer; transition: border-color .35s, background .35s, color .35s;}
.lab-fv-hero .gal-arw.prev{left: 20px;}
.lab-fv-hero .gal-arw.next{right: 20px;}
.lab-fv-hero .gal-arw:hover{border-color: var(--fc-accent); background: var(--fc-accent); color: #fff;}
.lab-fv-hero .gal-thumbs{display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; margin: 0; padding: 0; list-style: none;}
.lab-fv-hero .gal-thumbs button{display: flex; flex-direction: column; gap: 8px; width: 100%; padding: 0; border: 0; background: none; font: inherit; text-align: left; color: var(--ink-2); cursor: pointer;}
.lab-fv-hero .gal-thumbs .t{display: flex; align-items: center; justify-content: center; aspect-ratio: 4/3; border: 2px solid transparent; border-radius: 12px; overflow: hidden; background: var(--fc-soft); transition: border-color .35s;}
.lab-fv-hero .gal-thumbs .t img{width: 100%; height: 100%; padding: 10px; object-fit: contain; box-sizing: border-box;}
.lab-fv-hero .gal-thumbs .c{font-size: 14px; font-weight: 500; line-height: 1.4; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; transition: color .35s;}
.lab-fv-hero .gal-thumbs button:hover .t{border-color: var(--line);}
.lab-fv-hero .gal-thumbs button.on .t{border-color: var(--fc-accent);}
.lab-fv-hero .gal-thumbs button.on .c{font-weight: 600; color: var(--ink);}
.lab-fv-hero .gal-arw:focus-visible, .lab-fv-hero .gal-thumbs button:focus-visible{outline: 2px solid var(--fc-accent); outline-offset: 2px;}
.lab-fv-hero .p_name{margin-bottom: clamp(26px,3vw,60px);}
.lab-fv-hero .p_name .cate{display: inline-flex; align-items: center; height: 31px; margin-bottom: 18px; padding: 0 18px; border-radius: 9999px; background: var(--fc-accent); font-size: 16px; font-weight: 500; color: #fff;}
.lab-wrap.lab-fv .lab-fv-hero .p_name strong{display: block; font-size: clamp(26px,2.8vw,40px); font-weight: 700; line-height: 1.4; color: var(--ink); word-break: keep-all;}
.lab-wrap.lab-fv .lab-fv-hero .p_name p{margin: 12px 0 0; font-family: 'Outfit','Pretendard Variable',sans-serif; letter-spacing: normal; font-size: clamp(16px,1.4vw,20px); font-weight: 400; color: var(--ink-3);}
.lab-fv-hero .p_info{margin-bottom: clamp(26px,3vw,60px);}
.lab-wrap.lab-fv .lab-fv-hero .p_info p{font-size: clamp(16px,1.2vw,18px); line-height: 1.75; color: var(--ink-2); word-break: keep-all;}
.lab-wrap.lab-fv .lab-fv-hero .p_info p + p{margin-top: 10px;}
.lab-fv-hero .p_list{position: relative; padding-top: clamp(26px,3vw,60px); border-top: 1px solid var(--line);}
.lab-fv-hero .p_list::after{content: ''; position: absolute; left: 0; top: -2px; display: block; width: 20px; height: 3px; background: var(--fc-accent);}
.lab-fv-hero .p_list ul{display: flex; flex-direction: column; gap: clamp(16px,1.8vw,30px); margin: 0; padding: 0; list-style: none;}
.lab-fv-hero .p_list li{position: relative; padding-left: 12px; font-size: clamp(15px,1.2vw,18px); line-height: 1.5; color: var(--ink);}
.lab-fv-hero .p_list li::after{content: ''; position: absolute; left: 0; top: 11px; display: block; width: 4px; height: 4px; border-radius: 50%; background: var(--fc-accent);}
.lab-fv-hero .p_list li b{font-weight: 600;}
.lab-wrap.lab-fv .lab-fv-hero .p_list li p{margin: 10px 0 0; color: var(--ink-2); font-weight: 400;}
.lab-fv-hero .p_btns{display: flex; flex-wrap: wrap; gap: 8px; margin-top: clamp(26px,3vw,50px);}
.lab-wrap.lab-fv .lab-fv-hero .p_btns a{display: inline-flex; align-items: center; justify-content: center; gap: 8px; height: 56px; padding: 0 30px; border-radius: 9999px; font-size: 16px; font-weight: 600; white-space: nowrap; transition: .35s;}
.lab-wrap.lab-fv .lab-fv-hero .p_btns a.book{background: var(--fc-accent); color: #fff;}
.lab-wrap.lab-fv .lab-fv-hero .p_btns a.book:hover{background: var(--point-dark); color: #fff;}
.lab-wrap.lab-fv .lab-fv-hero .p_btns a.list{background: var(--fc-soft); color: var(--ink);}
.lab-wrap.lab-fv .lab-fv-hero .p_btns a.list:hover{background: var(--line-2); color: var(--ink);}
.lab-fv .p_spec .list_box{display: flex; flex-direction: column; gap: clamp(50px,6vw,120px);}
.lab-fv .p_spec .cates{display: flex; margin-bottom: clamp(20px,2vw,40px); display: none;}
.lab-fv .p_spec .cates span{display: flex; align-items: center; height: 31px; padding: 0 18px; border-radius: 9999px; background: var(--fc-accent); font-size: 16px; font-weight: 500; color: #fff; display: none;}
.lab-fv .p_spec .list{display: flex; flex-wrap: wrap; gap: 20px;}
.lab-fv .p_spec .list > dl{display: flex; flex-direction: column; gap: 10px; width: calc((100% - 40px) / 3); min-width: 0; margin: 0; background: #F3F6F8; padding: 30px 40px; border-radius: 18px;}
.lab-fv .p_spec .list > dl:nth-child(4n){border-right: 0;}
.lab-fv .p_spec .list > dl > dt{font-size: 20px; font-weight: 600; color: var(--ink); word-break: keep-all;}
.lab-fv .p_spec .list > dl > dd{margin: 0; \font-size: 16px; font-weight: 400; color: var(--ink-2); word-break: keep-all;}
.lab-fv .p_spec .list > dl.solo{border-right: 0; justify-content: center;}
.lab-fv .p_spec .list > dl.solo > dd{padding-right: 0;}
.lab-fv .p_con .con{font-size: 16px; line-height: 1.8; color: var(--ink-2);}
.lab-fv .p_con .con img{max-width: 100%; height: auto;}
.lab-wrap.lab-fv .p_file a.fitem{display: flex; align-items: center; gap: 14px; padding: 16px 20px; border: 1px solid var(--line); border-radius: 18px; color: var(--ink); margin-bottom: 8px; transition: border-color .4s ease, background-color .4s ease, color .4s ease;}
.lab-wrap.lab-fv .p_file a.fitem:last-child{margin-bottom: 0;}
.lab-wrap.lab-fv .p_file a.fitem:hover{border-color: var(--fc-accent); background: var(--fc-soft); color: var(--ink);}
.lab-fv .p_file .ext{flex: none; display: flex; align-items: center; justify-content: center; width: 38px; height: 38px; border-radius: 9999px; background: var(--fc-soft); color: var(--point-dark); font-size: 13px; font-weight: 800; transition: background-color .4s ease, color .4s ease;}
.lab-fv .p_file .nm{flex: 1; min-width: 0; font-size: 16px; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;}
.lab-fv .p_file .inf{flex: none; font-size: 14px; color: var(--ink-3); white-space: nowrap;}
.lab-fv .p_file .dl{flex: none; color: var(--point-dark);}
.lab-fv-foot{margin-top: clamp(60px,7vw,120px);}
.lab-fv-nav{display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 20px;}
.lab-wrap.lab-fv .lab-fv-nav a{display: flex; flex-direction: column; gap: 8px; padding: 22px 26px; border-radius: 18px; background: var(--fc-soft); color: var(--ink); min-width: 0;}
.lab-wrap.lab-fv .lab-fv-nav a:hover{background: var(--line-2); color: var(--ink);}
.lab-fv-nav .k{display: flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 700; color: var(--point-dark);}
.lab-fv-nav .t{font-size: 16px; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;}
.lab-fv-nav a.next{text-align: right;}
.lab-fv-nav a.next .k{justify-content: flex-end;}
.lab-fv .fv-rv{opacity: 0; transform: translateY(28px); transition: opacity .9s cubic-bezier(.22,1,.36,1), transform .9s cubic-bezier(.22,1,.36,1); transition-delay: calc(var(--d,0) * 1ms);}
.lab-fv .fv-rv.in{opacity: 1; transform: none;}
.lab-fv-hero .img.fv-rv img{transform: scale(1.12); transition: transform 2.4s cubic-bezier(.22,.61,.36,1);}
.lab-fv-hero .img.fv-rv.in img{transform: scale(1);}
.lab-fv-hero .bc-split.is-armed .bc-c{transition-delay: calc(300ms + var(--i,0) * 28ms);}
.lab-fv-hero .p_list.fv-rv::after{width: 0; transition: width .7s cubic-bezier(.22,1,.36,1) .9s;}
.lab-fv-hero .p_list.fv-rv.in::after{width: 20px;}
.lab-wrap .lab-fc-item[data-aos][data-aos]{transition-property: opacity,transform,border-color,box-shadow; transition-duration: 1s,1s,.3s,.3s; transition-delay: var(--aosd,0s),var(--aosd,0s),0s,0s;}
/* =================== 반응형 =================== */
@media (max-width: 1024px) {
	.lab-fv .p_spec .list > dl{width: calc((100% - 20px) / 2);}
}
@media (max-width: 860px) {
	.lab-fv-hero{flex-direction: column; align-items: stretch;}
	.lab-fv-hero > div{width: 100%;}
	.lab-wrap.lab-fv .lab-fv-hero .p_btns a{flex: 1; padding: 0 16px;}
	.lab-fv-nav{grid-template-columns: minmax(0,1fr);}
	.lab-fv-nav a.next{text-align: left;}
	.lab-fv-nav a.next .k{justify-content: flex-start;}
}
@media (max-width: 550px) {
	.lab-fv-hero .gal-cap{left: 10px; bottom: 10px; max-width: calc(100% - 20px); height: 32px; padding: 0 12px; font-size: 13px;}
	.lab-fv-hero .gal-arw{width: 36px; height: 36px; margin-top: -18px; font-size: 12px;}
	.lab-fv-hero .gal-arw.prev{left: 10px;}
	.lab-fv-hero .gal-arw.next{right: 10px;}
	.lab-fv-hero .gal-thumbs{gap: 8px;}
	.lab-fv-hero .gal-thumbs .t img{padding: 6px;}
	.lab-fv-hero .gal-thumbs .c{font-size: 13px;}
	.lab-fv .p_spec .list > dl, .lab-fv .p_spec .list > dl:nth-child(4n){width: 100%; border-right: 0;}
	.lab-fv .p_file .inf{display: none;}
}
@media (prefers-reduced-motion: reduce) {
	.lab-fv .fv-rv{opacity: 1; transform: none; transition: none;}
	.lab-fv-hero .img.fv-rv img{transform: none; transition: none;}
	.lab-fv-hero .p_list.fv-rv::after{width: 20px; transition: none;}
}
