/* 심플리디자인 공개 화면 */
[hidden]{display:none!important}
:root{--bg:#f6f6f3;--bg2:#fff;--bg3:#ededE8;--ink:#0d0d0f;--ink2:#2b2b30;--muted:#6c6c73;--line:#e1e1dc;--acc:#3a5bff;--acc2:#2742d9;--acc-ink:#fff;--acc-soft:rgba(58,91,255,.1);--shadow:0 1px 2px rgba(0,0,0,.04),0 12px 32px -12px rgba(0,0,0,.12);--r:22px;--r-sm:14px;--wrap:1320px;--pad:clamp(20px,4vw,48px);--hd:72px;--ease:cubic-bezier(.2,.7,.1,1);color-scheme:light}
[data-theme=dark]{--bg:#0c0c0e;--bg2:#151518;--bg3:#1c1c20;--ink:#f2f2ee;--ink2:#d6d6d2;--muted:#9a9aa2;--line:#2a2a30;--acc:#7d93ff;--acc2:#9aabff;--acc-ink:#0c0c0e;--acc-soft:rgba(125,147,255,.14);--shadow:0 1px 2px rgba(0,0,0,.3),0 16px 40px -16px rgba(0,0,0,.6);color-scheme:dark}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--hd) + 16px)}
body{margin:0;background:var(--bg);color:var(--ink);font-family:"Pretendard Variable",Pretendard,-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Malgun Gothic",system-ui,sans-serif;font-size:17px;line-height:1.65;letter-spacing:-.011em;word-break:keep-all;overflow-wrap:break-word;-webkit-font-smoothing:antialiased;transition:background .3s,color .3s}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--acc);outline-offset:3px;border-radius:6px}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:12px;top:-60px;z-index:100;background:var(--ink);color:var(--bg);padding:10px 16px;border-radius:10px}
.skip:focus{top:12px}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--pad)}
.wrap.narrow{max-width:880px}
.muted{color:var(--muted)}
.ic{flex:none;display:inline-block;vertical-align:middle}
.eyebrow{font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--acc);margin:0 0 18px;display:flex;align-items:center;gap:10px}
.eyebrow::before{content:"";width:22px;height:2px;background:currentColor;border-radius:2px}

/* 버튼 */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:48px;padding:0 22px;border-radius:12px;border:1px solid transparent;background:var(--ink);color:var(--bg);font-weight:600;font-size:16px;cursor:pointer;white-space:nowrap;transition:transform .25s var(--ease),background .2s,color .2s,border-color .2s}
.btn:hover{transform:translateY(-2px)}
.btn .ic{transition:transform .25s var(--ease)}
.btn:hover .ic{transform:translateX(3px)}
.btn.pill{border-radius:999px}
.btn.lg{height:58px;padding:0 30px;font-size:17px}
.btn.sm{height:38px;padding:0 16px;font-size:14px}
.btn.ghost{background:transparent;color:var(--ink);border-color:var(--line)}
.btn.ghost:hover{border-color:var(--ink)}
.ibtn{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:999px;border:0;background:transparent;cursor:pointer;color:var(--ink);transition:background .2s}
.ibtn:hover{background:var(--bg3)}
.linkbtn{background:none;border:0;padding:0;cursor:pointer;color:inherit;text-decoration:underline;text-underline-offset:3px;font-size:inherit}
[data-theme=light] [data-theme-toggle] .ic:last-child,[data-theme=dark] [data-theme-toggle] .ic:first-child{display:none}

/* 머리글 */
.hd{position:sticky;top:0;z-index:50;height:var(--hd);transition:background .3s,box-shadow .3s}
.hd.scrolled{background:color-mix(in srgb,var(--bg) 82%,transparent);-webkit-backdrop-filter:saturate(1.6) blur(16px);backdrop-filter:saturate(1.6) blur(16px);box-shadow:0 1px 0 var(--line)}
@supports not (background:color-mix(in srgb,red,blue)){.hd.scrolled{background:var(--bg)}}
.hd-in{max-width:var(--wrap);margin:0 auto;padding:0 var(--pad);height:100%;display:flex;align-items:center;gap:24px}
.logo{display:inline-flex;align-items:center;gap:10px;font-weight:800;font-size:19px;letter-spacing:-.02em;white-space:nowrap}
.logo img{height:32px;width:auto}
.logo{color:var(--ink)}
.logo-svg{display:block;flex:none;height:26px;width:auto;shape-rendering:geometricPrecision}
.logo-bx{fill:var(--acc)}
.gnb{display:flex;gap:4px;margin-left:auto}
.gnb a{padding:8px 14px;border-radius:999px;font-weight:500;font-size:15.5px;color:var(--ink2);display:inline-flex;align-items:center;gap:4px;transition:background .2s,color .2s}
.gnb a:hover{background:var(--bg3);color:var(--ink)}
.gnb a.on{color:var(--ink);font-weight:700}
.gnb a.on::after{content:"";width:5px;height:5px;border-radius:50%;background:var(--acc);margin-left:4px}
.hd-r{display:flex;align-items:center;gap:6px}
.hd-cta{height:42px;padding:0 18px;font-size:15px}
.hd-menu{display:none}
.mnav{position:fixed;inset:0;z-index:49;background:var(--bg);padding:calc(var(--hd) + 16px) var(--pad) 32px;overflow:auto;opacity:0;transition:opacity .3s}
.mnav.open{opacity:1}
.mnav-in{display:flex;flex-direction:column;gap:4px;min-height:100%}
.mnav-in>a{font-size:clamp(30px,9vw,44px);font-weight:800;letter-spacing:-.035em;padding:10px 0;border-bottom:1px solid var(--line);display:flex;align-items:baseline;gap:14px;transform:translateY(16px);opacity:0;transition:transform .5s var(--ease),opacity .5s;transition-delay:calc(var(--i) * 50ms + 60ms)}
.mnav.open .mnav-in>a{transform:none;opacity:1}
.mnav-in>a.on{color:var(--acc)}
.mnav-n{font-size:13px;font-weight:600;color:var(--muted);letter-spacing:0}
.mnav-f{margin-top:auto;padding-top:32px;display:flex;flex-direction:column;gap:6px;color:var(--muted)}
body.menu-open{overflow:hidden}

