@charset "UTF-8";
/* =============================================================================
   광명장애인보호작업장 — sub.css (v4 문법)
   - 서브 비주얼 띠 없음: 큰 제목 + 한 줄 설명 + 얇은 탭
   - 테두리 최소, 라운드 16px, 회색/베이지 인셋 패널, 장식 없음
   - 마크업(클래스)은 와이어 그대로 유지
   ============================================================================= */
:root{--w:1440px;--cw:1160px;--gut:clamp(20px,3vw,48px);--r:16px}
body{font-size:16px;line-height:1.75}
.wrap{max-width:var(--w);padding:0 var(--gut)}
.util{display:none}
header{border-bottom:1px solid var(--line);background:#fff}
header .wrap{height:84px}
nav.gnb{margin-left:56px;margin-right:auto}
nav.gnb>ul>li>a{font-size:16.5px;font-weight:600;padding:0 18px;transition:color .2s}
nav.gnb>ul>li>a::after{display:none}
nav.gnb>ul>li:hover>a,nav.gnb>ul>li.on>a{color:var(--acc-d)}
.hd-cta{border-radius:8px;background:var(--acc-d);color:#fff;border-color:var(--acc-d);font-weight:700;min-height:46px;padding:0 22px;transition:background .2s,transform .2s}
.hd-cta:hover{background:#A82C52;transform:translateY(-1px)}
.family{display:none}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.btn{border-radius:8px;font-weight:700;transition:background .2s,border-color .2s,color .2s,transform .2s}
.btn:hover{transform:translateY(-1px)}

/* ---------------------------------------------------------------- 페이지 헤드 */
.sv{background:#fff}
.sv .wrap{height:auto;padding-top:72px;padding-bottom:36px;display:block}
.sv small{display:block;font-size:14px;font-weight:600;color:var(--txt3);letter-spacing:.02em}
.sv h1{font-size:clamp(34px,4vw,54px);font-weight:700;line-height:1.15;margin-top:12px;letter-spacing:-.04em}
.sv p{margin-top:18px;color:var(--txt2);font-size:17px;max-width:40em}
.crumb{border-bottom:1px solid var(--line);font-size:14px;color:var(--txt3);background:#fff}
.crumb .wrap{display:flex;align-items:flex-end;justify-content:space-between;min-height:0;gap:16px;flex-wrap:wrap;padding-top:0;padding-bottom:0}
.crumb ol{display:flex;gap:8px;align-items:center;padding:14px 0}
.crumb li+li::before{content:"/";margin-right:8px;color:var(--line-d)}
.crumb li:last-child{color:var(--ink);font-weight:600}
.lnb{display:flex;gap:4px;overflow-x:auto;max-width:100%;scrollbar-width:none}
.lnb a{position:relative;display:inline-flex;align-items:center;min-height:52px;padding:0 16px;font-size:15.5px;font-weight:600;color:var(--txt3);white-space:nowrap;border-radius:0;transition:color .2s}
.lnb a::after{content:"";position:absolute;left:16px;right:16px;bottom:-1px;height:2px;background:var(--acc-d);transform:scaleX(0);transition:transform .25s}
.lnb a:hover{color:var(--ink);background:none}
.lnb a.on{color:var(--acc-d);background:none}
.lnb a.on::after{transform:scaleX(1);background:var(--acc-d)}

/* ---------------------------------------------------------------- 본문 공통 */
.content{max-width:var(--cw);margin:0 auto;padding:72px 20px 128px}
.tabs3{display:inline-flex;gap:4px;padding:4px;background:var(--bg);border-radius:10px;margin-bottom:56px;border:0}
.tabs3 a{display:inline-flex;align-items:center;min-height:42px;padding:0 20px;font-weight:600;font-size:15px;color:var(--txt2);border-radius:8px;transition:background .2s,color .2s}
.tabs3 a::after{display:none}
.tabs3 a:hover{color:var(--ink)}
.tabs3 a.on{background:#fff;color:var(--ink);box-shadow:0 2px 8px rgba(0,0,0,.06)}
.sec{margin-bottom:96px}.sec:last-child{margin-bottom:0}
h2.t{font-size:clamp(24px,2.4vw,30px);font-weight:700;line-height:1.25;margin-bottom:28px;letter-spacing:-.03em}
h2.t small{display:block;font-size:14.5px;font-weight:400;color:var(--txt3);margin-top:8px;letter-spacing:0}
h3.t{font-size:19px;font-weight:700;margin:40px 0 14px}
.lead{font-size:clamp(22px,2.2vw,30px);font-weight:600;line-height:1.45;color:var(--ink);letter-spacing:-.03em;max-width:24em}
.lead b{font-weight:700;color:var(--acc-d)}
.para{font-size:16.5px;color:var(--txt2);margin-top:16px;line-height:1.85}
.para+.para{margin-top:12px}
.hero-ill{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:center;margin-bottom:56px}
.hero-ill .ill{border-radius:var(--r)}
.ill,.ph,.map{background:var(--bg);color:var(--txt3);font-size:13px;display:grid;place-items:center;text-align:center;padding:12px;position:relative;border-radius:var(--r);overflow:hidden;border:0}
.ill span,.ph span{opacity:.6}
.ill img,.ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.note{border-radius:var(--r);padding:28px 32px;margin:32px 0 48px;background:var(--beige);border:0;display:grid;grid-template-columns:1fr auto;gap:12px 40px;align-items:center}
.note>b{display:block;font-size:17px;margin-bottom:6px;color:var(--ink);grid-column:1}
.note p{color:var(--txt2);font-size:15.5px;line-height:1.75;grid-column:1}
.note p b{font-weight:700;color:var(--ink)}
.note .tel{font-size:28px;font-weight:700;margin:0;color:var(--ink);font-variant-numeric:tabular-nums;grid-column:2;grid-row:1/3;letter-spacing:-.02em}
.callout{background:var(--bg);color:var(--ink);border-radius:var(--r);padding:40px 48px;display:flex;align-items:center;justify-content:space-between;gap:32px;margin-top:64px;flex-wrap:wrap}
.callout h4{font-size:22px;color:var(--ink);letter-spacing:-.02em}
.callout p{color:var(--txt2);margin-top:6px;font-size:15.5px}
.callout .tel{font-size:clamp(28px,3vw,40px);font-weight:700;white-space:nowrap;font-variant-numeric:tabular-nums;letter-spacing:-.03em;color:var(--ink)}
.callout .tel small{display:block;font-size:13.5px;font-weight:400;color:var(--txt3);letter-spacing:0;margin-top:4px}
/* 정보 블록 */
.cards{display:grid;gap:20px}
.cards.c2{grid-template-columns:1fr 1fr}.cards.c3{grid-template-columns:repeat(3,1fr)}.cards.c4{grid-template-columns:repeat(4,1fr)}
.card{padding:32px 32px 34px;background:var(--bg);border:0;border-radius:var(--r);transition:transform .25s}
.card:hover{transform:translateY(-3px)}
.card .ic{display:none}
.card h4{font-size:18px;font-weight:700;margin-bottom:12px;color:var(--ink)}
.card p{font-size:15.5px;color:var(--txt2);line-height:1.75}
.card p b{color:var(--ink)}
.cards .ill{border-radius:var(--r)}
.kv{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;border:0}
.kv>div{padding:28px 28px 30px;background:var(--bg);border-radius:var(--r);border:0;margin:0}
.kv .k{font-size:13.5px;color:var(--txt3);font-weight:600}
.kv .v{font-size:19px;font-weight:700;margin-top:10px;color:var(--ink);line-height:1.4;letter-spacing:-.02em;overflow-wrap:anywhere}.kv .v.sm{font-size:15.5px}
.olist{counter-reset:o}
.olist li{display:flex;gap:20px;align-items:flex-start;padding:22px 0;border-bottom:1px solid var(--line);font-size:17px;color:var(--ink)}
.olist li:first-child{border-top:1px solid var(--ink)}
.olist li b{flex:none;width:32px;height:32px;border-radius:50%;background:var(--beige);color:var(--ink);font-size:13px;font-weight:700;display:grid;place-items:center;margin-top:1px}
/* 표 */
.tbl{border-top:1px solid var(--ink);font-size:15.5px}
.tbl th{background:transparent;padding:16px 16px;font-weight:700;border-bottom:1px solid var(--line-d);text-align:left;white-space:nowrap;color:var(--ink)}
.tbl th+th,.tbl td+td{border-left:0}
.tbl td{padding:16px;border-bottom:1px solid var(--line);color:var(--txt2);vertical-align:top;line-height:1.7}
.tbl .c{text-align:center}
.tbl td b{color:var(--ink)}
.tbl .tag{display:inline;font-size:15.5px}
.tbl .tag+.tag::before{content:", "}
.grp td.g{background:var(--bg);font-weight:700;text-align:center;vertical-align:middle;width:110px;color:var(--ink);border-radius:0}
/* 단계 */
.steps{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;counter-reset:s}
.steps li{position:relative;padding:28px 22px 26px;background:var(--bg);border-radius:var(--r);transition:transform .25s}
.steps li:hover{transform:translateY(-3px)}
.steps li::before{counter-increment:s;content:"0" counter(s);display:block;font-size:13px;font-weight:700;color:var(--acc-d);margin-bottom:14px;letter-spacing:.04em;font-variant-numeric:tabular-nums}
.steps li b{display:block;font-size:16px;color:var(--ink);line-height:1.4;font-weight:700}
.steps li span{display:block;font-size:13.5px;color:var(--txt3);margin-top:6px}
/* 조직도 */
.org{display:flex;flex-direction:column;align-items:center}
.org .n{border:1px solid var(--line-d);border-radius:10px;padding:14px 28px;font-weight:600;font-size:15px;min-width:160px;text-align:center;background:#fff;color:var(--ink)}
.org .n.top{background:var(--yellow-l);border-color:var(--yellow-l);color:var(--ink)}
.org .n.hd{background:var(--bg);border-color:var(--bg)}
.org .v{width:1px;height:28px;background:var(--line-d)}
.org .row{display:flex;gap:64px;position:relative;padding-top:28px}
.org .row::before{content:"";position:absolute;left:50%;top:0;width:1px;height:28px;background:var(--line-d)}
.org .row::after{content:"";position:absolute;left:25%;right:25%;top:0;height:1px;background:var(--line-d)}
.org .col{display:flex;flex-direction:column;align-items:center}
.org .col ul{margin-top:12px;font-size:14.5px;color:var(--txt2);text-align:center;line-height:1.9}
/* 연혁 */
.tl .yr{display:grid;grid-template-columns:140px 1fr;padding:8px 0}
.tl .yr+.yr{margin-top:0;border-top:1px solid var(--line)}
.tl .y{font-size:clamp(28px,3vw,40px);font-weight:700;padding-top:14px;line-height:1;color:var(--ink);letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.tl ul{border-left:0;padding:10px 0 18px 0}
.tl li{padding:8px 0;display:grid;grid-template-columns:80px 1fr;gap:16px;font-size:16px;position:relative;color:var(--txt)}
.tl li::before{display:none}
.tl li b{color:var(--txt3);font-weight:500;font-size:14.5px;font-variant-numeric:tabular-nums}
.tl-nav{display:inline-flex;gap:4px;padding:4px;background:var(--bg);border-radius:10px;margin-bottom:40px}
.tl-nav a{display:inline-flex;align-items:center;min-height:40px;padding:0 18px;border:0;border-radius:8px;font-size:14.5px;font-weight:600;color:var(--txt2);transition:background .2s,color .2s}
.tl-nav a:hover{background:#fff;color:var(--ink)}
.map{height:420px;border-radius:var(--r);background:var(--bg)}
.map .pin{border:0;border-radius:8px;background:#fff;padding:10px 16px;font-size:14px;font-weight:600;color:var(--ink);box-shadow:0 8px 24px rgba(0,0,0,.08)}
/* 카페 지점 · 제품 · 갤러리: 사진 카드 */
.cafe{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.cafe .c{border-radius:var(--r);background:#fff;overflow:hidden;border:0;transition:transform .25s}
.cafe .c:hover{transform:translateY(-4px)}
.cafe .c:hover .ill img{transform:scale(1.04)}
.cafe .ill{aspect-ratio:4/3;border-radius:var(--r)}
.cafe .tx{padding:18px 4px 8px}
.cafe .no{font-size:13px;font-weight:600;color:var(--txt3)}
.cafe h4{font-size:19px;font-weight:700;margin-top:4px;letter-spacing:-.02em}
.cafe dl{display:grid;grid-template-columns:48px 1fr;font-size:14.5px;row-gap:4px;margin-top:12px}
.cafe dt{color:var(--txt3)}
.cafe dd{color:var(--txt2)}
.prod{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.prod a{display:block;border-radius:var(--r);position:relative;background:#fff;overflow:visible;border:0;transition:transform .3s}
.prod a:hover{transform:translateY(-6px)}
.prod .ph{aspect-ratio:1;border-radius:var(--r);transition:box-shadow .3s}
.prod a:hover .ph{box-shadow:0 18px 40px rgba(30,20,10,.12)}
.prod a:hover .ph img{transform:scale(1.05)}
.prod .tx{padding:16px 4px 0}
.prod .nm{font-size:16.5px;font-weight:700;color:var(--ink)}
.prod .sp{font-size:13.5px;color:var(--txt3);margin-top:2px}
.prod .pr{font-size:16.5px;font-weight:700;margin-top:8px;color:var(--ink);font-variant-numeric:tabular-nums}
.prod .off{position:absolute;left:12px;top:12px;z-index:1;background:var(--txt3);color:#fff;font-size:12px;font-weight:600;padding:5px 9px;border-radius:6px}
.prod a.soldout .ph{opacity:.55}
.prod a.soldout .pr{color:var(--txt3);text-decoration:line-through;font-weight:500}
.cat{display:inline-flex;gap:4px;padding:4px;background:var(--bg);border-radius:10px;margin-bottom:32px}
.cat a{display:inline-flex;align-items:center;min-height:42px;padding:0 20px;border:0;border-radius:8px;font-size:15px;font-weight:600;color:var(--txt2);background:transparent;transition:background .2s,color .2s}
.cat a:hover{color:var(--ink)}
.cat a.on{background:#fff;color:var(--ink);box-shadow:0 2px 8px rgba(0,0,0,.06)}
.toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;font-size:14.5px;color:var(--txt3);flex-wrap:wrap;gap:8px}
.toolbar b{color:var(--ink)}
.toolbar .sort{display:flex;gap:2px}
.toolbar .sort a{display:inline-flex;align-items:center;min-height:36px;padding:0 10px;border-radius:6px}
.toolbar .sort a:hover{color:var(--ink);background:var(--bg)}
.toolbar .sort a.on{color:var(--ink);font-weight:700}
.empty{border:0;border-radius:var(--r);padding:72px 20px;text-align:center;color:var(--txt3);background:var(--bg)}
/* 게시판 */
.bsearch{display:flex;gap:8px;justify-content:flex-end;margin-bottom:24px;flex-wrap:wrap}
.bsearch select,.bsearch input{border:1px solid var(--line-d);border-radius:8px;min-height:46px;padding:0 14px;font-size:15px;background:#fff}
.bsearch input{width:260px}
.bsearch button{background:var(--acc-d);color:#fff;min-height:46px;padding:0 20px;font-weight:600;border-radius:8px}
.bsearch button:hover{background:#A82C52}
.board{border-top:1px solid var(--ink);font-size:15.5px}
.board th{padding:16px 16px;background:transparent;font-weight:700;border-bottom:1px solid var(--line-d);white-space:nowrap;color:var(--ink)}
.board td{padding:18px 16px;border-bottom:1px solid var(--line);text-align:center;color:var(--txt2);font-variant-numeric:tabular-nums;white-space:nowrap}
.board td.tt{white-space:normal}
.board td.tt{text-align:left;color:var(--ink);font-weight:500}
.board tr{transition:background .15s}
.board tbody tr:hover td{background:var(--bg)}
.board td.tt a:hover{text-decoration:underline;text-underline-offset:4px}
.board .new{display:inline-block;background:var(--acc-d);color:#fff;font-size:10.5px;font-weight:800;padding:2px 6px;border-radius:4px;margin-left:8px;vertical-align:2px}
.board .lock{margin-right:6px}
.board .st{display:inline-block;font-size:13px;font-weight:600;padding:4px 10px;border-radius:6px;background:var(--bg);color:var(--txt2)}
.board .st.done{background:#E6F2EA;color:#1C5A3D}
.board .st.wait{background:var(--yellow-l);color:#6B4E00}
.board tr.notice td{background:var(--beige)}
.board tr.notice td.tt{font-weight:700}
.pg{display:flex;justify-content:center;gap:6px;margin-top:40px;flex-wrap:wrap}
.pg a{width:42px;height:42px;display:grid;place-items:center;border:0;border-radius:8px;font-size:14.5px;color:var(--txt2);font-variant-numeric:tabular-nums;transition:background .2s,color .2s}
.pg a:hover{background:var(--bg);color:var(--ink)}
.pg a.on{background:var(--acc-d);color:#fff;font-weight:700}
.bbtn{display:flex;justify-content:flex-end;gap:8px;margin-top:24px}
.view .vh{border-top:1px solid var(--ink);border-bottom:1px solid var(--line);padding:32px 8px}
.view .vh h2{font-size:clamp(22px,2.4vw,30px);font-weight:700;line-height:1.35;letter-spacing:-.03em}
.view .vh .meta{display:flex;gap:18px;font-size:14.5px;color:var(--txt3);margin-top:14px;flex-wrap:wrap}
.view .vb{padding:40px 8px;min-height:240px;color:var(--txt);font-size:16.5px;line-height:1.9}
.view .att{border-top:1px solid var(--line);padding:18px 20px;font-size:15px;display:flex;gap:8px;flex-wrap:wrap;background:var(--bg);border-radius:12px;margin-top:8px;border-bottom:0}
.view .att a{text-decoration:underline;text-underline-offset:4px;color:var(--ink);font-weight:600}
.view .pn{font-size:15.5px;margin-top:24px;border-top:1px solid var(--line)}
.view .pn div{display:grid;grid-template-columns:80px 1fr;padding:16px 8px;border-bottom:1px solid var(--line)}
.view .pn b{color:var(--txt3);font-weight:600}
.view .pn a:hover{text-decoration:underline;text-underline-offset:4px}
.gal{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.gal a{display:block;border-radius:var(--r);background:#fff;overflow:visible;border:0;transition:transform .3s}
.gal a:hover{transform:translateY(-5px)}
.gal .ph{aspect-ratio:4/3;border-radius:var(--r)}
.gal a:hover .ph img{transform:scale(1.04)}
.gal .tx{padding:16px 4px 0}
.gal b{display:block;font-size:16.5px;line-height:1.45;color:var(--ink);font-weight:700;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.gal span{font-size:13.5px;color:var(--txt3);margin-top:6px;display:block;font-variant-numeric:tabular-nums}
/* 폼 */
.form{border-top:1px solid var(--ink)}
.form .row{display:grid;grid-template-columns:180px 1fr;border-bottom:1px solid var(--line)}
.form .row label{background:transparent;padding:22px 8px;font-weight:700;font-size:15.5px;display:flex;align-items:center;color:var(--ink)}
.form .row label i{font-style:normal;margin-left:4px;color:var(--acc-d)}
.form .row div{padding:16px 8px;display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.form input[type=text],.form input[type=tel],.form input[type=email],.form select,.form textarea{border:1px solid var(--line-d);border-radius:8px;min-height:48px;padding:10px 14px;font-size:15.5px;width:100%;max-width:460px;background:#fff;transition:border-color .2s,box-shadow .2s}
.form input:focus,.form select:focus,.form textarea:focus{border-color:var(--ink);outline:0;box-shadow:0 0 0 3px rgba(30,30,30,.08)}
.form textarea{max-width:100%;min-height:180px;resize:vertical}
.form input[type=file]{font-size:14px}
.form .chk{display:flex;gap:20px;font-size:15.5px;flex-wrap:wrap}
.form .chk label{display:flex;gap:8px;align-items:center;background:none;padding:0;font-weight:400;min-height:44px;color:var(--txt)}
.form .chk input{width:18px;height:18px;accent-color:var(--ink)}
.agree{border:0;border-radius:12px;padding:20px 22px;font-size:14.5px;color:var(--txt2);margin-top:28px;max-height:140px;overflow:auto;background:var(--bg);line-height:1.75}
.agree-chk{display:flex;gap:10px;align-items:center;font-size:15.5px;margin-top:14px;font-weight:600;min-height:44px;color:var(--ink)}
.agree-chk input{width:18px;height:18px;accent-color:var(--ink)}
.fbtn{display:flex;justify-content:center;gap:10px;margin-top:40px}
.fbtn .btn{min-width:160px;min-height:52px}
/* 후원 */
.quoteh{font-size:clamp(28px,3.4vw,44px);font-weight:700;line-height:1.3;text-align:left;padding:0;color:var(--ink);letter-spacing:-.04em;max-width:18em}
.quoteh b{color:var(--acc-d)}
.quoteh+.para{text-align:left;max-width:40em;margin:20px 0 0}
.acct{border:0;border-radius:var(--r);background:var(--bg);padding:24px 28px;display:flex;align-items:center;gap:20px;margin-top:20px;flex-wrap:wrap}
.acct .lb{font-size:13.5px;font-weight:600;color:var(--txt3);width:auto;flex:none}
.acct .no{font-size:22px;font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.acct .bk{font-size:13.5px;color:var(--txt3);margin-top:2px}
.acct .cp{margin-left:auto;font-size:14px;font-weight:600;border:1px solid var(--line-d);border-radius:8px;min-height:42px;padding:0 16px;white-space:nowrap;background:#fff;transition:background .2s,color .2s,border-color .2s}


/* 푸터 (main.css와 동일) */
.v4ft{background:#fff;color:var(--txt2);padding:80px 0 40px;font-size:14px;border-top:1px solid var(--line)}
.v4ft .top{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:64px;padding-bottom:56px;border-bottom:1px solid var(--line)}
.v4ft .brand img{height:44px;width:auto}
.v4ft .brand p{margin-top:24px;font-size:22px;font-weight:600;color:var(--ink);letter-spacing:-.03em;line-height:1.4}
.v4ft .cols{display:grid;grid-template-columns:repeat(4,1fr);gap:32px}
.v4ft h4{font-size:13px;font-weight:700;color:var(--ink);margin-bottom:16px;letter-spacing:.02em}
.v4ft .cols a{display:block;padding:6px 0;color:var(--txt2);font-size:14.5px}
.v4ft .cols a:hover{color:var(--ink);text-decoration:underline;text-underline-offset:4px}
.v4ft .contact b{display:block;font-size:26px;font-weight:700;color:var(--ink);letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.v4ft .contact span{display:block;margin-top:6px;font-size:13px}
.v4ft .contact a{margin-top:10px;text-decoration:underline;text-underline-offset:4px}
.v4ft .bottom{display:flex;justify-content:space-between;gap:32px;padding-top:28px;flex-wrap:wrap;font-size:13px;line-height:1.8;color:var(--txt3)}
.v4ft .links{display:flex;gap:20px;flex-wrap:wrap;align-items:center}
.v4ft .links a{color:var(--ink);font-weight:600}
.v4ft .links a:hover{text-decoration:underline}
.v4ft .links span{color:var(--txt3)}
.v4ft .cols a{transition:color .2s,padding-left .25s}
.v4ft .cols a:hover{padding-left:6px;text-decoration:none}
@media (max-width:1024px){.v4ft .top{grid-template-columns:1fr;gap:40px}.v4ft .cols{grid-template-columns:1fr 1fr;gap:28px}}
@media (max-width:768px){.v4ft{padding:56px 0 32px}.v4ft .cols{grid-template-columns:1fr}.v4ft .bottom{flex-direction:column;gap:16px}}

/* 비전·미션 */
.vm{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.vm-card{background:var(--bg);border-radius:var(--r);padding:56px 48px;min-height:280px;display:flex;flex-direction:column;justify-content:flex-end;transition:background .3s,color .3s,transform .3s}
.vm-card:hover{background:var(--pink-l);transform:translateY(-4px)}.vm-card:hover small{color:var(--acc-d)}
.vm-card small{font-size:13px;font-weight:700;letter-spacing:.08em;color:var(--txt3);margin-bottom:auto}
.vm-card h4{font-size:clamp(24px,2.4vw,32px);line-height:1.35;letter-spacing:-.03em;font-weight:700;color:var(--ink)}

/* 인라인 대체 */
.tlink{display:inline-block;margin-top:4px;font-size:13.5px;font-weight:600;color:var(--txt3);text-decoration:underline;text-underline-offset:3px}
.tlink:hover{color:var(--ink)}
.dim{color:var(--txt3);font-weight:400}
.kv.kv3{grid-template-columns:repeat(3,1fr)}.kv.kv2{grid-template-columns:1fr 1fr}
.sec.center{text-align:center}.center{text-align:center;margin-top:32px}
.para.first{margin:0 0 28px}.note.first{margin:0 0 40px}.hero-ill.last{margin-bottom:0}
/* 조직도 v2 — 선은 팀 카드 기준으로만 그림 (정확히 만남) */
.org2{position:relative}
.org2 .chain{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:0}
.org2 .chain .n{grid-column:2;justify-self:center;position:relative;z-index:1}
.org2 .chain{display:flex;justify-content:flex-end;align-items:center;gap:0;padding-right:var(--pr,0px)}
.org2 .n{border-radius:10px;padding:16px 28px;font-weight:700;font-size:16px;text-align:center;background:var(--bg);color:var(--ink);transition:background .2s,color .2s;position:relative;z-index:1;white-space:nowrap}
.org2 .n.top{background:var(--yellow-l)}
.org2 .n:hover{background:var(--pink-l);color:var(--acc-d)}
.org2 .chain i{width:40px;height:2px;background:var(--line-d);flex:none}
.org2 .teams{display:grid;grid-template-columns:1fr 1fr;gap:20px;position:relative;padding-top:56px}
.org2 .teams::before,.org2 .teams::after{display:none}
.org2 .team{position:relative;background:var(--bg);border-radius:var(--r);padding:28px 32px;transition:background .25s,transform .25s}
/* 각 카드: 중심에서 위로 28px 올라가는 드롭 + 카드 중심에서 안쪽 가장자리(+gap 절반)까지 가로선 */
.org2 .team::before{content:"";position:absolute;left:50%;top:-28px;width:2px;height:28px;background:var(--line-d);transform:translateX(-1px)}
.org2 .team::after{content:"";position:absolute;top:-29px;height:2px;background:var(--line-d)}
.org2 .team:first-child::after{left:50%;right:-10px}
.org2 .team:last-child::after{left:-10px;right:50%}
/* 사무국장 하강선: 우측 카드 중심(=사무국장 중심) 위 28px */
.org2 .chain .n:last-child::after{content:"";position:absolute;left:50%;top:100%;width:2px;height:28px;background:var(--line-d);transform:translateX(-1px)}
.org2 .team:hover{background:var(--pink-l);transform:translateY(-3px)}
.org2 .team h4{font-size:18px;font-weight:700;margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid var(--line-d)}
.org2 .team ul{display:grid;grid-template-columns:1fr 1fr;gap:6px 16px}
.org2 .team li{font-size:15px;color:var(--txt2);padding-left:14px;position:relative}
.org2 .team li::before{content:"";position:absolute;left:0;top:11px;width:5px;height:5px;border-radius:50%;background:var(--pink)}
/* 종사자 현황 v2 */
.staff{display:grid;gap:36px}
.staff .sg{display:grid;grid-template-columns:180px 1fr;gap:24px;align-items:start;padding-top:24px;border-top:1px solid var(--ink)}
.staff .sg:first-child{border-top-color:var(--ink)}
.staff .sg h4{font-size:17px;font-weight:700;color:var(--ink);padding:0;border:0;margin:0;line-height:1.5}
.staff .sg ul{display:grid;grid-template-columns:1fr;gap:0}
.staff li{display:grid;grid-template-columns:130px 1fr auto;gap:14px;align-items:baseline;padding:12px 0;border-bottom:1px solid var(--line);font-size:15px;transition:padding-left .25s}
.staff li:hover{padding-left:6px}
.staff li b{color:var(--ink);font-weight:700}
.staff li span{color:var(--txt2)}
.staff li em{font-style:normal;color:var(--txt3);font-variant-numeric:tabular-nums;white-space:nowrap;transition:color .2s}
.staff li:hover em{color:var(--acc-d)}
/* 연혁 v2 */
.tlhead .lead{max-width:none}
.tlsum{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:40px}
.tlsum li{background:var(--bg);border-radius:var(--r);padding:22px 24px;transition:background .25s,transform .25s}
.tlsum li:hover{background:var(--pink-l);transform:translateY(-3px)}
.tlsum b{display:block;font-size:30px;font-weight:700;letter-spacing:-.04em;line-height:1;color:var(--ink);font-variant-numeric:tabular-nums}
.tlsum span{display:block;margin-top:10px;font-size:14px;color:var(--txt2);line-height:1.5}
.tl2{position:relative}
.tl2 .dec{position:relative;padding:8px 0 40px}
.tl2 .dec+.dec{margin-top:16px}
.tl2 .dh{display:inline-flex;align-items:baseline;gap:12px;background:#fff;padding:6px 0 18px}
.tl2 .dh b{font-size:clamp(26px,2.6vw,34px);font-weight:700;letter-spacing:-.04em;color:var(--ink)}
.tl2 .dh span{font-size:14.5px;color:var(--txt3)}
.tl2 .evs{position:relative;padding-top:8px}
.tl2 .evs::before{content:"";position:absolute;left:50%;top:0;bottom:0;width:2px;background:var(--line);transform:translateX(-1px)}
.tl2 .ev{position:relative;width:50%;padding:0 48px 28px 0}
.tl2 .ev:nth-child(even){margin-left:50%;padding:0 0 28px 48px}
.tl2 .ev::before{content:"";position:absolute;top:26px;right:-7px;width:12px;height:12px;border-radius:50%;background:#fff;border:2px solid var(--line-d);z-index:1;transition:background .2s,border-color .2s,transform .2s}
.tl2 .ev:nth-child(even)::before{right:auto;left:-7px}
.tl2 .ev.hi::before{background:var(--pink);border-color:var(--pink)}
.tl2 .ev:hover::before{background:var(--acc-d);border-color:var(--acc-d);transform:scale(1.3)}
.tl2 .card{background:var(--bg);border-radius:var(--r);padding:22px 26px 20px;border:0;box-shadow:none;transition:background .25s,transform .25s}
.tl2 .ev.hi .card{background:var(--beige)}
.tl2 .ev:hover .card{background:var(--pink-l);transform:none}
.tl2 .yy{display:block;font-size:22px;font-weight:700;letter-spacing:-.03em;color:var(--ink);margin-bottom:10px;font-variant-numeric:tabular-nums}
.tl2 .ev.hi .yy{color:var(--acc-d)}
.tl2 .card ul{display:grid;gap:8px}
.tl2 .card li{display:grid;grid-template-columns:64px 1fr;gap:12px;font-size:15px;line-height:1.6;color:var(--txt)}
.tl2 .card li b{color:var(--txt3);font-weight:500;font-size:13.5px;font-variant-numeric:tabular-nums;padding-top:2px}
/* 오시는길 지도 */
.map2{position:relative;border-radius:var(--r);overflow:hidden;background:var(--bg);height:480px}
.map2 iframe{width:100%;height:100%;border:0;display:block;filter:saturate(.85)}
.mapcard{position:absolute;left:24px;bottom:24px;background:#fff;border-radius:14px;padding:22px 24px;box-shadow:0 12px 36px rgba(0,0,0,.12);width:340px}
.mapcard b{display:block;font-size:18px;font-weight:700;color:var(--ink)}
.mapcard span{display:block;margin-top:4px;font-size:14px;color:var(--txt2)}
.mapcard .acts{display:flex;gap:8px;margin-top:16px}
.mapcard .btn{min-height:42px;padding:0 14px;font-size:14px;flex:1;white-space:nowrap}
/* 오시는길 v2 */
.content.wide{max-width:var(--w);padding-left:var(--gut);padding-right:var(--gut)}
.loc{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:0;border-radius:var(--r);overflow:hidden;background:var(--bg)}
.loc .map2{height:520px;border-radius:0}
.locinfo{padding:44px 44px 40px;display:flex;flex-direction:column}
.locinfo small{font-size:12.5px;font-weight:700;letter-spacing:.08em;color:var(--txt3)}
.locinfo h2{font-size:clamp(24px,2.2vw,30px);font-weight:700;letter-spacing:-.03em;line-height:1.3;margin-top:12px}
.locinfo>p{margin-top:10px;font-size:14.5px;color:var(--txt2)}
.locinfo dl{margin-top:28px;border-top:1px solid var(--line-d)}
.locinfo dl>div{display:grid;grid-template-columns:76px 1fr;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);font-size:15px}
.locinfo dt{color:var(--txt3);font-weight:600}
.locinfo dd{color:var(--ink);font-weight:600;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.locinfo dd a:hover{color:var(--acc-d);text-decoration:underline;text-underline-offset:3px}
.locinfo .acts{display:flex;gap:8px;margin-top:auto;padding-top:28px}
.locinfo .btn{flex:1;min-height:46px;padding:0 12px;font-size:14.5px;white-space:nowrap}
.route{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.route.two{grid-template-columns:1fr 1fr;gap:24px}.route.two .rt-card{padding:32px 36px}
.rt-card{display:grid;grid-template-columns:64px 1fr;gap:20px;align-items:start;padding:28px;background:var(--bg);border-radius:var(--r);transition:background .25s,transform .25s}
.rt-card:hover{background:var(--pink-l);transform:translateY(-3px)}
.rt-badge{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;font-weight:800;font-size:24px;color:#fff;letter-spacing:-.02em}
.rt-badge.subway{background:#747F00}
.rt-badge.bus{background:#3D6CB4}
.rt-badge.shuttle{background:var(--acc-d);font-size:17px}
.rt-card h4{font-size:18px;font-weight:700;margin-bottom:12px}
.rt-steps{counter-reset:r;display:grid;gap:8px}
.rt-steps li{position:relative;padding-left:26px;font-size:15px;color:var(--txt2);line-height:1.55}
.rt-steps li::before{counter-increment:r;content:counter(r);position:absolute;left:0;top:2px;width:18px;height:18px;border-radius:50%;background:#fff;border:1px solid var(--line-d);font-size:11px;font-weight:700;color:var(--txt3);display:grid;place-items:center}
.rt-steps li b{color:var(--ink)}
.sched{display:grid;grid-template-columns:1fr 1fr;gap:0 40px;border-top:1px solid var(--ink)}
.sched li{display:grid;grid-template-columns:36px 118px 1fr;gap:14px;align-items:baseline;padding:16px 0;border-bottom:1px solid var(--line);font-size:15px;transition:padding-left .25s}
.sched li:hover{padding-left:6px}
.sched li b{width:30px;height:30px;border-radius:50%;background:var(--bg);display:grid;place-items:center;font-size:13px;font-weight:700;color:var(--ink);align-self:center}
.sched .tm{font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap}
.sched .rt{color:var(--txt2);line-height:1.6}
.contact2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);min-width:0;gap:48px;align-items:center;background:var(--beige);border-radius:var(--r);padding:56px 56px}
.contact2 h2{font-size:clamp(22px,2.2vw,30px);font-weight:700;letter-spacing:-.03em;line-height:1.3}
.contact2 .c-head p{margin-top:14px;font-size:15px;color:var(--txt2);line-height:1.7}
.c-tels{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.c-tels a{display:block;background:#fff;border-radius:14px;padding:24px 26px;transition:transform .25s,box-shadow .25s}
.c-tels a:hover{transform:translateY(-4px);box-shadow:0 14px 34px rgba(60,40,20,.10)}
.c-tels small{display:block;font-size:13px;font-weight:600;color:var(--txt3)}
.c-tels b{display:block;margin-top:8px;font-size:clamp(20px,1.8vw,26px);font-weight:700;letter-spacing:-.02em;color:var(--ink);font-variant-numeric:tabular-nums;transition:color .2s}
.c-tels a:hover b{color:var(--acc-d)}
.c-tels span{display:block;margin-top:8px;font-size:13px;color:var(--txt3);line-height:1.5}
/* 사업안내 v4 — miral 서브 문법 */
.mbar{border-bottom:1px solid var(--line);background:#fff}
.mbar .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:52px}
.mbar ol{display:flex;gap:8px;align-items:center;font-size:13.5px;color:var(--txt3)}
.mbar li+li::before{content:"/";margin-right:8px;color:var(--line-d)}
.mbar li:last-child{color:var(--ink);font-weight:600}
.mbar .lnb a{min-height:52px}
.mhead{text-align:center;padding:72px 20px 40px}
.mhead h1{font-size:clamp(30px,3.2vw,42px);font-weight:700;letter-spacing:-.04em;line-height:1.2}
.mhead .ul{display:block;width:64px;height:3px;margin:22px auto 0;background:linear-gradient(90deg,var(--yellow) 0 50%,var(--pink) 50% 100%)}
.mhead .lead{margin:34px auto 0;text-align:center;max-width:none;font-size:clamp(19px,1.8vw,24px);font-weight:700;letter-spacing:-.03em;color:var(--ink);line-height:1.4}
.mhead .sub{margin:12px auto 0;font-size:15.5px;color:var(--txt2);line-height:1.75;max-width:44em}
.mtabs{display:flex;justify-content:center;border-bottom:1px solid var(--line);max-width:var(--w);margin:0 auto;padding:0 var(--gut)}
.mtabs a{position:relative;flex:1;max-width:320px;text-align:center;min-height:56px;display:inline-flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;color:var(--txt3);transition:color .2s}
.mtabs a::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--acc-d);transform:scaleX(0);transition:transform .25s}
.mtabs a:hover,.mtabs a.on{color:var(--acc-d)}.mtabs a.on::after{transform:scaleX(1)}
.mfull{margin:0;width:100%;height:clamp(320px,38vw,560px);overflow:hidden}
.mfull img{width:100%;height:100%;object-fit:cover;display:block}
.mr .msec{padding:96px 0}
.mr .msec.gray{background:var(--bg)}
.mr .msec h2{text-align:center;font-size:clamp(24px,2.4vw,32px);font-weight:700;letter-spacing:-.035em;margin-bottom:48px}
.mcopy{text-align:center;font-size:16.5px;line-height:1.9;color:var(--txt);max-width:44em;margin:-16px auto 0}
.mnums{display:grid;grid-template-columns:repeat(3,1fr);gap:0;max-width:1100px;margin:0 auto}
.mnums li{text-align:center;padding:12px 24px;border-left:1px solid var(--line-d)}
.mnums li:first-child{border-left:0}
.mnums b{display:block;font-size:clamp(40px,4.4vw,56px);font-weight:700;letter-spacing:-.04em;line-height:1;color:var(--ink);font-variant-numeric:tabular-nums}
.mnums b small{font-size:18px;font-weight:600;margin-left:2px}
.mnums .k{display:block;margin-top:14px;font-size:16px;font-weight:700;color:var(--acc-d)}
.mnums p{margin-top:8px;font-size:14px;color:var(--txt2);line-height:1.6}
.mzig{display:grid;gap:0;max-width:1180px;margin:0 auto}
.mz{display:grid;grid-template-columns:1fr 1fr;background:#fff}
.mr .gray .mz{background:#fff}
.mz-img{aspect-ratio:4/3;overflow:hidden}
.mz-img img,.mz-img .ill{width:100%;height:100%;object-fit:cover;border-radius:0;aspect-ratio:auto}
.mz-tx{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:48px 56px}
.mz-tx small{font-size:13px;font-weight:700;color:var(--txt3);letter-spacing:.06em;margin-bottom:10px}
.mz-tx h3{font-size:21px;font-weight:700;color:var(--acc-d);letter-spacing:-.02em}
.mz-tx p{margin-top:14px;font-size:15px;line-height:1.8;color:var(--txt2);max-width:30em}
.mz-note{font-weight:600;color:var(--ink)}
.mz-links{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-top:20px}
.mz-links a{display:inline-flex;align-items:center;min-height:38px;padding:0 16px;border:1px solid var(--line-d);border-radius:20px;font-size:13.5px;font-weight:600;color:var(--ink);transition:background .2s,color .2s,border-color .2s}
.mz-links a:hover{background:var(--acc-d);border-color:var(--acc-d);color:#fff}
.mcards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;max-width:1180px;margin:0 auto}
.mcards.five{grid-template-columns:repeat(5,1fr)}
.mcards.three{grid-template-columns:repeat(3,1fr);gap:24px;max-width:1000px}.mcards.three li{padding:40px 28px 36px}
.mcards li{background:var(--bg);border-radius:12px;padding:32px 22px 30px;text-align:center;transition:background .25s,transform .25s}
.mcards li:hover{background:var(--pink-l);transform:translateY(-4px)}
.mcards b{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--acc-d);color:#fff;font-size:13px;font-weight:700}
.mcards h4{margin-top:16px;font-size:17px;font-weight:700;color:var(--acc-d);letter-spacing:-.02em}
.mcards p{margin-top:10px;font-size:14px;line-height:1.7;color:var(--txt2)}
.mcafe{display:grid;grid-template-columns:repeat(3,1fr);gap:28px 24px;max-width:1180px;margin:0 auto}
.mcafe li{text-align:center}
.mc-img{aspect-ratio:4/3;border-radius:12px;overflow:hidden;background:var(--bg)}
.mc-img img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.mcafe li:hover .mc-img img{transform:scale(1.05)}
.mcafe small{display:block;margin-top:16px;font-size:12.5px;font-weight:700;color:var(--txt3)}
.mcafe h4{margin-top:4px;font-size:18px;font-weight:700;letter-spacing:-.02em}
.mcafe p{margin-top:6px;font-size:14px;color:var(--txt2);line-height:1.6}
/* 표 공통: 병합 셀은 세로 중앙 */
.tbl td[rowspan],.tbl th[rowspan]{vertical-align:middle}
.tbl thead th{text-align:center}
.tbl thead th:last-child{text-align:left}
/* 프로그램 안내 표 */
.mr .program{max-width:1180px;margin:0 auto;background:#fff;border-top:2px solid var(--ink)}
.mr .program th,.mr .program td{background:#fff}
.mr .program thead th{padding:18px 16px;border-bottom:1px solid var(--ink)}
.mr .program tbody th.g{background:var(--beige);color:var(--ink);font-weight:700;text-align:center;vertical-align:middle;white-space:normal;line-height:1.5;border-right:1px solid var(--line-d);border-bottom:1px solid var(--line-d)}
.mr .program tbody td{vertical-align:middle;color:var(--txt2);text-align:center}
.mr .program tbody th,.mr .program tbody td{border-right:1px solid var(--line)}
.mr .program tbody td:last-child{border-right:0}
.mr .program tbody td:last-child{text-align:left;line-height:1.7}
.mr .program tbody tr:has(th) td{border-top:1px solid var(--line-d)}
.mr .program tbody tr:first-child td{border-top:0}
.mr .program tbody td:empty::before{content:"–";color:var(--txt3)}
/* 문의 · 안내 CTA: 베이지 인셋 패널 (메인 후원 패널과 같은 문법) */
.mcta{padding:40px 0 112px}
.mr .mcta.gray{background:#fff}
.mcta .wrap{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:56px;align-items:center;max-width:1180px;background:var(--beige);border-radius:24px;padding:56px 64px;text-align:left;transition:box-shadow .35s}
.mcta .wrap:hover{box-shadow:0 18px 50px rgba(60,40,20,.08)}
.mr .mcta h2{text-align:left;grid-column:1;margin-bottom:10px;font-size:clamp(24px,2.2vw,30px)}
.mcta p{grid-column:1;font-size:16px;color:var(--txt2);line-height:1.7;max-width:34em}
.mcta .mbtn{grid-column:2;grid-row:1/span 3;align-self:center;justify-self:end;margin-top:0;min-width:260px}
.mcta .mz-links{grid-column:2;grid-row:4;justify-self:end;margin-top:12px}
.mbtn{display:inline-flex;align-items:center;justify-content:center;min-height:60px;padding:0 40px;margin-top:28px;border-radius:30px;background:var(--acc-d);color:#fff;font-size:22px;font-weight:700;letter-spacing:-.01em;font-variant-numeric:tabular-nums;transition:background .2s,transform .2s}
.mbtn:hover{background:#A82C52;transform:translateY(-2px)}
/* 전화 버튼: PC(마우스)에서는 링크 동작 없이 번호 표시만, 모바일에서만 tel: 동작 */
@media (hover:hover) and (pointer:fine){.mbtn.tel{pointer-events:none;cursor:default}.mbtn.tel:hover{background:var(--acc-d);transform:none}}
.mcta span{grid-column:1;display:block;margin-top:14px;font-size:13.5px;color:var(--txt3)}
@media (max-width:1024px){
  .mnums{grid-template-columns:1fr 1fr 1fr}.mcards,.mcards.five,.mcards.three{grid-template-columns:1fr 1fr}.mcafe{grid-template-columns:1fr 1fr}
  .mz{grid-template-columns:1fr}.mz .mz-img{order:0}.mz .mz-tx{order:1;padding:32px 24px}
}
@media (max-width:768px){
  .mbar ol{display:none}.mhead{padding:44px 20px 28px}.mhead .lead{font-size:18px}
  .mr .msec{padding:56px 0}.mr .msec h2{margin-bottom:28px}
  .mnums{grid-template-columns:1fr;gap:20px}.mnums li{border-left:0;border-top:1px solid var(--line-d);padding-top:20px}.mnums li:first-child{border-top:0}
  .mcards,.mcards.five,.mcafe{grid-template-columns:1fr}
  .mtabs a{min-height:48px;font-size:15px}
  .mcta{padding:56px 0}.mbtn{font-size:18px;min-height:52px;padding:0 28px}
}
/* 이미지 비중 축소 */
.mfull{height:clamp(200px,22vw,320px)}
.msteps{counter-reset:s;max-width:920px;margin:0 auto;display:grid;gap:0}
.msteps li{display:grid;grid-template-columns:72px 1fr;gap:24px;padding:32px 0;border-top:1px solid var(--line)}
.msteps li:first-child{border-top:0}
.msteps b{width:48px;height:48px;border-radius:50%;background:var(--acc-d);color:#fff;display:grid;place-items:center;font-size:15px;font-weight:700}
.msteps h3{font-size:21px;font-weight:700;letter-spacing:-.02em;color:var(--ink)}
.msteps p{margin-top:10px;font-size:15.5px;line-height:1.8;color:var(--txt2);max-width:44em}
.msteps .mz-links{justify-content:flex-start;margin-top:16px}
.mcols{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;max-width:1100px;margin:0 auto;text-align:center}
.mcols h4{font-size:19px;font-weight:700;color:var(--acc-d);letter-spacing:-.02em}
.mcols p{margin-top:12px;font-size:15px;line-height:1.8;color:var(--txt2)}
.mcols .mz-links{margin-top:16px}
.mstrip{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;max-width:1100px;margin:48px auto 0}
.mstrip .ms{aspect-ratio:16/9;border-radius:10px;overflow:hidden;background:#fff}
.mstrip img,.mstrip .ill{width:100%;height:100%;object-fit:cover;border-radius:0;aspect-ratio:auto}
.mz-img{aspect-ratio:16/10}
.mcafe{grid-template-columns:repeat(3,1fr);gap:24px 20px}
.mc-img{aspect-ratio:16/10}
@media (max-width:768px){.msteps li{grid-template-columns:44px 1fr;gap:14px;padding:22px 0}.msteps b{width:36px;height:36px;font-size:13px}.mcols,.mstrip{grid-template-columns:1fr}.mcols{gap:28px}}
/* 사업안내 인터랙션 + 다중 이미지 축소 */
.mcafe.list{grid-template-columns:repeat(3,minmax(0,340px));gap:0 48px;max-width:1180px;justify-content:center}
.mcafe.list li{display:grid;grid-template-columns:80px 1fr;grid-template-rows:auto auto auto;gap:2px 16px;align-items:center;text-align:left;padding:14px 0;border-bottom:1px solid var(--line);transition:padding-left .25s}
.mcafe.list .mc-img{grid-row:1/4}.mcafe.list small{grid-column:2}.mcafe.list h4{grid-column:2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mcafe.list p{grid-column:2}
.mcafe.list li:hover{padding-left:6px}
.mcafe.list .mc-img{aspect-ratio:1;border-radius:8px}
.mcafe.list small{margin:0;font-size:11.5px}
.mcafe.list h4{margin-top:0;font-size:15.5px;transition:color .2s}
.mcafe.list li:hover h4{color:var(--acc-d)}
.mcafe.list p{margin-top:2px;font-size:13px;line-height:1.5}
.mstrip{grid-template-columns:repeat(3,1fr);max-width:820px}
.mstrip .ms{aspect-ratio:3/2}
.mstrip img{transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.mstrip .ms:hover img{transform:scale(1.05)}
.mz-img{aspect-ratio:3/2}
.mnums li,.mcards li,.msteps li,.mcols li,.mcafe li,.mz,.mcopy,.mr .program,.mcta .wrap{opacity:0;transform:translateY(18px);transition:opacity .6s cubic-bezier(.2,.7,.2,1),transform .6s cubic-bezier(.2,.7,.2,1)}
.mr .is-vis{opacity:1;transform:none}
.mnums li:nth-child(2),.mcards li:nth-child(2),.mcols li:nth-child(2){transition-delay:.1s}
.mnums li:nth-child(3),.mcards li:nth-child(3),.mcols li:nth-child(3){transition-delay:.2s}
.mcards li:nth-child(4){transition-delay:.3s}.mcards li:nth-child(5){transition-delay:.4s}
.mcafe li:nth-child(3n+2){transition-delay:.08s}.mcafe li:nth-child(3n){transition-delay:.16s}
.mnums b{display:inline-block;transition:transform .3s}
.mnums li:hover b{transform:translateY(-4px);color:var(--acc-d)}
.msteps li{transition:opacity .6s,transform .6s,padding-left .25s}
.msteps li:hover{padding-left:8px}
.msteps li:hover b{background:var(--ink)}
.msteps b{transition:background .25s}
.mr .msec h2{position:relative}
.mhead .ul{transform:scaleX(0);transform-origin:center;animation:ulIn .6s .3s cubic-bezier(.2,.7,.2,1) forwards}
@keyframes ulIn{to{transform:scaleX(1)}}
.mhead h1,.mhead .lead,.mhead .sub{animation:up .7s cubic-bezier(.2,.7,.2,1) both}
.mhead .lead{animation-delay:.12s}.mhead .sub{animation-delay:.2s}
@keyframes up{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.mfull img{animation:none}
@keyframes kb{from{transform:scale(1.05)}to{transform:scale(1)}}
@media (prefers-reduced-motion:reduce){.mnums li,.mcards li,.msteps li,.mcols li,.mcafe li,.mz,.mcopy,.mr .program,.mcta .wrap{opacity:1;transform:none;transition:none}.mhead .ul,.mhead h1,.mhead .lead,.mhead .sub,.mfull img{animation:none;transform:none}}
@media (max-width:1024px){.mcafe.list{grid-template-columns:1fr 1fr}}
@media (max-width:768px){.mcafe.list{grid-template-columns:1fr}.mstrip{grid-template-columns:repeat(3,1fr);gap:8px}}
/* 둘러보기 카드 */
.mtour{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;max-width:1100px;margin:0 auto}
.mtour li{background:#fff;border-radius:12px;overflow:hidden;text-align:center;padding-bottom:28px;opacity:0;transform:translateY(18px);transition:opacity .6s cubic-bezier(.2,.7,.2,1),transform .6s cubic-bezier(.2,.7,.2,1),box-shadow .3s}
.mtour li.is-vis{opacity:1;transform:none}
.mtour li:nth-child(2){transition-delay:.1s}.mtour li:nth-child(3){transition-delay:.2s}
.mtour li:hover{box-shadow:0 14px 34px rgba(0,0,0,.08)}
.mt-img{aspect-ratio:3/2;overflow:hidden;background:var(--bg)}
.mt-img img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.mtour li:hover .mt-img img{transform:scale(1.05)}
.mtour h4{margin-top:22px;font-size:18px;font-weight:700;color:var(--acc-d);letter-spacing:-.02em;padding:0 24px}
.mtour p{margin-top:10px;font-size:14.5px;line-height:1.75;color:var(--txt2);padding:0 24px}
.mtour .ai-note{display:block;margin-top:14px;padding:0 24px;font-size:12px;color:var(--txt3);letter-spacing:-.01em}
.mtour .mz-links{margin-top:16px}
@media (prefers-reduced-motion:reduce){.mtour li{opacity:1;transform:none;transition:none}}
@media (max-width:1024px){.mtour{grid-template-columns:1fr 1fr}}
@media (max-width:768px){.mtour{grid-template-columns:1fr}}
/* 제품 · 고객센터 · 후원 (밀알 문법) */
.mbtn.sm{min-height:44px;padding:0 22px;font-size:15px;margin-top:0}
.mbtn.line{background:#fff;color:var(--ink);border:1px solid var(--line-d)}
.mbtn.line:hover{background:var(--bg);border-color:var(--ink)}
/* 제품 */
.mp-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;max-width:1180px;margin:-24px auto 28px;font-size:14px;color:var(--txt3)}
.mp-bar b{color:var(--ink)}
.mp-sort{display:flex;gap:2px}.mp-sort a{display:inline-flex;align-items:center;min-height:36px;padding:0 10px;border-radius:6px;transition:color .2s,background .2s}.mp-sort a:hover{color:var(--ink);background:var(--bg)}.mp-sort a.on{color:var(--acc-d);font-weight:700}
.mprod{display:grid;grid-template-columns:repeat(4,1fr);gap:36px 24px;max-width:1180px;margin:0 auto}
.mprod li{text-align:center;opacity:0;transform:translateY(16px);transition:opacity .55s cubic-bezier(.2,.7,.2,1),transform .55s cubic-bezier(.2,.7,.2,1)}
.mprod li.is-vis{opacity:1;transform:none}
.mprod li:nth-child(4n+2){transition-delay:.06s}.mprod li:nth-child(4n+3){transition-delay:.12s}.mprod li:nth-child(4n){transition-delay:.18s}
.mprod a{display:block}
.mp-img{aspect-ratio:1;border-radius:12px;overflow:hidden;background:var(--bg);display:grid;place-items:center;color:var(--txt3);font-size:13px}
.mp-img img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.mprod a:hover .mp-img img{transform:scale(1.05)}
.mprod h4{margin-top:16px;font-size:16px;font-weight:700;letter-spacing:-.02em;transition:color .2s}
.mprod a:hover h4{color:var(--acc-d)}
.mprod small{display:block;margin-top:3px;font-size:13px;color:var(--txt3)}
.mprod b{display:block;margin-top:8px;font-size:15.5px;font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums}

/* 게시판 */
.mlist{max-width:1180px;margin:0 auto;border-top:1px solid var(--ink)}
.mlist li{border-bottom:1px solid var(--line)}
.mlist li.hd{display:grid;grid-template-columns:72px 1fr 120px;gap:16px;padding:14px 16px;background:var(--bg);font-size:13.5px;font-weight:700;color:var(--ink);text-align:center}
.mlist li.hd .tt{text-align:center}
.mlist li:not(.hd) a{display:grid;grid-template-columns:72px auto 1fr 120px;gap:16px;align-items:center;padding:18px 16px;font-size:15.5px;transition:background .15s,padding-left .2s}
.mlist li:not(.hd) a:hover{background:var(--pink-l);padding-left:22px}
.mlist .no{text-align:center;color:var(--txt3);font-size:14px;font-variant-numeric:tabular-nums}
.mlist .tag{display:inline-flex;align-items:center;justify-content:center;min-width:52px;height:24px;padding:0 8px;border-radius:4px;background:var(--bg);color:var(--txt3);font-size:12px;font-weight:600;font-style:normal}
.mlist .tag.hi{background:var(--pink-l);color:var(--acc-d)}
.mlist .tt{color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mlist li.pin .tt{font-weight:700}
.mlist .new{display:inline-grid;place-items:center;width:18px;height:18px;margin-left:8px;border-radius:50%;background:var(--acc-d);color:#fff;font-size:10px;font-weight:800;font-style:normal;vertical-align:1px}
.mlist .dt{text-align:right;color:var(--txt3);font-size:14px;font-variant-numeric:tabular-nums}
.mlist .st{display:inline-flex;align-items:center;justify-content:center;min-width:64px;height:24px;border-radius:4px;font-size:12px;font-weight:600;font-style:normal}
.mlist .st.done{background:#E6F2EA;color:#1C5A3D}.mlist .st.wait{background:var(--yellow-l);color:#6B4E00}
.mlist li.hd .st{background:none;min-width:80px;font-size:13.5px;color:var(--ink)}
.mlist li.hd:has(.st){grid-template-columns:72px 80px 1fr 120px}
.mlist .lock{margin-right:6px;color:var(--txt3);vertical-align:-2px}
.msearch{display:flex;max-width:440px;margin:44px auto 0;border:1px solid var(--line-d);border-radius:28px;overflow:hidden;background:#fff;transition:border-color .2s,box-shadow .2s}
.msearch:focus-within{border-color:var(--acc-d);box-shadow:0 0 0 3px rgba(192,55,96,.1)}
.msearch input{flex:1;border:0;min-height:48px;padding:0 22px;font-size:15px;background:transparent}
.msearch input:focus{outline:0}
.msearch button{width:52px;color:var(--acc-d);display:grid;place-items:center}
.mpg{display:flex;justify-content:center;align-items:center;gap:6px;margin-top:32px}
.mpg a{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;font-size:14px;color:var(--txt2);font-variant-numeric:tabular-nums;transition:background .2s,color .2s}
.mpg a:hover{background:var(--pink-l);color:var(--acc-d)}
.mpg a.on{background:var(--acc-d);color:#fff;font-weight:700}
.mpg .pv,.mpg .nx{color:var(--txt3);font-size:18px;margin:0 6px}
.mtool{display:flex;justify-content:flex-end;max-width:1180px;margin:-24px auto 20px}
/* 상세 */
.mview{max-width:960px;margin:0 auto}
.mview header{text-align:center;padding-bottom:28px;border-bottom:1px solid var(--ink)}
.mview header .tag{display:inline-flex;align-items:center;height:24px;padding:0 10px;border-radius:4px;background:var(--bg);color:var(--txt3);font-size:12px;font-weight:600;font-style:normal}
.mview h2{margin:14px 0 0;font-size:clamp(22px,2.2vw,28px);font-weight:700;letter-spacing:-.03em;line-height:1.35;text-align:center}
.mview .meta{margin-top:14px;display:flex;justify-content:center;gap:18px;font-size:14px;color:var(--txt3)}
.mview .body{padding:40px 8px;font-size:16.5px;line-height:1.9;color:var(--txt);min-height:200px}
.mview .body p+p{margin-top:16px}
.mview .att{display:flex;align-items:center;gap:12px;padding:16px 20px;background:var(--bg);border-radius:10px;font-size:15px}
.mview .att span{color:var(--txt3);font-weight:600}
.mview .att a{color:var(--ink);font-weight:600;text-decoration:underline;text-underline-offset:3px}.mview .att a:hover{color:var(--acc-d)}
.mview .att small{color:var(--txt3)}
.mview .pn{margin-top:24px;border-top:1px solid var(--line)}
.mview .pn a{display:grid;grid-template-columns:72px 1fr;gap:16px;padding:16px 8px;border-bottom:1px solid var(--line);font-size:15px;transition:background .15s}
.mview .pn a:hover{background:var(--pink-l)}
.mview .pn small{color:var(--txt3);font-weight:600}
.mview .pn span{color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mview .back{text-align:center;margin-top:36px}
/* 사이트맵 */
.smap{display:grid;grid-template-columns:repeat(5,1fr);gap:32px;max-width:1180px;margin:0 auto}
.smap>li{border-top:1px solid var(--ink);padding-top:18px}
.smap h3{font-size:18px;font-weight:700;letter-spacing:-.02em}.smap h3 a:hover{color:var(--acc-d)}
.smap ul{margin-top:12px}.smap ul li{padding:8px 0;border-bottom:1px solid var(--line);font-size:15px}
.smap ul a{color:var(--txt2);display:block;transition:color .2s,padding-left .2s}.smap ul a:hover{color:var(--acc-d);padding-left:6px}
@media (max-width:1024px){.smap{grid-template-columns:repeat(3,1fr)}}@media (max-width:768px){.smap{grid-template-columns:1fr 1fr;gap:20px}}
/* 갤러리 라이트박스 */
.mgal a{position:relative}
.mgal .cnt{position:absolute;top:12px;right:12px;min-width:34px;height:26px;padding:0 9px;border-radius:13px;background:rgba(30,30,30,.6);color:#fff;font-size:12px;font-weight:600;display:grid;place-items:center;font-variant-numeric:tabular-nums}
.lbox{position:fixed;inset:0;z-index:1000;background:rgba(20,16,18,.92);display:grid;grid-template-columns:72px 1fr 72px;align-items:center;opacity:0;transition:opacity .25s}
.lbox.on{opacity:1}
.lbox figure{grid-column:2;display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;padding:56px 0 32px;margin:0}
.lbox img{max-width:100%;max-height:calc(100vh - 170px);object-fit:contain;border-radius:8px;background:#000;animation:lbin .3s ease}
@keyframes lbin{from{opacity:0;transform:scale(.98)}to{opacity:1;transform:none}}
.lbox figcaption{margin-top:18px;text-align:center;color:#fff}
.lbox figcaption b{display:block;font-size:17px;font-weight:600;letter-spacing:-.02em}
.lbox figcaption span{display:inline-block;margin-top:6px;font-size:13.5px;color:#CFC7CB;font-variant-numeric:tabular-nums}
.lbox figcaption em{font-style:normal;margin-left:12px;font-size:13.5px;color:#CFC7CB;font-variant-numeric:tabular-nums}
.lbox button{width:48px;height:48px;border-radius:50%;background:rgba(255,255,255,.12);color:#fff;font-size:28px;line-height:1;display:grid;place-items:center;transition:background .2s;justify-self:center}
.lbox button:hover,.lbox button:focus-visible{background:var(--acc-d);outline:0}
.lbox .lb-x{position:absolute;top:18px;right:18px;font-size:30px}
.lbox .lb-prev{grid-column:1}.lbox .lb-next{grid-column:3}
.lbox button[disabled]{opacity:.25;pointer-events:none}
@media (max-width:768px){.lbox{grid-template-columns:1fr}.lbox figure{grid-column:1;padding:56px 16px 24px}.lbox img{max-height:calc(100vh - 190px)}.lbox .lb-prev,.lbox .lb-next{position:absolute;bottom:14px;grid-column:auto}.lbox .lb-prev{left:16px}.lbox .lb-next{right:16px}.lbox figcaption{padding-bottom:56px}}
@media (prefers-reduced-motion:reduce){.lbox,.lbox img{transition:none;animation:none}}
.mview .back .mbtn{margin-top:0;min-height:48px;font-size:15px;padding:0 32px}
/* 갤러리 */
.mgal{display:grid;grid-template-columns:repeat(3,1fr);gap:36px 24px;max-width:1180px;margin:0 auto}
.mgal li{opacity:0;transform:translateY(16px);transition:opacity .55s cubic-bezier(.2,.7,.2,1),transform .55s cubic-bezier(.2,.7,.2,1)}
.mgal li.is-vis{opacity:1;transform:none}
.mgal li:nth-child(3n+2){transition-delay:.08s}.mgal li:nth-child(3n){transition-delay:.16s}
.mg-img{aspect-ratio:4/3;border-radius:12px;overflow:hidden;background:var(--bg)}
.mg-img img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.mgal a:hover .mg-img img{transform:scale(1.05)}
.mgal b{display:block;margin-top:16px;font-size:16px;font-weight:700;line-height:1.45;letter-spacing:-.02em;color:var(--ink);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;transition:color .2s}
.mgal a:hover b{color:var(--acc-d)}
.mgal span{display:block;margin-top:6px;font-size:13.5px;color:var(--txt3);font-variant-numeric:tabular-nums}
/* 도움 카드 */
.mhelp{display:grid;grid-template-columns:1fr 1fr;gap:20px;max-width:960px;margin:0 auto}
.mhelp a{display:block;background:#fff;border-radius:14px;padding:32px 32px 30px;transition:transform .25s,box-shadow .25s}
.mhelp a:hover{transform:translateY(-4px);box-shadow:0 14px 34px rgba(0,0,0,.08)}
.mhelp b{display:block;font-size:20px;font-weight:700;color:var(--acc-d);letter-spacing:-.02em}
.mhelp span{display:block;margin-top:10px;font-size:14.5px;line-height:1.7;color:var(--txt2)}
/* 폼 */
.mform{max-width:880px;margin:-16px auto 0;border-top:1px solid var(--ink)}
.mform .row{display:grid;grid-template-columns:180px 1fr;border-bottom:1px solid var(--line)}
.mform .row label:first-child,.mform .row .lb{display:flex;align-items:center;padding:18px 8px;font-size:15.5px;font-weight:700;color:var(--ink)}
.mform .row i{font-style:normal;margin-left:4px;color:var(--acc-d)}
.mform .row>div{display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding:14px 8px}
.mform input[type=text],.mform input[type=tel],.mform input[type=email],.mform select,.mform textarea{border:1px solid var(--line-d);border-radius:8px;min-height:48px;padding:10px 14px;font-size:15.5px;width:100%;max-width:440px;background:#fff;transition:border-color .2s,box-shadow .2s}
.mform input.full{max-width:100%}
.mform input:focus,.mform select:focus,.mform textarea:focus{border-color:var(--acc-d);outline:0;box-shadow:0 0 0 3px rgba(192,55,96,.1)}
.mform textarea{max-width:100%;min-height:180px;resize:vertical}
.mform .chk{gap:20px}.mform .chk label{display:flex;gap:8px;align-items:center;min-height:44px;font-size:15.5px;color:var(--txt)}
.mform .chk input,.mform .agree input{width:18px;height:18px;accent-color:var(--acc-d)}
.mform .agree{margin-top:28px;background:var(--bg);border-radius:12px;padding:22px 24px;max-height:none;overflow:visible;font-size:inherit;line-height:inherit}
.mform .agree b{display:block;font-size:15px;color:var(--ink)}
.mform .agree p{margin-top:8px;font-size:14px;color:var(--txt2);line-height:1.75}
.mform .agree label{display:flex;gap:10px;align-items:center;margin-top:14px;font-size:15px;font-weight:700;color:var(--ink);min-height:44px}
.mform .acts{display:flex;justify-content:center;gap:12px;margin-top:36px}
.mform .acts .mbtn{margin-top:0;min-width:180px;font-size:16px;min-height:54px}
/* 후원 */
.mways{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:1100px;margin:0 auto}
.mways a{display:block;border-radius:14px;overflow:hidden;background:#fff;border:1px solid var(--line);transition:transform .25s,box-shadow .25s,border-color .25s}
.mways a:hover{transform:translateY(-4px);box-shadow:0 16px 36px rgba(0,0,0,.08);border-color:transparent}
.mw-img{aspect-ratio:16/7;overflow:hidden;background:#FBF7F2}.mw-img img{width:100%;height:100%;object-fit:cover;object-position:center 60%;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.mways a:hover .mw-img img{transform:scale(1.05)}
.mw-tx{padding:26px 30px 28px;text-align:center}
.mw-tx b{display:block;font-size:21px;font-weight:700;letter-spacing:-.02em;color:var(--ink);transition:color .2s}
.mways a:hover .mw-tx b{color:var(--acc-d)}
.mw-tx span{display:block;margin-top:10px;font-size:14.5px;line-height:1.7;color:var(--txt2);max-width:30em;margin-left:auto;margin-right:auto}
.mw-tx em{display:inline-block;margin-top:16px;font-style:normal;font-size:14px;font-weight:700;color:var(--acc-d);border-bottom:1px solid currentColor;padding-bottom:1px}
/* 가격표 */
.mp-desc{margin:-28px auto 36px;text-align:center;font-size:15px;color:var(--txt2)}
.mp-bar a{color:var(--acc-d);text-decoration:underline;text-underline-offset:3px}.mp-bar a:hover{color:var(--ink)}
.mprice{display:grid;grid-template-columns:repeat(3,1fr);gap:36px 48px;max-width:1100px;margin:0 auto}
.mprice h3{font-size:17px;font-weight:700;padding-bottom:12px;border-bottom:1px solid var(--ink);letter-spacing:-.02em}
.mprice dl>div{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:13px 6px;border-bottom:1px solid var(--line);font-size:15px;transition:background .15s,padding-left .2s}
.mprice dl>div:hover{background:#fff;padding-left:12px}
.mprice dt{color:var(--txt)}
.mprice dd{font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap}
.mprice dd em{font-style:normal;font-weight:500;font-size:13.5px;color:var(--txt3)}
.mform input[type=file]{font-size:14px;color:var(--txt2)}
.mform input[type=file]::file-selector-button{min-height:40px;padding:0 16px;margin-right:12px;border:1px solid var(--line-d);border-radius:8px;background:#fff;font:inherit;font-size:14px;font-weight:600;color:var(--ink);cursor:pointer;transition:border-color .2s,color .2s}
.mform input[type=file]::file-selector-button:hover{border-color:var(--acc-d);color:var(--acc-d)}
.mmore{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;max-width:1100px;margin:0 auto}
.mmore a{display:block;background:#fff;border-radius:14px;padding:36px 22px 34px;text-align:center;transition:transform .25s,box-shadow .25s}
.mmore a:hover{transform:translateY(-4px);box-shadow:0 14px 34px rgba(0,0,0,.08)}
.mmore b{display:block;font-size:19px;font-weight:700;color:var(--acc-d);letter-spacing:-.02em}
.mmore span{display:block;margin-top:10px;font-size:14px;line-height:1.7;color:var(--txt2)}
.macct{display:flex;align-items:center;justify-content:space-between;gap:24px;max-width:720px;margin:0 auto;padding:28px 32px;background:var(--bg);border-radius:14px;flex-wrap:wrap}
.mr .gray .macct{background:#fff}
.macct small{display:block;font-size:13.5px;font-weight:600;color:var(--txt3)}
.macct b{display:block;margin-top:4px;font-size:clamp(22px,2.4vw,30px);font-weight:700;letter-spacing:-.02em;color:var(--ink);font-variant-numeric:tabular-nums}
.macct span{display:block;margin-top:4px;font-size:13.5px;color:var(--txt2)}
.macct .cp{min-height:46px;padding:0 20px;border-radius:23px;background:var(--acc-d);color:#fff;font-size:14.5px;font-weight:700;border:0;transition:background .2s,transform .2s}
.macct .cp:hover{background:#A82C52;transform:translateY(-2px)}
.macct .cp.done{background:var(--ink)}
.mnote{max-width:720px;margin:18px auto 0;text-align:center;font-size:14px;color:var(--txt3);line-height:1.7}
.mfaq{max-width:880px;margin:0 auto;border-top:1px solid var(--ink)}
.mfaq details{border-bottom:1px solid var(--line)}
.mfaq summary{list-style:none;display:flex;align-items:center;gap:16px;min-height:60px;padding:14px 8px;font-size:16.5px;font-weight:600;color:var(--ink);cursor:pointer;transition:color .2s}
.mfaq summary::-webkit-details-marker{display:none}
.mfaq summary::before{content:"Q";flex:none;width:28px;height:28px;border-radius:50%;background:var(--bg);display:grid;place-items:center;font-size:13px;font-weight:800;color:var(--acc-d)}
.mfaq summary::after{content:"";margin-left:auto;width:8px;height:8px;border-right:1.5px solid var(--txt3);border-bottom:1.5px solid var(--txt3);transform:rotate(45deg);transition:transform .25s}
.mfaq details[open] summary::after{transform:rotate(-135deg)}
.mfaq summary:hover{color:var(--acc-d)}
.mfaq p{padding:4px 8px 22px 52px;font-size:15px;line-height:1.8;color:var(--txt2)}
.mfield{display:grid;grid-template-columns:1fr 1fr;gap:0 48px;max-width:1100px;margin:0 auto;border-top:1px solid var(--ink)}
.mfield li{display:grid;grid-template-columns:120px 1fr;gap:16px;padding:18px 8px;border-bottom:1px solid var(--line);font-size:15px;transition:padding-left .2s}
.mfield li:hover{padding-left:14px}
.mfield b{color:var(--acc-d);font-weight:700}
.mfield span{color:var(--txt2);line-height:1.65}
@media (max-width:1024px){.mprod{grid-template-columns:repeat(3,1fr)}.mprice{grid-template-columns:1fr 1fr}.mgal{grid-template-columns:1fr 1fr}.mmore{grid-template-columns:1fr 1fr}.mfield{grid-template-columns:1fr}}
@media (max-width:768px){
 .mprod{grid-template-columns:1fr 1fr;gap:24px 14px}.mgal{grid-template-columns:1fr}.mways,.mhelp,.mmore,.mprice{grid-template-columns:1fr}.mprice{gap:28px}.mp-desc{margin-top:-16px}
 .mlist li.hd{display:none}.mlist li:not(.hd) a{grid-template-columns:auto 1fr;grid-template-rows:auto auto;gap:6px 10px;padding:14px 8px}.mlist .no{display:none}.mlist .tt{grid-column:1/3;white-space:normal}.mlist .dt{grid-column:2;text-align:left}
 .mform .row{grid-template-columns:1fr}.mform .row label:first-child,.mform .row .lb{padding:14px 8px 0}
 .macct{padding:20px}.macct .cp{width:100%}
 .mfield li{grid-template-columns:1fr;gap:4px}
 .mview .body{padding:28px 4px}.mview .meta{flex-wrap:wrap;gap:10px}
}
/* 호버 분홍 */
.lnb a:hover{color:var(--acc-d)}.lnb a:hover::after{background:var(--acc-d);transform:scaleX(1)}
.tabs3 a:hover,.cat a:hover,.tl-nav a:hover{color:var(--acc-d)}
.card:hover{background:var(--pink-l)}.kv>div{transition:background .25s}.kv>div:hover{background:var(--pink-l)}
.steps li:hover{background:var(--pink-l)}
.cafe .c:hover h4,.prod a:hover .nm,.gal a:hover b{color:var(--acc-d)}
.board td.tt a:hover{color:var(--acc-d)}
.pg a:hover{background:var(--pink-l);color:var(--acc-d)}
.tlink:hover,.view .pn a:hover,.view .att a:hover{color:var(--acc-d)}
.olist li{transition:padding-left .25s}.olist li:hover{padding-left:8px}.olist li:hover b{background:var(--acc-d)}
.org .n{transition:border-color .2s,color .2s}.org .n:hover{border-color:var(--acc-d);color:var(--acc-d)}
.tl li{transition:padding-left .25s}.tl li:hover{padding-left:6px}.tl li:hover b{color:var(--acc-d)}
.note .tel,.callout .tel{transition:color .2s}.note:hover .tel,.callout:hover .tel{color:var(--acc-d)}
.acct .cp:hover{background:var(--acc-d);border-color:var(--acc-d)}
.bsearch button:hover{background:var(--acc-d)}
.form input:focus,.form select:focus,.form textarea:focus{border-color:var(--acc-d);box-shadow:0 0 0 3px rgba(192,55,96,.12)}
.form .chk input,.agree-chk input{accent-color:var(--acc-d)}
.v4ft .cols a:hover{color:var(--acc-d)}.v4ft .links a:hover{color:var(--acc-d)}
/* 등장 효과 (common.js .rv) */
.rv{opacity:0;transform:translateY(18px);transition:opacity .6s cubic-bezier(.2,.7,.2,1),transform .6s cubic-bezier(.2,.7,.2,1)}
.rv.is-vis{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none}}

/* ---------------------------------------------------------------- 반응형 */
@media (max-width:1024px){
  .cards.c4,.kv{grid-template-columns:1fr 1fr}
  .prod{grid-template-columns:repeat(3,1fr)}
  .cafe,.gal{grid-template-columns:1fr 1fr}
  .steps{grid-template-columns:repeat(3,1fr)}
  .hero-ill{grid-template-columns:1fr;gap:28px}
  .sv .wrap{padding-top:56px;padding-bottom:28px}
}
@media (max-width:768px){
  header .wrap{height:64px}
  .sv .wrap{padding-top:36px;padding-bottom:20px}.sv h1{font-size:30px}.sv p{font-size:15px;margin-top:12px}
  .crumb ol{display:none}
  .mbar .wrap{min-height:0}.lnb{width:calc(100% + 40px);margin:0 -20px;padding:0 20px;flex-wrap:nowrap;-webkit-overflow-scrolling:touch;mask-image:linear-gradient(90deg,#000 calc(100% - 36px),transparent);-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 36px),transparent)}.lnb::-webkit-scrollbar{display:none}.lnb a{flex:none;min-height:46px;padding:0 12px;font-size:14.5px}.lnb a::after{left:12px;right:12px}
  .content{padding:40px 16px 80px}
  .sec{margin-bottom:60px}
  h2.t{font-size:22px;margin-bottom:20px}
  .lead{font-size:20px}
  .tabs3{display:flex;overflow-x:auto;margin-bottom:36px}.tabs3 a{padding:0 14px;font-size:14px;white-space:nowrap}
  .cards.c2,.cards.c3,.cards.c4,.kv,.kv.kv3,.kv.kv2,.cafe,.gal,.prod,.vm{grid-template-columns:1fr}.vm-card{padding:32px 24px;min-height:0}.vm-card small{margin-bottom:16px}
  .cards,.kv{gap:12px}.card,.kv>div{padding:22px}
  .steps{grid-template-columns:1fr 1fr;gap:10px}.steps li{padding:20px 16px}
  .tlsum{grid-template-columns:1fr 1fr;gap:10px}.tlsum li{padding:16px}.tlsum b{font-size:24px}
  .tl2 .dh{top:64px}.tl2 .evs::before{left:8px}.tl2 .ev,.tl2 .ev:nth-child(even){width:100%;margin-left:0;padding:0 0 20px 32px}.tl2 .ev::before,.tl2 .ev:nth-child(even)::before{left:2px;right:auto}.tl2 .card{padding:18px 18px 16px}.tl2 .card li{grid-template-columns:1fr;gap:2px}
  .map2{height:380px}.mapcard{left:12px;right:12px;bottom:12px;width:auto;padding:16px}
  .loc{grid-template-columns:1fr}.loc .map2{height:320px}.locinfo{padding:24px 20px}.locinfo .acts{flex-direction:column}.route,.route.two{grid-template-columns:1fr;gap:14px}.rt-card,.route.two .rt-card{padding:20px;grid-template-columns:52px 1fr;gap:14px}.rt-badge{width:52px;height:52px;font-size:20px}.sched{grid-template-columns:1fr}.sched li{grid-template-columns:30px 1fr;gap:8px 12px}.sched .rt{grid-column:2}.contact2{grid-template-columns:1fr;gap:24px;padding:28px 22px}.c-tels{grid-template-columns:1fr}
  .tl .yr{grid-template-columns:1fr}.tl .y{font-size:26px;padding-top:12px}.tl ul{padding-top:6px}.tl li{grid-template-columns:1fr;gap:2px}
  .org2 .chain{flex-direction:column;gap:12px}.org2 .chain i{width:1px;height:20px}.org2 .chain i::after{display:none}.org2 .teams{grid-template-columns:1fr}.org2 .teams{padding-top:24px}.org2 .team::before,.org2 .team::after{display:none}.org2 .chain{justify-content:center;padding-right:0!important}.org2 .chain .n:last-child::after{display:none}.org2 .team ul{grid-template-columns:1fr}.staff .sg{grid-template-columns:1fr;gap:8px}.staff .sg ul{grid-template-columns:1fr}.staff li{grid-template-columns:1fr;gap:2px}
  .org .row{gap:16px}.org .n{min-width:110px;padding:10px 12px;font-size:14px}
  .note{grid-template-columns:1fr;padding:22px}.note .tel{grid-column:1;grid-row:auto;font-size:24px;margin-top:8px}
  .callout{padding:26px 22px;margin-top:40px}.callout .tel{font-size:26px}
  .form .row{grid-template-columns:1fr}.form .row label{padding:14px 8px 0}
  .board th:nth-child(1),.board td:nth-child(1),.board th:last-child,.board td:last-child{display:none}
  .bsearch input{width:100%}
  .quoteh{font-size:26px}
  .tbl{display:block;overflow-x:auto;white-space:nowrap}
  .map{height:300px}
  .acct{padding:18px 20px}.acct .no{font-size:18px}
}

@media (max-width:1024px){.contact2{grid-template-columns:1fr;gap:28px;padding:40px 36px}.c-tels b{font-size:22px}}

/* 약관 · 방침 문서 */
.mdoc{max-width:880px;margin:0 auto;font-size:15.5px;line-height:1.8;color:var(--txt)}
.mdoc .eff{font-size:13.5px;color:var(--txt3);margin-bottom:28px;padding-bottom:16px;border-bottom:1px solid var(--ink)}
.mr .mdoc h2{font-size:19px;text-align:left;margin:40px 0 12px;letter-spacing:-.02em}
.mdoc p{margin-top:10px;color:var(--txt2)}
.mdoc ul{margin-top:10px;padding-left:18px;list-style:disc;color:var(--txt2)}.mdoc li{margin:6px 0}.mdoc li b{color:var(--ink);font-weight:700;margin-right:6px}
.mdoc .tbl{margin:14px 0 4px;font-size:14.5px}.mdoc .tbl th{text-align:left}.mdoc .tbl td{vertical-align:top}
.mdoc-kv{margin-top:12px;border-top:1px solid var(--ink)}.mdoc-kv>div{display:grid;grid-template-columns:180px 1fr;gap:12px;padding:11px 4px;border-bottom:1px solid var(--line)}.mdoc-kv dt{color:var(--txt3);font-weight:600}.mdoc-kv dd{color:var(--ink)}
.mdoc a{color:var(--acc-d);text-decoration:underline;text-underline-offset:3px}
.mdoc-foot{margin-top:40px;padding:18px 20px;background:var(--bg);border-radius:10px;font-size:14px;color:var(--txt2)}
@media (max-width:768px){.mdoc{font-size:15px}.mdoc-kv>div{grid-template-columns:1fr;gap:2px}.mr .mdoc h2{font-size:17px;margin-top:32px}}
/* 고아 줄 방지 */
.mcopy,.mhead .sub,.mnote,.mcta p,.mp-desc,.mtour p,.mcards p,.mz-tx p{word-break:keep-all;text-wrap:pretty}
/* 섹션 제목 등장 · 풀블리드 패럴랙스 · 푸터 링크 */
.mr .msec h2{opacity:0;transform:translateY(14px);transition:opacity .6s cubic-bezier(.2,.7,.2,1),transform .6s cubic-bezier(.2,.7,.2,1)}
.mr .msec h2.is-vis{opacity:1;transform:none}
.mfull{position:relative}.mfull img{height:118%;margin-top:-9%;will-change:transform;transform:translateY(var(--py,0))}
.v4ft .cols a{position:relative;display:block;width:max-content;max-width:100%}.v4ft .cols a::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:1px;background:var(--acc-d);transform:scaleX(0);transform-origin:left;transition:transform .25s}.v4ft .cols a:hover::after{transform:scaleX(1)}
@media (max-width:1024px){.mcafe.list{grid-template-columns:repeat(2,minmax(0,340px))}}
@media (max-width:768px){.mcta{padding:24px 0 64px}.mcta .wrap{grid-template-columns:1fr;padding:32px 22px;border-radius:18px}.mcta .mbtn{grid-column:1;grid-row:auto;justify-self:stretch;margin-top:22px;min-width:0}.mcta .mz-links{grid-column:1;grid-row:auto;justify-self:start}.mcafe.list{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.mr .msec h2{opacity:1;transform:none;transition:none}.mfull img{transform:none}}
/* 라이트박스 숨김 보정 (display:grid가 hidden 속성을 덮어 클릭을 막던 문제) */
.lbox[hidden]{display:none}
/* 후원 방법 카드 높이 통일 */
.mways li{display:flex}.mways a{flex:1;display:flex;flex-direction:column}.mw-tx{flex:1;display:flex;flex-direction:column}.mw-tx em{margin-top:auto;padding-top:16px;align-self:center}
/* 모바일 푸터 압축 */
@media (max-width:768px){
 .v4ft{padding:36px 0 22px}.v4ft .top{gap:22px;padding-bottom:22px}.v4ft .brand img{height:34px}
 .v4ft .cols{grid-template-columns:1fr 1fr;gap:16px 14px}.v4ft h4{margin-bottom:6px;font-size:12px}
 .v4ft .cols a{display:inline-block;width:auto;max-width:none;padding:3px 10px 3px 0;font-size:13.5px}.v4ft .cols a:hover{padding-left:0}
 .v4ft .contact{grid-column:1/3;padding-top:4px;border-top:1px solid var(--line)}.v4ft .contact b{font-size:22px;margin-top:6px}.v4ft .contact a{display:inline-block;margin-top:6px}
 .v4ft .bottom{padding-top:18px;gap:10px;font-size:11.5px;line-height:1.7}.v4ft .links{gap:10px 14px}
}`n
.v4ft .bottom .copy{display:inline-block;margin-top:6px;color:var(--txt3)}.v4ft .bottom .made{color:var(--txt3);text-decoration:underline;text-underline-offset:3px;margin-left:6px}.v4ft .bottom .made:hover{color:var(--acc-d)}