/* 메인 히어로 */
.hero{padding:clamp(48px,10vh,120px) 0 0;overflow:hidden}
.hero-t{font-size:clamp(46px,9.6vw,148px);line-height:1.02;letter-spacing:-.055em;font-weight:800;margin:0}
.hero-t .ln{display:block;overflow:hidden;padding-bottom:.06em}
.hero-t .ln:nth-child(2) .rv-up{color:var(--acc)}
.rv-up{display:inline-block}
.js .rv-up{transform:translateY(105%);transition:transform 1s var(--ease);transition-delay:calc(var(--d,0) * 110ms + 80ms)}
.js .loaded .rv-up,.js.loaded .rv-up{transform:none}
.hero-b{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;margin-top:clamp(28px,5vw,56px);flex-wrap:wrap}
.hero-s{max-width:520px;font-size:clamp(17px,1.6vw,20px);color:var(--ink2);margin:0}
.hero-a{display:flex;gap:10px;flex-wrap:wrap}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px;margin:clamp(40px,6vw,72px) 0 0;padding:28px 0 0;border-top:1px solid var(--line)}
.stats div{display:flex;flex-direction:column-reverse}
.stats dt{color:var(--muted);font-size:14px}
.stats dd{margin:0;font-size:clamp(34px,4vw,52px);font-weight:800;letter-spacing:-.04em;line-height:1.1}
.marq{display:flex;overflow:hidden;margin-top:clamp(48px,7vw,96px);padding:22px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.marq-in{display:flex;align-items:center;gap:28px;padding-right:28px;flex:none;animation:marq 60s linear infinite;font-size:clamp(18px,2vw,24px);font-weight:600;color:var(--ink2);white-space:nowrap}
.marq-in i{font-style:normal;color:var(--acc);font-size:.7em}
.marq:hover .marq-in{animation-play-state:paused}
@keyframes marq{to{transform:translateX(-100%)}}

/* 섹션 */
.sec{padding:clamp(72px,11vw,152px) 0}
.sec.pt0{padding-top:0}
.sec.alt{background:var(--bg2)}
.sec-hd{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:clamp(36px,5vw,64px);flex-wrap:wrap}
.sec-t{font-size:clamp(34px,5.4vw,72px);line-height:1.08;letter-spacing:-.045em;font-weight:800;margin:0}
.sec-s{color:var(--muted);margin:16px 0 0;max-width:560px}
.more{display:inline-flex;align-items:center;gap:10px;font-weight:600;padding:10px 0;border-bottom:2px solid var(--ink);transition:gap .25s var(--ease)}
.more:hover{gap:16px}
.more .cnt{font-size:13px;color:var(--muted);font-weight:500}
.soon{border:1px dashed var(--line);border-radius:var(--r);padding:56px 24px;text-align:center;color:var(--muted);display:flex;flex-direction:column;align-items:center;gap:16px}
.soon p{margin:0;font-size:18px}

/* 등장 효과 */
.js .rv{opacity:0;transform:translateY(32px);transition:opacity .9s var(--ease),transform .9s var(--ease);transition-delay:calc(var(--d,0) * 70ms)}
.js .rv.in{opacity:1;transform:none}
/* 1.078 안전망: site.js 가 못 뜨거나 멈추면(1.8초 안에 loaded 가 안 붙으면) 내용을 그냥 보여 줘요 */
.js.rv-fb .rv,.js.rv-fb .rv-up{opacity:1!important;transform:none!important}

/* 포트폴리오 카드 */
.fw-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(28px,4vw,56px) clamp(20px,3vw,40px)}
.fw-grid>.pc:nth-child(even){margin-top:clamp(0px,8vw,120px)}
.fw-grid>.pc:nth-child(odd):not(:first-child){margin-top:clamp(0px,-2vw,0px)}
.pf-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(28px,3vw,44px) clamp(16px,2vw,28px)}
.pc{display:flex;flex-direction:column;gap:16px;min-width:0}
.pc-img{position:relative;display:block;aspect-ratio:4/3;border-radius:var(--r);overflow:hidden;background:var(--bg3);isolation:isolate}
.pc-img img{width:100%;height:100%;object-fit:cover;object-position:top;transition:transform 1.1s var(--ease),filter .5s}
.pc:hover .pc-img img{transform:scale(1.045)}
.pc-img::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.28));opacity:0;transition:opacity .4s}
.pc:hover .pc-img::after{opacity:1}
.pc-ph{position:absolute;inset:0;display:grid;place-items:center;font-size:72px;font-weight:800;color:var(--muted);letter-spacing:-.05em;background:linear-gradient(135deg,var(--bg3),var(--bg2))}
.pc-go{position:absolute;right:16px;bottom:16px;z-index:1;width:52px;height:52px;border-radius:50%;background:var(--bg2);color:var(--ink);display:grid;place-items:center;transform:scale(.6) rotate(-45deg);opacity:0;transition:transform .45s var(--ease),opacity .3s}
.pc:hover .pc-go{transform:scale(1) rotate(-45deg);opacity:1}
.pc-b{display:flex;flex-direction:column;gap:4px;padding:0 4px}
.pc-t{font-size:clamp(18px,1.6vw,21px);font-weight:700;letter-spacing:-.025em;line-height:1.35}
.pc-m{font-size:14px;color:var(--muted)}
.fw-grid .pc-t{font-size:clamp(20px,2vw,26px)}
.fa-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 28px}
.fa{display:block;color:var(--ink)}
.fa-im{position:relative;display:block;border-radius:var(--r);overflow:hidden;aspect-ratio:4/3;background:var(--bg3)}
.fa-im img{width:100%;height:100%;object-fit:cover;filter:grayscale(1);transition:filter .5s,transform .6s var(--ease)}
.fa-tag{position:absolute;left:16px;top:16px;display:inline-flex;align-items:center;height:26px;padding:0 11px;border-radius:999px;background:var(--bg2);color:var(--ink);font-size:12.5px;font-weight:700;opacity:0;transform:translateY(-6px);transition:opacity .3s,transform .3s}
.fa:hover .fa-im img,.fa:focus-visible .fa-im img{filter:none;transform:scale(1.04)}
.fa:hover .fa-tag,.fa:focus-visible .fa-tag{opacity:1;transform:none}
.fa-tx{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-top:16px}
.fa-t{font-size:19px;font-weight:700;letter-spacing:-.02em;transition:color .2s}
.fa:hover .fa-t{color:var(--acc)}
.fa-y{color:var(--muted);font-size:14px;flex:none}
@media (hover:none){.fa-im img{filter:none}.fa-tag{opacity:1;transform:none}}
@media (max-width:900px){.fa-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 14px}.fa-tx{flex-direction:column;gap:2px;margin-top:12px}.fa-t{font-size:15px}.fa-y{font-size:13px}.fa-tag{left:10px;top:10px;height:22px;padding:0 9px;font-size:11px;opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.fa-im img{transition:none}.fa:hover .fa-im img{transform:none}}

/* 서비스 */
.svc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}
.svc{background:var(--bg);border:1px solid var(--line);border-radius:var(--r);padding:clamp(24px,2.4vw,32px);display:flex;flex-direction:column;justify-content:space-between;gap:36px;min-height:300px;transition:transform .4s var(--ease),border-color .3s,box-shadow .4s}
.sec.alt .svc{background:var(--bg)}
.sec:not(.alt) .svc{background:var(--bg2)}
.svc:hover{transform:translateY(-6px);border-color:var(--ink);box-shadow:var(--shadow)}
.svc-n{font-size:13px;color:var(--muted);font-weight:600}
.svc-t{font-size:clamp(22px,2vw,26px);letter-spacing:-.035em;margin:10px 0 6px;line-height:1.25}
.svc-h{margin:0;color:var(--muted);font-size:15.5px}
.svc-body{color:var(--ink2);font-size:16px;margin-top:18px}
.svc-body p{margin:0 0 .6em}
.svc-f{list-style:none;padding:0;margin:18px 0 0;display:grid;gap:8px;font-size:15.5px}
.svc-f li{display:flex;gap:8px;align-items:flex-start}
.svc-f .ic{color:var(--acc);margin-top:4px}
.svc-bot{display:flex;flex-direction:column;gap:8px;align-items:flex-start}
.pr{margin:0;display:flex;flex-direction:column}
.pr-old{font-size:14px;color:var(--muted);text-decoration:line-through}
.pr-v{font-size:15px;color:var(--ink2);display:flex;align-items:baseline;gap:4px;flex-wrap:wrap}
.pr-v b{font-size:clamp(30px,3vw,40px);letter-spacing:-.04em;color:var(--ink);font-weight:800;line-height:1.1}
.pr-v small{font-size:15px;color:var(--muted)}
.pr-tag{margin:0;display:flex;gap:8px;align-items:center;font-size:14px;color:var(--ink2)}
.svc-note{margin:0;font-size:13.5px;color:var(--muted)}
.badge{display:inline-flex;align-items:center;height:24px;padding:0 9px;border-radius:999px;font-size:12.5px;font-weight:700;background:var(--bg3);white-space:nowrap}
.badge.acc{background:var(--acc);color:var(--acc-ink)}
.badge.warn{background:#ffe9b3;color:#6b4a00}
.svc-grid.full{grid-template-columns:1fr}
.svc-grid.full .svc{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(220px,1fr);gap:clamp(24px,4vw,64px);min-height:0;padding:clamp(28px,3.5vw,48px)}
.svc-grid.full .svc-t{font-size:clamp(26px,3vw,38px)}
.svc-grid.full .svc-bot{justify-content:flex-end;border-left:1px solid var(--line);padding-left:clamp(24px,3vw,48px)}

/* 강점 */
.why{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line)}
.why-i{padding:32px 28px 40px 0;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:10px}
.why-i:not(:nth-child(4n+1)){padding-left:28px;border-left:1px solid var(--line)}
.why-n{font-size:13px;font-weight:700;color:var(--acc)}
.why-ic{display:inline-flex;width:38px;height:38px;color:var(--acc);margin-bottom:8px}
.why-ic .ic{width:38px;height:38px;stroke-width:1.6}
.why-t{font-size:clamp(20px,1.8vw,24px);letter-spacing:-.03em;margin:0;line-height:1.3}
.why-b{margin:0;color:var(--muted);font-size:15.5px}

/* 진행 과정 */
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;counter-reset:s}
.step{position:relative;padding:28px 24px;border-radius:var(--r);background:var(--bg);border:1px solid var(--line);display:flex;flex-direction:column;gap:8px;min-height:200px}
.step-n{font-size:12.5px;font-weight:700;letter-spacing:.06em;color:var(--muted)}
.step-ic{display:inline-flex;width:38px;height:38px;color:var(--acc);margin-bottom:4px}
.step-ic .ic{width:38px;height:38px;stroke-width:1.6}
.step-t{font-size:22px;letter-spacing:-.03em;margin:auto 0 0}
.step-b{margin:0;color:var(--muted);font-size:15px}

/* CTA */
.cta{padding:clamp(80px,12vw,168px) 0;background:var(--ink);color:var(--bg);position:relative;overflow:hidden}
.cta .eyebrow{color:var(--acc)}
[data-theme=light] .cta .eyebrow{color:#9aabff}
.cta-t{font-size:clamp(40px,7.4vw,112px);line-height:1.04;letter-spacing:-.055em;margin:0;font-weight:800;max-width:14ch}
.cta-s{font-size:clamp(17px,1.6vw,20px);opacity:.72;margin:24px 0 40px;max-width:560px}
.cta-a{display:flex;gap:10px;flex-wrap:wrap}
.cta .btn{background:var(--bg);color:var(--ink)}
.cta .btn.ghost{background:transparent;color:var(--bg);border-color:color-mix(in srgb,var(--bg) 30%,transparent)}
.cta .btn.ghost:hover{border-color:var(--bg)}

/* 하위 페이지 타이틀 */
.phero{padding:clamp(56px,9vw,128px) 0 clamp(40px,6vw,80px)}
.phero-t{font-size:clamp(42px,7.6vw,112px);line-height:1.04;letter-spacing:-.055em;font-weight:800;margin:0}
.phero-t.sm{font-size:clamp(32px,5vw,60px);line-height:1.15}
.phero-s{font-size:clamp(17px,1.7vw,21px);color:var(--ink2);max-width:640px;margin:24px 0 0}
.phero-s b{color:var(--acc)}
.phero-a{margin-top:32px;display:flex;gap:10px;flex-wrap:wrap}
.crumbs{display:flex;gap:10px;font-size:14px;color:var(--muted);margin-bottom:20px}
.crumbs a:hover{color:var(--ink)}

/* 포트폴리오 목록 필터 */
.pf-bar{display:flex;flex-direction:column;gap:14px;margin-bottom:clamp(32px,4vw,52px);position:sticky;top:var(--hd);z-index:5;background:var(--bg);padding:12px 0;margin-top:-12px}
.chips{display:flex;gap:8px;flex-wrap:wrap}
.chips.scroll{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;margin:0 calc(var(--pad) * -1);padding:2px var(--pad)}
.chips.scroll::-webkit-scrollbar{display:none}
.chip-a{display:inline-flex;align-items:center;gap:8px;height:46px;padding:0 20px;border-radius:999px;border:1px solid var(--line);font-weight:600;white-space:nowrap;transition:background .2s,color .2s,border-color .2s;flex:none}
.chip-a .n{font-size:12.5px;color:var(--muted);font-weight:600}
.chip-a:hover{border-color:var(--ink)}
.chip-a.on{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.chip-a.on .n{color:inherit;opacity:.6}
.pf-tools{display:flex;justify-content:space-between;align-items:center;gap:16px}
.pf-tools .years{flex:1;min-width:0;margin-right:0}
.chip-b{display:inline-flex;align-items:center;height:34px;padding:0 12px;border-radius:10px;font-size:14.5px;color:var(--muted);font-weight:500;white-space:nowrap;flex:none}
.chip-b:hover{color:var(--ink)}
.chip-b.on{color:var(--ink);background:var(--bg3);font-weight:700}
.search{position:relative;display:flex;align-items:center;flex:none;width:260px}
.search.wide{width:100%;margin-bottom:32px}
.search-i{width:100%;height:46px;border-radius:999px;border:1px solid var(--line);background:var(--bg2);color:var(--ink);padding:0 50px 0 20px;font:inherit;font-size:15.5px;-webkit-appearance:none;appearance:none}
.search-i:focus{outline:none;border-color:var(--ink)}
.search-b{position:absolute;right:4px;width:38px;height:38px;border-radius:50%;border:0;background:transparent;cursor:pointer;display:grid;place-items:center}
.search-b:hover{background:var(--bg3)}
.pf-res{margin:-20px 0 28px;color:var(--muted)}
.pf-res b{color:var(--ink)}
.pf-more{display:flex;justify-content:center;margin-top:clamp(48px,6vw,80px)}
.pf-more .muted{font-size:14px;font-weight:500}

/* 상세 */
.wk-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,max-content));gap:16px 48px;margin:40px 0 0;padding-top:28px;border-top:1px solid var(--line)}
.wk-meta dt{font-size:13px;color:var(--muted);margin-bottom:4px}
.wk-meta dd{margin:0;font-weight:600}
.wk-cover{margin:0 0 clamp(40px,6vw,80px)}
/* 1.006 관리자 바로가기 (로그인한 관리자만) */
.hd-adm{height:34px;padding:0 14px;font-size:13px;gap:6px;background:var(--bg3);color:var(--ink);border:1px solid var(--line)}
.hd-out,.mnav-out{margin:0;display:inline-flex}
.hd-out-b{display:inline-flex;align-items:center;gap:5px;background:none;border:0;padding:6px 8px;font:inherit;font-size:13px;color:var(--muted);cursor:pointer;border-radius:8px}
.hd-out-b:hover{color:var(--ink)}
.mnav-adm{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:20px}
.ft-adm{color:var(--muted);font-size:12px;opacity:.75}
.ft-adm:hover{opacity:1;color:var(--ink)}
/* 1.006 상세 머리말: 글 60 · 표지 40 (휴대폰은 경로 아래·제목 위 16:10) */
.wk-hero.has-cv{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:clamp(32px,4vw,64px);align-items:start}
.wk-hero.has-cv .phero-t{font-size:clamp(36px,5.2vw,80px)}
.wk-cv{margin:0;justify-self:end;width:100%;max-width:var(--w,100%)}
.wk-cv a{display:block;cursor:zoom-in;border-radius:var(--r);overflow:hidden;background:var(--bg3);box-shadow:0 1px 0 var(--line),0 18px 40px -24px rgba(0,0,0,.35)}
.wk-cv img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;max-height:440px}
/* 1.005: 너비는 width 속성(=원본 폭)을 따르고 max-width:100% 로만 줄여요 → 원본보다 키우지 않고, 좁은 사진은 가운데. (CSS width:auto 를 쓰면 사진이 오기 전 크기를 몰라 화면이 출렁여서 속성으로 둬요) */
.wk-cover img,.wk-gal img{max-width:100%;height:auto;margin:0 auto;border-radius:var(--r);background:var(--bg3)}
.wk-cover a,.wk-gal a{display:block;width:fit-content;max-width:100%;margin:0 auto;cursor:zoom-in}
.wk-body{max-width:760px;margin:0 auto clamp(40px,6vw,80px)}
.wk-gal{display:flex;flex-direction:column;gap:clamp(16px,2.4vw,32px)}
.wk-gal figure{margin:0}
.prose{font-size:17.5px;line-height:1.85;color:var(--ink2)}
.prose h2,.prose h3,.prose h4{color:var(--ink);letter-spacing:-.03em;line-height:1.35;margin:1.8em 0 .6em}
.prose h2{font-size:28px}.prose h3{font-size:22px}
.prose p{margin:0 0 1.1em}
.prose a{color:var(--acc);text-decoration:underline;text-underline-offset:3px}
.prose img{border-radius:var(--r-sm);margin:1.4em auto;height:auto;max-width:100%}
.prose ul,.prose ol{padding-left:1.3em}
.prose blockquote{margin:1.4em 0;padding:4px 0 4px 20px;border-left:3px solid var(--acc);color:var(--ink)}
.prose table{border-collapse:collapse;width:100%;display:block;overflow-x:auto;font-size:15px}
.prose td,.prose th{border:1px solid var(--line);padding:8px 12px}
.prose pre{background:var(--bg3);padding:16px;border-radius:12px;overflow-x:auto;font-size:14px}
.pn{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:clamp(56px,8vw,112px) 0 32px;padding-top:32px;border-top:1px solid var(--line)}
.pn-i{display:flex;gap:16px;align-items:center;padding:12px;border-radius:var(--r);transition:background .2s;min-width:0}
.pn-i:hover{background:var(--bg2)}
.pn-i.next{flex-direction:row-reverse;text-align:right}
.pn-img{width:120px;aspect-ratio:4/3;border-radius:12px;overflow:hidden;background:var(--bg3);flex:none}
.pn-img img{width:100%;height:100%;object-fit:cover;object-position:top}
.pn.text .pn-img{display:none}
.pn-t{display:flex;flex-direction:column;gap:4px;min-width:0}
.pn-t small{color:var(--muted);font-size:13px;display:inline-flex;gap:4px;align-items:center}
.pn-i.next small{justify-content:flex-end}
.pn-t b{font-size:17px;letter-spacing:-.02em;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.wk-back{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin:0 0 clamp(64px,8vw,112px)}
.lb{position:fixed;inset:0;z-index:90;background:rgba(8,8,10,.94);display:flex;align-items:center;justify-content:center;padding:56px 12px}
.lb img{max-width:100%;max-height:100%;object-fit:contain;border-radius:8px}
.lb button{position:absolute;width:52px;height:52px;border-radius:50%;border:0;background:rgba(255,255,255,.1);color:#fff;cursor:pointer;display:grid;place-items:center}
.lb button:hover{background:rgba(255,255,255,.2)}
.lb-x{top:12px;right:12px}.lb-p{left:12px;top:50%;margin-top:-26px}.lb-n{right:12px;top:50%;margin-top:-26px}
.lb-c{position:absolute;bottom:16px;left:0;right:0;text-align:center;color:rgba(255,255,255,.7);font-size:14px}

/* 글 목록 */
.posts{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.post-i{display:grid;grid-template-columns:120px minmax(0,1fr) 44px;gap:24px;align-items:center;padding:28px 0;border-bottom:1px solid var(--line);transition:padding .3s var(--ease)}
.post-i:hover{padding-left:12px;padding-right:0}
.post-d{font-size:14px;color:var(--muted);display:flex;flex-direction:column;gap:6px}
.post-c{font-style:normal;font-size:12.5px;font-weight:600;color:var(--ink);opacity:.72}
.chips.po-cats{margin-bottom:24px}
.post-b{display:flex;flex-direction:column;gap:6px;min-width:0}
.post-t{font-size:clamp(19px,2vw,24px);font-weight:700;letter-spacing:-.03em;line-height:1.35}
.post-s{color:var(--muted);font-size:15.5px;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.post-go{width:44px;height:44px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;transition:background .2s,color .2s,transform .3s var(--ease)}
.post-i:hover .post-go{background:var(--ink);color:var(--bg);transform:rotate(-45deg)}
.pager{display:flex;justify-content:center;gap:6px;margin-top:48px}
.pager a,.pager span{min-width:44px;height:44px;border-radius:999px;display:grid;place-items:center;padding:0 10px;font-weight:600}
.pager a:hover{background:var(--bg3)}
.pager .on{background:var(--ink);color:var(--bg)}
.art-d{color:var(--muted);margin:20px 0 0}
.art-cover{margin:0 0 48px}.art-cover img{border-radius:var(--r);max-width:100%;height:auto;margin:0 auto}

/* 문의 */
.ct{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr);gap:clamp(32px,6vw,96px);align-items:start}
.ct-info dl{margin:0;display:flex;flex-direction:column;gap:28px;position:sticky;top:calc(var(--hd) + 24px)}
.ct-info dt{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--muted);margin-bottom:6px}
.ct-info dd{margin:0;font-size:17px;font-weight:500}
.ct-info dd a:not(.ext){border-bottom:1px solid var(--line)}
.ct-info .ext{display:inline-flex;gap:4px;align-items:center;font-size:14px;color:var(--acc);margin-top:6px}
.ct-form{background:var(--bg2);border:1px solid var(--line);border-radius:var(--r);padding:clamp(24px,4vw,48px)}
.form{display:flex;flex-direction:column;gap:24px}
.f2{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.f{display:flex;flex-direction:column;gap:8px;min-width:0;border:0;padding:0;margin:0}
.f>label,.f legend{font-size:14.5px;font-weight:600;padding:0;margin-bottom:8px}
.f>label{margin-bottom:0}
.f em{color:var(--acc);font-style:normal}
.f input:not([type=radio]):not([type=checkbox]),.f textarea{width:100%;border:1px solid var(--line);background:var(--bg);color:var(--ink);border-radius:12px;padding:13px 16px;font:inherit;font-size:16px;line-height:1.5;-webkit-appearance:none;appearance:none;transition:border-color .2s,box-shadow .2s}
.f textarea{resize:vertical;min-height:160px}
.f input:focus,.f textarea:focus{outline:none;border-color:var(--acc);box-shadow:0 0 0 4px var(--acc-soft)}
.f [aria-invalid=true]{border-color:#e5484d!important}
.ferr{margin:0;color:#e5484d;font-size:14px}
.fhelp{margin:-14px 0 0;font-size:14px;color:var(--muted)}
.pills{display:flex;flex-wrap:wrap;gap:8px}
.pick{position:relative;cursor:pointer}
.pick input{position:absolute;opacity:0;width:1px;height:1px}
.pick span{display:inline-flex;align-items:center;height:42px;padding:0 16px;border-radius:999px;border:1px solid var(--line);background:var(--bg);font-size:15px;font-weight:500;transition:all .2s}
.pick:hover span{border-color:var(--ink)}
.pick input:checked+span{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.pick input:focus-visible+span{outline:2px solid var(--acc);outline-offset:2px}
.agree{flex-direction:row;align-items:center;flex-wrap:wrap;gap:12px}
.cbx{display:inline-flex;align-items:center;gap:10px;cursor:pointer;font-weight:500;position:relative}
.cbx input{position:absolute;opacity:0;width:1px;height:1px}
.cbx-b{width:24px;height:24px;border-radius:7px;border:1.5px solid var(--muted);display:grid;place-items:center;color:transparent;transition:all .2s;flex:none}
.cbx input:checked+.cbx-b{background:var(--acc);border-color:var(--acc);color:var(--acc-ink)}
.cbx input:focus-visible+.cbx-b{outline:2px solid var(--acc);outline-offset:2px}
.agree .linkbtn{font-size:14px;color:var(--muted)}
.agree .ferr{flex-basis:100%}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.capf .field{display:flex;flex-direction:column;gap:8px}
.capf label{font-size:14.5px;font-weight:600}
.cap{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.cap img{border-radius:10px;border:1px solid var(--line)}
.cap .btn{height:40px;padding:0 14px;font-size:14px;background:transparent;color:var(--ink);border-color:var(--line)}
.capf .help{margin:0;font-size:13.5px;color:var(--muted)}
.capf .inp{max-width:200px}
.alert{display:flex;gap:10px;align-items:flex-start;padding:14px 16px;border-radius:12px;background:rgba(229,72,77,.1);color:#c9343a;margin-bottom:24px;font-weight:500}
[data-theme=dark] .alert{color:#ff8a8e}
.done{text-align:center;padding:40px 0;display:flex;flex-direction:column;align-items:center;gap:8px}
.done-i{width:72px;height:72px;border-radius:50%;background:var(--acc);color:var(--acc-ink);display:grid;place-items:center;margin-bottom:12px}
.done h2{font-size:30px;letter-spacing:-.04em;margin:0}
.done p{color:var(--muted);margin:0 0 12px}

/* 대화상자 */
.dlg{position:fixed;inset:0;z-index:95;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;padding:20px}
.dlg[hidden]{display:none}
.dlg-card{background:var(--bg2);color:var(--ink);border-radius:var(--r);width:min(560px,100%);max-height:calc(100vh - 40px);display:flex;flex-direction:column;box-shadow:var(--shadow)}
.dlg-hd{display:flex;justify-content:space-between;align-items:center;padding:16px 16px 8px 24px}
.dlg-hd h2{font-size:19px;margin:0;letter-spacing:-.02em}
.dlg-bd{padding:4px 24px 24px;overflow:auto;font-size:15.5px;color:var(--ink2)}
.dlg-bd p{margin:0 0 .6em}
.upd section{padding:12px 0;border-top:1px solid var(--line)}
.upd section:first-child{border-top:0}
.upd h3{display:flex;gap:10px;align-items:center;font-size:15px;margin:0 0 8px}
.upd ul{margin:0;padding-left:1.2em}
.chip{display:inline-flex;align-items:center;height:26px;padding:0 10px;border-radius:999px;background:var(--acc);color:var(--acc-ink);font-size:13px;font-weight:700}

/* 바닥글 */
.ft{background:var(--bg);border-top:1px solid var(--line);padding:clamp(56px,7vw,96px) 0 32px;font-size:15px}
.ft-top{display:flex;justify-content:space-between;gap:48px;flex-wrap:wrap}
.ft-tag{color:var(--muted);margin:16px 0 0;max-width:340px}
.ft-cols{display:flex;gap:clamp(32px,6vw,80px);flex-wrap:wrap}
.ft-h{font-size:13px;font-weight:600;color:var(--muted);margin:0 0 14px;letter-spacing:.02em}
.ft ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.ft ul a:hover{color:var(--acc)}
.ft-hours p{margin:0;color:var(--ink2)}
.ft-bottom{margin-top:clamp(48px,6vw,80px);padding-top:24px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:16px 32px;flex-wrap:wrap;color:var(--muted);font-size:13.5px}
.ft-info,.ft-copy{margin:0;display:flex;flex-wrap:wrap;gap:4px 10px;align-items:center}
.ft .sep{opacity:.5}

/* 반응형 */
@media (max-width:1080px){.why{grid-template-columns:repeat(2,minmax(0,1fr))}.why-i:not(:nth-child(4n+1)){padding-left:0;border-left:0}.why-i:nth-child(even){padding-left:28px;border-left:1px solid var(--line)}.pf-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:900px){.hd-adm,.hd-out{display:none}.wk-hero.has-cv{grid-template-columns:minmax(0,1fr);gap:24px}.wk-cv{order:-1;justify-self:start}.wk-cv img{aspect-ratio:16/10;max-height:none}.gnb,.hd-cta{display:none}.hd-menu{display:inline-grid}.ct{grid-template-columns:1fr}.ct-info dl{position:static;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.svc-grid.full .svc{grid-template-columns:1fr}.svc-grid.full .svc-bot{border-left:0;padding-left:0;border-top:1px solid var(--line);padding-top:24px}.pf-tools{flex-direction:column;align-items:stretch}.search{width:100%}}
@media (max-width:640px){:root{--hd:64px}body{font-size:16px}.fw-grid,.pf-grid{grid-template-columns:1fr}.fw-grid>.pc:nth-child(even){margin-top:0}.why{grid-template-columns:1fr}.why-i:nth-child(even){padding-left:0;border-left:0}.why-i{padding:24px 0}.f2{grid-template-columns:1fr}.post-i{grid-template-columns:minmax(0,1fr);gap:6px}.post-go{display:none}.post-d{order:2;flex-direction:row;gap:10px}.pn{grid-template-columns:1fr}.pn-i.next{flex-direction:row;text-align:left}.pn-i.next small{justify-content:flex-start}.pn-img{width:88px}.hero-a .btn,.cta-a .btn{flex:1 1 auto}.btn.lg{height:54px;padding:0 22px;font-size:16px}.block-m{width:100%}.pf-bar{position:static}.ft-top{flex-direction:column}.hero-b{flex-direction:column;align-items:stretch}.hero-s{max-width:none}.wk-meta{grid-template-columns:1fr 1fr;gap:16px}}
@media (hover:none){.pc-go{opacity:1;transform:scale(.85) rotate(-45deg)}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition-duration:.01ms!important;transition-delay:0s!important}.js .rv,.js .rv-up{opacity:1!important;transform:none!important}.marq-in{animation:none}.marq{overflow-x:auto}}
/* 빠른 메뉴 (1.003): 오른쪽 가운데(PC) · 오른쪽 아래(휴대폰). 바닥글·문의 보내기 단추를 가리지 않게 site.js 가 올리거나 숨김 */
.qm{--qm-lift:0px;position:fixed;right:clamp(10px,1.6vw,22px);top:50%;z-index:40;transform:translateY(calc(-50% - var(--qm-lift)));transition:transform .35s var(--ease),opacity .25s}
.qm ul{list-style:none;margin:0;padding:0}
.qm>.qm-l{display:flex;flex-direction:column;gap:4px;padding:5px;background:var(--bg2);border:1px solid var(--line);border-radius:999px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
@supports (background:color-mix(in srgb,red 50%,blue)){.qm>.qm-l{background:color-mix(in srgb,var(--bg2) 82%,transparent)}}
.qm-more>.qm-l{display:flex;flex-direction:column;gap:4px}
.qm-more{display:grid;grid-template-rows:1fr;transition:grid-template-rows .3s var(--ease),opacity .25s}
.qm-more>.qm-l{min-height:0;overflow:hidden}
.qm-closed .qm-more{grid-template-rows:0fr;opacity:0;visibility:hidden}
.qm-b{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:0;border-radius:50%;background:transparent;color:var(--ink2);cursor:pointer;text-decoration:none;transition:background .2s,color .2s,transform .2s}
.qm-b:hover{background:var(--bg3);color:var(--ink)}
.qm-b:active{transform:scale(.94)}
.qm-b:focus-visible{outline:2px solid var(--acc);outline-offset:2px}
.qm-b .ic{width:20px;height:20px}
.qm-t .ic{transform:rotate(0);transition:transform .3s var(--ease)}
.qm-closed .qm-t .ic{transform:rotate(180deg)}
.qm-ask{background:var(--acc);color:var(--acc-ink)}
.qm-ask:hover{background:var(--acc2);color:var(--acc-ink)}
.qm.qm-away{opacity:0;pointer-events:none;visibility:hidden}
.menu-open .qm{display:none}
@media (max-width:760px){
  .qm{top:auto;bottom:calc(14px + env(safe-area-inset-bottom,0px));right:12px;transform:translateY(calc(0px - var(--qm-lift)))}
  .qm-b{width:42px;height:42px}
}
@media print{.qm{display:none}}
@media (prefers-reduced-motion:reduce){.qm,.qm-more,.qm-b,.qm-t .ic{transition:none}}

/* 1.026 스크롤바: 거의 안 보이게 (바탕 투명, 손잡이만 옅게) */
:root{--sb-t:rgba(0,0,0,.12);--sb-h:rgba(0,0,0,.28)}
[data-theme=dark]{--sb-t:rgba(255,255,255,.12);--sb-h:rgba(255,255,255,.28)}
::-webkit-scrollbar{width:5px;height:5px;background:transparent}
html::-webkit-scrollbar,body::-webkit-scrollbar{width:6px;height:6px}
::-webkit-scrollbar-track,::-webkit-scrollbar-corner{background:transparent}
::-webkit-scrollbar-thumb{background:var(--sb-t);border-radius:99px;border:0}
::-webkit-scrollbar-thumb:hover,::-webkit-scrollbar-thumb:active{background:var(--sb-h)}
::-webkit-scrollbar-button{display:none;width:0;height:0}
@supports (-moz-appearance:none){*{scrollbar-width:thin;scrollbar-color:var(--sb-t) transparent}*:hover{scrollbar-color:var(--sb-h) transparent}}
.stats dd{font-variant-numeric:tabular-nums}

/* 1.086 문의 종류 탭 · 종류별 칸 · 장애 안내 */
.ct-r{min-width:0}
.ct-tabs{display:flex;gap:4px;padding:5px;margin:0 0 14px;background:var(--bg2);border:1px solid var(--line);border-radius:999px;width:max-content;max-width:100%}
.ct-tab{display:inline-flex;align-items:center;justify-content:center;height:42px;padding:0 20px;border-radius:999px;font-size:15px;font-weight:600;color:var(--muted);white-space:nowrap;transition:background .2s,color .2s}
.ct-tab:hover{color:var(--ink)}
.ct-tab.on{background:var(--ink);color:var(--bg)}
.ct-k{display:flex;flex-direction:column;gap:24px}
.ct-note{display:flex;gap:10px;align-items:flex-start;margin:0;padding:14px 16px;border-radius:12px;background:var(--acc-soft);color:var(--ink2);font-weight:500}
.ct-note svg{flex:none;margin-top:3px;color:var(--acc)}
.ct-note a{color:var(--acc);font-weight:700;border-bottom:1px solid currentColor}
.fopt{font-size:13px;font-weight:400;color:var(--muted);margin-left:6px}
.f-half{max-width:280px}
.f input[type=date]{min-height:48px}
@media (max-width:640px){.ct-tabs{width:100%;display:grid;grid-template-columns:repeat(3,1fr)}.ct-tab{padding:0 6px;font-size:14px}.f-half{max-width:none}}
/* 1.086 메일 공지 (링크로만 여는 화면) */
.mn-body{background:var(--bg)}
.mn-in{max-width:760px;margin:0 auto;padding:0 var(--pad)}
.mn-hd{border-bottom:1px solid var(--line);background:var(--bg2)}.mn-hd .mn-in{display:flex;align-items:center;height:64px}
.mn-main{padding:clamp(32px,6vw,64px) 0 clamp(48px,8vw,96px)}
.mn-k{margin:0 0 8px;font-size:14px;font-weight:600;color:var(--acc)}
.mn-t{margin:0;font-size:clamp(26px,4vw,36px);line-height:1.3;letter-spacing:-.03em}
.mn-d{margin:10px 0 28px;padding-bottom:24px;border-bottom:1px solid var(--line);color:var(--muted);font-size:14px}
.mn-off{display:flex;gap:8px;align-items:center;margin:0 0 20px;padding:12px 14px;border-radius:12px;background:rgba(229,72,77,.1);color:#c9343a;font-size:14px;font-weight:500}
.mn-ft{border-top:1px solid var(--line);padding:28px 0 36px;color:var(--muted);font-size:13px}
.mn-ft .mn-in{display:flex;flex-direction:column;gap:4px}.mn-ft b{color:var(--ink);font-size:14px}
