/* =========================================================================
   이수현 법률사무소 — 사이트 스타일
   PC · 태블릿 · 모바일 반응형 / 테마 색상은 관리자 > 디자인에서 변경
   ========================================================================= */
:root{
  --primary:#14223d;--primary-2:#0b1528;--primary-l:#e8ebf1;--accent:#b08a55;--accent-d:#8f6f42;--soft:#f6f3ee;--radius:4px;
  --ink:#1a1f2b;--ink-2:#4b5262;--ink-3:#7c8292;--line:#e6e2da;--line-2:#d6d1c6;--bg:#fff;
  --hd-h:84px;--wrap:1240px;
  --f-body:"Pretendard Variable",Pretendard,"Noto Sans KR","Noto Sans CJK KR",-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Malgun Gothic",sans-serif;
  --f-head:var(--f-body);
  --shadow:0 18px 50px -20px rgba(16,24,40,.25);
  --ease:cubic-bezier(.2,.7,.2,1);
}
html[data-font="serif"]{--f-head:"Noto Serif KR","Noto Serif CJK KR","Nanum Myeongjo",serif}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--hd-h) + 70px)}
body{margin:0;font-family:var(--f-body);font-size:16px;line-height:1.7;color:var(--ink);background:var(--bg);word-break:keep-all;overflow-wrap:break-word;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer}
h1,h2,h3,h4{font-family:var(--f-head);line-height:1.3;margin:0;letter-spacing:-.02em;font-weight:700}
p{margin:0}
ul,ol{margin:0;padding:0;list-style:none}
.ico{width:1.25em;height:1.25em;flex:none}
.skip{position:absolute;left:-999px;top:0;background:var(--accent);color:#fff;padding:10px 16px;z-index:999}
.skip:focus{left:10px}
.wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 24px}
.wrap.mid{max-width:1000px}.wrap.narrow{max-width:820px}
.center{text-align:center}.mt{margin-top:32px}
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.anchor{position:absolute;top:40px}

/* ---------------------------------------------------------------- 버튼 */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 24px;border:1px solid transparent;border-radius:var(--radius);font-weight:650;font-size:15.5px;letter-spacing:-.01em;line-height:1.2;transition:all .25s var(--ease);white-space:nowrap;background:none;color:inherit}
.btn .ico{width:18px;height:18px}
.btn-lg{min-height:56px;padding:0 30px;font-size:16.5px}
.btn-xl{min-height:64px;padding:0 40px;font-size:18px}
.btn-block{width:100%}
.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-2);transform:translateY(-2px)}
.btn-accent{background:var(--accent);color:#fff}.btn-accent:hover{background:var(--accent-d);transform:translateY(-2px);box-shadow:0 12px 24px -12px var(--accent)}
.btn-line{border-color:currentColor}.btn-line:hover{background:#fff;color:var(--primary);border-color:#fff}
.bg-white .btn-line:hover,.bg-soft .btn-line:hover{background:var(--primary);color:#fff;border-color:var(--primary)}
.btn-line-light{border-color:rgba(255,255,255,.45);color:#fff}.btn-line-light:hover{background:#fff;color:var(--primary)}
.btn-ghost{border-color:var(--line-2);color:var(--ink-2);background:#fff}.btn-ghost:hover{border-color:var(--primary);color:var(--primary)}
.btn-kakao{background:#fee500;color:#191919}.btn-kakao:hover{background:#f5d800;transform:translateY(-2px)}
.btn-naver{background:#03c75a;color:#fff}.btn-naver b{font-family:Arial,sans-serif;font-weight:900;font-size:17px}.btn-naver:hover{background:#02b350}
.btn.is-disabled{opacity:.55;cursor:not-allowed}
.admin-hint{margin-top:14px;font-size:13px;color:#b45309;background:#fff7ed;border:1px dashed #f59e0b;padding:10px 14px;border-radius:6px;display:inline-block}

/* ---------------------------------------------------------------- 헤더 */
.hd{position:fixed;inset:0 0 auto;z-index:100;height:var(--hd-h);background:#fff;border-bottom:1px solid var(--line);transition:background .3s,box-shadow .3s,border-color .3s,transform .3s}
.hd-in{height:100%;display:flex;align-items:center;gap:28px}
.logo{display:flex;align-items:center;gap:12px;flex:none;color:var(--primary)}
.logo img{max-height:46px;width:auto}
.logo-mark{width:44px;height:44px;border:1.5px solid currentColor;border-radius:50%;display:grid;place-items:center;color:var(--accent)}
.logo-mark .ico{width:24px;height:24px}
.logo-txt{display:flex;flex-direction:column;line-height:1.15}
.logo-txt strong{font-family:var(--f-head);font-size:21px;letter-spacing:-.02em;font-weight:700}
.logo-txt small{font-size:9.5px;letter-spacing:.22em;opacity:.65;margin-top:4px;font-weight:600}
.gnb{margin-left:auto}
.gnb>ul{display:flex;gap:4px}
.gnb>ul>li{position:relative}
.gnb>ul>li>a{display:flex;align-items:center;height:var(--hd-h);padding:0 20px;font-size:16.5px;font-weight:650;position:relative;letter-spacing:-.01em}
.gnb>ul>li>a::after{content:"";position:absolute;left:20px;right:20px;bottom:24px;height:2px;background:var(--accent);transform:scaleX(0);transition:transform .3s var(--ease)}
.gnb>ul>li:hover>a::after,.gnb>ul>li.on>a::after,.gnb>ul>li:focus-within>a::after{transform:scaleX(1)}
.gnb .sub{position:absolute;top:calc(100% - 10px);left:50%;transform:translate(-50%,8px);min-width:190px;background:#fff;border-radius:calc(var(--radius) + 4px);box-shadow:var(--shadow);padding:10px;opacity:0;visibility:hidden;transition:all .25s var(--ease);border-top:2px solid var(--accent)}
.gnb li:hover>.sub,.gnb li:focus-within>.sub{opacity:1;visibility:visible;transform:translate(-50%,0)}
.gnb .sub a{display:block;padding:10px 16px;border-radius:var(--radius);font-size:15px;color:var(--ink-2);white-space:nowrap;transition:all .2s}
.gnb .sub a:hover{background:var(--soft);color:var(--primary);padding-left:20px}
.hd-call{display:flex;align-items:center;gap:10px;padding:8px 18px 8px 10px;border-radius:999px;background:var(--primary);color:#fff;flex:none;transition:background .2s}
.hd-call .ico{width:34px;height:34px;padding:8px;border-radius:50%;background:var(--accent)}
.hd-call span{display:flex;flex-direction:column;line-height:1.15;font-weight:750;font-size:16px;letter-spacing:.01em}
.hd-call small{font-size:11px;font-weight:500;opacity:.7;letter-spacing:0}
.hd-call:hover{background:var(--primary-2)}
.hd-burger{display:none;width:44px;height:44px;border:0;background:none;margin-left:auto;position:relative;padding:0}
.hd-burger span{position:absolute;left:10px;right:10px;height:2px;background:currentColor;border-radius:2px;transition:.3s}
.hd-burger span:nth-child(1){top:14px}.hd-burger span:nth-child(2){top:21px}.hd-burger span:nth-child(3){top:28px;left:18px}
/* 메인 상단 투명 헤더 */
.hd-over:not(.scrolled){background:transparent;border-color:rgba(255,255,255,.12);color:#fff}
.hd-over:not(.scrolled) .logo{color:#fff}
.hd-over:not(.scrolled) .hd-call{background:rgba(255,255,255,.1);backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.2)}
.hd.scrolled{box-shadow:0 6px 30px -12px rgba(16,24,40,.18)}
.is-sub{padding-top:var(--hd-h)}

/* ---------------------------------------------------------------- 모바일 드로어 */
.drawer{position:fixed;inset:0;z-index:200;visibility:hidden}
.drawer.open{visibility:visible}
.drawer-dim{position:absolute;inset:0;background:rgba(8,12,22,.55);opacity:0;transition:opacity .3s}
.drawer.open .drawer-dim{opacity:1}
.drawer-panel{position:absolute;top:0;right:0;bottom:0;width:min(88vw,400px);background:#fff;display:flex;flex-direction:column;transform:translateX(100%);transition:transform .35s var(--ease);overflow-y:auto;overscroll-behavior:contain}
.drawer.open .drawer-panel{transform:none}
.drawer-top{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--line)}
.drawer-top .logo-txt strong{font-size:18px}.drawer-top .logo-mark{width:38px;height:38px}
.drawer-x{width:44px;height:44px;border:0;background:var(--soft);border-radius:50%;display:grid;place-items:center;color:var(--ink)}
.drawer-quick{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:16px 18px}
.drawer-quick a{display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 4px;border-radius:calc(var(--radius) + 4px);background:var(--primary);color:#fff;font-size:13.5px;font-weight:650}
.drawer-quick a.k{background:#fee500;color:#191919}
.drawer-quick a:last-child{background:var(--accent)}
.mnav{padding:0 18px;flex:1}
.mnav>ul>li{border-bottom:1px solid var(--line)}
.mnav-top{display:flex;width:100%;align-items:center;justify-content:space-between;padding:17px 4px;border:0;background:none;font-size:17.5px;font-weight:700;color:var(--ink);text-align:left}
.mnav-top .ico{transition:transform .3s;color:var(--ink-3)}
.mnav li.open .mnav-top{color:var(--primary)}
.mnav li.open .mnav-top .ico{transform:rotate(180deg);color:var(--accent)}
.mnav-sub{display:none;padding:0 0 14px}
.mnav li.open .mnav-sub{display:block}
.mnav-sub a{display:block;padding:10px 14px;margin:2px 0;border-radius:var(--radius);color:var(--ink-2);font-size:15.5px;background:var(--soft)}
.mnav-sub a.on{color:#fff;background:var(--primary)}
.drawer-info{padding:20px 22px 30px;font-size:13.5px;color:var(--ink-3)}
.drawer-info p{display:flex;gap:8px;align-items:flex-start;margin:6px 0}
.drawer-info .ico{width:16px;height:16px;margin-top:4px;color:var(--accent)}
body.lock{overflow:hidden}

/* ---------------------------------------------------------------- 히어로 */
.hero{position:relative;color:#fff;display:flex;align-items:center;overflow:hidden;background:var(--primary-2);isolation:isolate}
.hero.h-full{min-height:100vh;min-height:100svh}.hero.h-large{min-height:78vh}.hero.h-medium{min-height:60vh}
.hero-bg{position:absolute;inset:0;z-index:-1;background:
  radial-gradient(1200px 600px at 85% 15%,color-mix(in srgb,var(--accent) 22%,transparent),transparent 60%),
  radial-gradient(900px 700px at 0% 100%,color-mix(in srgb,var(--primary) 90%,#fff 10%),transparent 70%),
  linear-gradient(135deg,var(--primary) 0%,var(--primary-2) 100%)}
.hero.has-img .hero-bg{background:linear-gradient(100deg,rgba(8,12,22,var(--ov,.7)) 0%,rgba(8,12,22,calc(var(--ov,.7) * .55)) 100%),var(--hero-img) center/cover no-repeat}
.hero-lines{position:absolute;inset:0;opacity:.5;background:
  repeating-linear-gradient(115deg,transparent 0 120px,rgba(255,255,255,.035) 120px 121px),
  linear-gradient(90deg,transparent calc(50% - .5px),rgba(255,255,255,.05) calc(50% - .5px) calc(50% + .5px),transparent 0)}
.hero.has-img .hero-lines{opacity:.25}
.hero-inner{display:grid;grid-template-columns:1fr 380px;gap:60px;align-items:center;padding-top:calc(var(--hd-h) + 40px);padding-bottom:90px}
.hero .eyebrow{color:var(--accent);margin-bottom:26px}
.hero h1{font-size:clamp(34px,4.4vw,60px);line-height:1.22;font-weight:700;letter-spacing:-.035em;text-wrap:balance}
.hero-text{margin-top:26px;font-size:clamp(16px,1.5vw,19px);color:rgba(255,255,255,.78);max-width:580px;line-height:1.75}
.hero-btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:42px}
.quick{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-radius:calc(var(--radius) + 8px);padding:30px;position:relative}
.quick::before{content:"";position:absolute;top:-1px;left:30px;right:30px;height:2px;background:var(--accent)}
.quick-label{font-size:13px;letter-spacing:.14em;color:var(--accent);font-weight:700}
.quick-phone{display:block;font-family:var(--f-head);font-size:34px;font-weight:700;letter-spacing:-.01em;margin:6px 0 4px}
.quick-hours{display:flex;gap:8px;align-items:center;font-size:13.5px;color:rgba(255,255,255,.7)}
.quick-hours .ico{width:15px;height:15px}
.quick-btns{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:22px}
.qb{display:flex;flex-direction:column;gap:8px;padding:16px 14px;border-radius:var(--radius);background:rgba(255,255,255,.08);font-size:14px;font-weight:650;transition:all .25s}
.qb .ico{color:var(--accent);width:22px;height:22px}
.qb:hover{background:#fff;color:var(--primary)}
.qb-kakao{background:#fee500;color:#191919}.qb-kakao .ico{color:#191919}.qb-kakao:hover{background:#ffeb3b;color:#191919}
.hero-scroll{position:absolute;left:50%;bottom:24px;transform:translateX(-50%);width:44px;height:44px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.25);border-radius:50%;color:#fff;animation:bob 2.2s infinite}
@keyframes bob{50%{transform:translate(-50%,6px)}}
.js .hero-in{opacity:0;transform:translateY(26px);animation:heroIn .9s var(--ease) forwards}
.js .hero-in:nth-child(2){animation-delay:.12s}.js .hero-in:nth-child(3){animation-delay:.24s}.js .hero-in:nth-child(4){animation-delay:.36s}
.js .quick.hero-in{animation-delay:.45s}
@keyframes heroIn{to{opacity:1;transform:none}}

/* ---------------------------------------------------------------- 서브 비주얼 & LNB */
.sv{position:relative;color:#fff;background:var(--primary-2);overflow:hidden;isolation:isolate}
.sv-bg{position:absolute;inset:0;z-index:-1;background:
  radial-gradient(700px 300px at 90% 0%,color-mix(in srgb,var(--accent) 25%,transparent),transparent 70%),
  repeating-linear-gradient(115deg,transparent 0 90px,rgba(255,255,255,.035) 90px 91px),
  linear-gradient(135deg,var(--primary),var(--primary-2))}
.sv.has-img .sv-bg{background:linear-gradient(rgba(8,12,22,.68),rgba(8,12,22,.68)),var(--sv-img) center/cover}
.sv-in{padding:76px 24px 70px}
.crumb{display:flex;flex-wrap:wrap;gap:8px;font-size:12.5px;letter-spacing:.06em;color:rgba(255,255,255,.6);margin-bottom:16px}
.crumb strong{color:var(--accent);font-weight:600}
.sv h1{font-size:clamp(30px,4vw,48px);font-weight:700}
.sv p{margin-top:12px;color:rgba(255,255,255,.75);font-size:clamp(15px,1.4vw,18px)}
.lnb{position:sticky;top:var(--hd-h);z-index:50;background:#fff;border-bottom:1px solid var(--line)}
.lnb ul{display:flex;justify-content:center;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.lnb ul::-webkit-scrollbar{display:none}
.lnb a{display:block;padding:18px 26px;font-size:15.5px;font-weight:600;color:var(--ink-3);white-space:nowrap;position:relative;transition:color .2s}
.lnb a::after{content:"";position:absolute;left:26px;right:26px;bottom:-1px;height:3px;background:var(--accent);transform:scaleX(0);transition:transform .3s var(--ease)}
.lnb a:hover{color:var(--primary)}
.lnb a.on{color:var(--primary);font-weight:750}.lnb a.on::after{transform:none}

/* ---------------------------------------------------------------- 섹션 공통 */
.sec{padding:clamp(70px,9vw,124px) 0;position:relative}
.sec-tight{padding:clamp(40px,5vw,64px) 0}
.bg-white{background:#fff}
.bg-soft{background:var(--soft)}
.bg-dark{background:var(--primary-2);color:#fff}
.bg-primary{background:var(--primary);color:#fff}
.bg-dark,.bg-primary{--ink-2:rgba(255,255,255,.72);--ink-3:rgba(255,255,255,.55);--line:rgba(255,255,255,.14);--line-2:rgba(255,255,255,.25)}
.sec-head{margin-bottom:clamp(36px,5vw,60px);max-width:760px}
.sec-head.center{margin-left:auto;margin-right:auto;text-align:center}
.eyebrow{display:inline-flex;align-items:center;gap:12px;font-size:12.5px;font-weight:700;letter-spacing:.22em;color:var(--accent);text-transform:uppercase;margin-bottom:16px;font-family:var(--f-body)}
.eyebrow::before{content:"";width:26px;height:1px;background:currentColor}
.sec-head.center .eyebrow::after{content:"";width:26px;height:1px;background:currentColor}
.sec-head h2,.linkbox h2,.phonebox h2,.kakaobox h2{font-size:clamp(26px,3.3vw,42px);font-weight:700;line-height:1.32}
.sec-desc{margin-top:18px;font-size:clamp(15.5px,1.3vw,17.5px);color:var(--ink-2);line-height:1.8}
.sec-desc.small{font-size:14px}
.prose{font-size:17px;line-height:1.95;color:var(--ink-2)}
.prose p+p{margin-top:1.1em}
.prose strong{color:var(--ink);font-weight:700}
.bg-dark .prose strong,.bg-primary .prose strong{color:#fff}
.prose.center{text-align:center}
.prose ul{list-style:disc;padding-left:1.3em}.prose ol{list-style:decimal;padding-left:1.3em}
.prose a{color:var(--accent);text-decoration:underline}
.blk-text .wrap.mid .sec-head{max-width:none}

/* reveal 애니메이션 */
.js .reveal{opacity:0;transform:translateY(28px);transition:opacity .8s var(--ease),transform .8s var(--ease);transition-delay:calc(var(--i,0) * 70ms)}
.js .reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.js .reveal,.js .hero-in{opacity:1!important;transform:none!important;animation:none!important;transition:none!important}html{scroll-behavior:auto}}

/* ---------------------------------------------------------------- 카드 */
.cards{display:grid;gap:20px}
.cards.cols-2{grid-template-columns:repeat(2,1fr)}.cards.cols-3{grid-template-columns:repeat(3,1fr)}.cards.cols-4{grid-template-columns:repeat(4,1fr)}
.card{position:relative;display:flex;flex-direction:column;padding:36px 32px 32px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);transition:transform .35s var(--ease),box-shadow .35s,border-color .35s,background .35s;overflow:hidden}
.card::before{content:"";position:absolute;left:0;top:0;width:100%;height:3px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .45s var(--ease)}
.card-ico{display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:var(--soft);color:var(--accent);margin-bottom:24px;transition:all .35s}
.card-ico .ico{width:28px;height:28px}
.card h3{font-size:20px;font-weight:700}
.card p{margin-top:10px;color:var(--ink-2);font-size:15px;line-height:1.7}
.card-more{margin-top:auto;padding-top:22px;display:inline-flex;align-items:center;gap:6px;font-size:13.5px;font-weight:700;color:var(--accent)}
.card-more .ico{width:16px;height:16px;transition:transform .3s}
a.card:hover{transform:translateY(-6px);box-shadow:var(--shadow);border-color:transparent}
a.card:hover::before{transform:none}
a.card:hover .card-ico{background:var(--primary);color:#fff}
a.card:hover .card-more .ico{transform:translateX(4px)}
.bg-soft .card{border-color:transparent}
.bg-dark .card,.bg-primary .card{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.12);color:#fff}
.bg-dark .card-ico,.bg-primary .card-ico{background:rgba(255,255,255,.07)}
.bg-dark a.card:hover,.bg-primary a.card:hover{background:rgba(255,255,255,.09)}
.bg-dark a.card:hover .card-ico,.bg-primary a.card:hover .card-ico{background:var(--accent);color:#fff}
.cs-solid .card{text-align:center;align-items:center}
.bg-white .cs-solid .card,.bg-soft .cs-solid .card{background:var(--primary);color:#fff;border-color:transparent;--ink-2:rgba(255,255,255,.72)}
.bg-white .cs-solid .card-ico,.bg-soft .cs-solid .card-ico{background:rgba(255,255,255,.08)}

/* ---------------------------------------------------------------- 숫자 */
.stats{display:grid;grid-template-columns:repeat(4,1fr)}
.stats.cols-2{grid-template-columns:repeat(2,1fr)}.stats.cols-3{grid-template-columns:repeat(3,1fr)}
.stat{text-align:center;padding:12px 16px;position:relative}
.stat+.stat::before{content:"";position:absolute;left:0;top:18%;bottom:18%;width:1px;background:var(--line-2)}
.stat-v{font-family:var(--f-head);font-size:clamp(34px,4vw,50px);font-weight:700;color:var(--primary);line-height:1.1;letter-spacing:-.03em}
.bg-dark .stat-v,.bg-primary .stat-v{color:#fff}
.stat-v small{font-size:.48em;margin-left:3px;color:var(--accent);font-weight:700}
.stat-l{margin-top:10px;color:var(--ink-2);font-size:14.5px;font-weight:500}

/* ---------------------------------------------------------------- 변호사 소개 / 인사말 */
.profile,.greet{display:grid;grid-template-columns:5fr 7fr;gap:clamp(40px,6vw,90px);align-items:start}
.frame{position:relative;aspect-ratio:4/5;border-radius:var(--radius)}
.frame::before{content:"";position:absolute;inset:22px -22px -22px 22px;border:1px solid var(--accent);border-radius:var(--radius);z-index:0}
.frame img,.frame .photo-ph{position:relative;z-index:1;width:100%;height:100%;object-fit:cover;border-radius:var(--radius)}
.photo-ph{display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(160deg,var(--primary),var(--primary-2));color:#fff}
.photo-ph span{font-family:var(--f-head);font-size:120px;line-height:1;color:var(--accent);font-weight:700}
.photo-ph small{margin-top:20px;font-size:10.5px;letter-spacing:.3em;opacity:.6}
.profile-photo,.greet-photo{position:sticky;top:calc(var(--hd-h) + 80px);padding-right:22px;padding-bottom:22px}
.profile-name{font-size:clamp(34px,4vw,48px);display:flex;flex-direction:column;gap:6px}
.profile-name small{font-family:var(--f-body);font-size:15px;color:var(--accent);font-weight:700;letter-spacing:.04em}
.profile-name em{font-style:normal;font-size:.5em;color:var(--ink-3);font-weight:600;margin-left:4px}
.profile-tag{margin-top:18px;font-size:19px;font-weight:600;color:var(--primary);padding-left:16px;border-left:3px solid var(--accent);line-height:1.6}
.bg-dark .profile-tag,.bg-primary .profile-tag{color:#fff}
.profile .prose{margin-top:24px}
.profile-lists{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:40px;padding-top:36px;border-top:1px solid var(--line)}
.profile-lists h3{font-family:var(--f-body);font-size:14px;letter-spacing:.12em;color:var(--accent);margin-bottom:14px}
.profile-lists li{position:relative;padding:7px 0 7px 16px;font-size:15.5px;color:var(--ink-2);border-bottom:1px dashed var(--line)}
.profile-lists li::before{content:"";position:absolute;left:0;top:18px;width:6px;height:1px;background:var(--accent)}
.greet .sec-head{margin-bottom:30px}
.sign{margin-top:40px;text-align:right;font-family:var(--f-head);font-size:22px;font-weight:700;color:var(--primary)}
.bg-dark .sign,.bg-primary .sign{color:#fff}
.sign::before{content:"";display:inline-block;width:40px;height:1px;background:var(--accent);vertical-align:middle;margin-right:14px}

/* ---------------------------------------------------------------- 실적 */
.achv{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.achv.n-1{grid-template-columns:1fr;max-width:640px;margin:0 auto}.achv.n-2,.achv.n-4{grid-template-columns:repeat(2,1fr)}
.achv-item{background:#fff;padding:32px 30px;border-radius:var(--radius);border:1px solid var(--line);position:relative;transition:transform .3s,box-shadow .3s}
.bg-soft .achv-item{border-color:transparent}
.achv-item:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.achv-no{font-family:var(--f-head);font-size:44px;font-weight:700;line-height:1;color:transparent;-webkit-text-stroke:1px var(--accent);display:block;margin-bottom:18px}
.achv-item h3{font-size:18px;font-family:var(--f-body);font-weight:700;color:var(--ink)}
.achv-item p{margin-top:8px;font-size:14.5px;color:var(--ink-2)}
.bg-dark .achv-item,.bg-primary .achv-item{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.12)}
.bg-dark .achv-item h3,.bg-primary .achv-item h3{color:#fff}

/* ---------------------------------------------------------------- 절차 */
.steps{display:grid;grid-template-columns:repeat(var(--n,4),1fr);gap:0;counter-reset:s;position:relative}
.steps.n-3{--n:3}.steps.n-4{--n:4}.steps.n-5{--n:5}.steps.n-6{--n:6}
.step{position:relative;padding:0 18px;text-align:center}
.step::before{content:"";position:absolute;top:34px;left:50%;right:-50%;height:1px;background:var(--line-2)}
.step:last-child::before{display:none}
.step-no{position:relative;z-index:1;display:inline-grid;place-items:center;width:68px;height:68px;border-radius:50%;background:#fff;border:1px solid var(--accent);color:var(--accent);font-size:11px;font-weight:800;letter-spacing:.06em;line-height:1.1;padding:0 8px;text-align:center}
.bg-soft .step-no{background:var(--soft)}
.bg-dark .step-no,.bg-primary .step-no{background:var(--primary-2)}
.step:hover .step-no{background:var(--accent);color:#fff}
.step h3{margin-top:20px;font-size:18.5px}
.step p{margin-top:8px;font-size:14.5px;color:var(--ink-2)}

/* ---------------------------------------------------------------- 체크리스트 */
.checks{display:grid;gap:12px}
.checks.cols-2{grid-template-columns:1fr 1fr}
.checks li{display:flex;gap:14px;align-items:flex-start;padding:20px 22px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);font-size:16px;font-weight:550}
.bg-soft .checks li{border-color:transparent}
.checks .ico{flex:none;width:26px;height:26px;padding:5px;border-radius:50%;background:var(--accent);color:#fff;stroke-width:2.6;margin-top:1px}
.bg-dark .checks li,.bg-primary .checks li{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.12)}

/* ---------------------------------------------------------------- FAQ */
.faq{border-top:2px solid var(--primary)}
.bg-dark .faq,.bg-primary .faq{border-color:var(--accent)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{display:flex;align-items:center;gap:16px;padding:24px 6px;cursor:pointer;list-style:none;font-size:17.5px;font-weight:650}
.faq summary::-webkit-details-marker{display:none}
.faq .q{flex:none;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--primary);color:#fff;font-family:var(--f-head);font-size:15px}
.bg-dark .faq .q,.bg-primary .faq .q{background:var(--accent)}
.faq .chev{margin-left:auto;color:var(--ink-3);transition:transform .3s}
.faq details[open] .chev{transform:rotate(180deg);color:var(--accent)}
.faq .a{padding:0 6px 26px 56px;color:var(--ink-2);font-size:16px;line-height:1.85}

/* ---------------------------------------------------------------- 홍보 배너 */
.promo{display:grid;grid-template-columns:1.25fr 1fr;gap:clamp(36px,5vw,80px);align-items:center}
.promo-badge{display:inline-block;padding:7px 16px;border-radius:999px;background:var(--accent);color:#fff;font-size:13px;font-weight:750;letter-spacing:.02em;margin-bottom:22px}
.promo h2{font-size:clamp(28px,3.6vw,46px);line-height:1.35}
.promo-copy p{margin-top:22px;font-size:17px;color:var(--ink-2);line-height:1.8}
.promo-side{background:#fff;color:var(--ink);padding:36px;border-radius:calc(var(--radius) + 6px);box-shadow:0 30px 60px -30px rgba(0,0,0,.45)}
.promo-side ul{margin-bottom:26px}
.promo-side li{display:flex;gap:12px;align-items:center;padding:14px 0;border-bottom:1px solid #ece8e0;font-weight:650;font-size:16.5px}
.promo-side li:last-child{border:0}
.promo-side .ico{flex:none;width:24px;height:24px;padding:4px;border-radius:50%;background:var(--accent);color:#fff;stroke-width:2.6}
.promo-note{margin-top:12px;font-size:13px;color:#7c8292;text-align:center}
.bg-white .promo-side,.bg-soft .promo-side{border:1px solid var(--line)}

/* ---------------------------------------------------------------- CTA */
.cta{display:flex;align-items:center;justify-content:space-between;gap:30px;flex-wrap:wrap}
.cta h2{font-size:clamp(24px,2.8vw,34px)}
.cta-copy p{margin-top:10px;color:var(--ink-2);font-size:16.5px}
.cta-btns{display:flex;flex-wrap:wrap;gap:10px}
.blk-cta.bg-primary,.blk-cta.bg-dark{background-image:repeating-linear-gradient(115deg,transparent 0 90px,rgba(255,255,255,.04) 90px 91px)}

/* ---------------------------------------------------------------- 오시는 길 */
.contact{display:grid;grid-template-columns:1.35fr 1fr;gap:40px;align-items:stretch}
.map-frame{height:100%;min-height:440px;border-radius:var(--radius);overflow:hidden;background:var(--soft);border:1px solid var(--line)}
.map-frame iframe{width:100%;height:100%;min-height:440px;border:0;display:block}
.contact-info dl{margin:0}
.contact-info dl>div{display:grid;grid-template-columns:110px 1fr;gap:12px;align-items:start;padding:20px 0;border-bottom:1px solid var(--line)}
.contact-info dl>div:first-child{border-top:2px solid var(--primary);padding-top:22px}
.contact-info dt{display:flex;gap:8px;align-items:center;font-weight:700;font-size:15px;color:var(--primary)}
.bg-dark .contact-info dt,.bg-primary .contact-info dt{color:var(--accent)}
.contact-info dt .ico{width:18px;height:18px;color:var(--accent)}
.contact-info dd{margin:0;font-size:15.5px;color:var(--ink-2)}
.contact-info dd strong{display:block;color:var(--ink);font-weight:650}
.bg-dark .contact-info dd strong,.bg-primary .contact-info dd strong{color:#fff}
.contact-info dd small{display:block;margin-top:4px;color:var(--ink-3);font-size:13.5px}
.contact-info .big{font-family:var(--f-head);font-size:24px;font-weight:700;color:var(--primary)}
.bg-dark .contact-info .big,.bg-primary .contact-info .big{color:#fff}
.transport li{padding:2px 0}
.copy{margin-top:10px;display:inline-flex;gap:6px;align-items:center;padding:6px 12px;border:1px solid var(--line-2);border-radius:var(--radius);background:none;font-size:12.5px;color:var(--ink-2)}
.copy .ico{width:14px;height:14px}
.map-btns{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:24px}

/* ---------------------------------------------------------------- 게시판 */
.board{max-width:1100px;margin:0 auto}
.board-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:40px 0 16px}
.board>.board-head:first-child{margin-top:0}
.board-count{font-size:15.5px;color:var(--ink-2)}
.board-count strong{font-family:var(--f-head);font-size:26px;color:var(--accent);margin:0 2px;font-weight:700}
.blist{border-top:2px solid var(--primary)}
.bg-dark .blist,.bg-primary .blist{border-color:var(--accent)}
.blist li{display:grid;align-items:center;gap:12px;padding:16px 12px;border-bottom:1px solid var(--line);font-size:15px}
.blist.is-qna li{grid-template-columns:64px 110px 1fr 90px 110px 90px}
.blist.is-apply li{grid-template-columns:64px 120px 1fr 110px 90px}
.blist .blist-th{font-weight:700;font-size:14px;color:var(--ink-3);background:var(--soft);padding:13px 12px}
.bg-soft .blist .blist-th{background:#fff}
.bg-dark .blist .blist-th,.bg-primary .blist .blist-th{background:rgba(255,255,255,.05)}
.blist li>span,.blist li>a{min-width:0}
.c-no,.c-date,.c-status,.c-name,.c-cat{text-align:center;color:var(--ink-3)}
.c-cat{font-size:13.5px}
.c-title{display:flex;align-items:center;gap:8px;font-weight:550;color:var(--ink)}
.c-title span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bg-dark .c-title,.bg-primary .c-title{color:#fff}
a.c-title:hover span{text-decoration:underline;text-underline-offset:3px;color:var(--primary)}
.c-title .lock{width:15px;height:15px;color:var(--accent);flex:none}
.re{flex:none;font-style:normal;font-size:11.5px;font-weight:700;padding:2px 8px;border-radius:999px;background:var(--primary);color:#fff}
.blist-th .c-title{justify-content:center;color:var(--ink-3)}
.badge{display:inline-block;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:700;white-space:nowrap}
.st-new{background:#fff3e0;color:#b45309}.st-ing{background:#e6f0ff;color:#1d4ed8}.st-done{background:#e5f6ec;color:#0f7a3d}.st-hold{background:#f1f2f4;color:#6b7280}
.board-empty{padding:60px 20px;text-align:center;color:var(--ink-3);border-top:2px solid var(--primary);border-bottom:1px solid var(--line)}
.board-more{text-align:center;margin-top:28px}
.board-more a{display:inline-flex;align-items:center;gap:6px;font-weight:700;color:var(--primary);padding:12px 22px;border:1px solid var(--line-2);border-radius:999px}
.bg-dark .board-more a,.bg-primary .board-more a{color:#fff}
.board-more .ico{width:16px;height:16px}
.pager{display:flex;justify-content:center;gap:6px;margin-top:36px;flex-wrap:wrap}
.pager a,.pager strong{min-width:40px;height:40px;display:grid;place-items:center;border-radius:var(--radius);border:1px solid var(--line);font-size:14.5px;padding:0 10px}
.pager strong{background:var(--primary);color:#fff;border-color:var(--primary)}
.pager a:hover{border-color:var(--primary)}
/* 신청 폼 */
.bform{background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:calc(var(--radius) + 6px);padding:clamp(24px,4vw,48px);box-shadow:0 30px 70px -45px rgba(16,24,40,.35);--ink-2:#4b5262;--ink-3:#7c8292;--line:#e6e2da;--line-2:#d6d1c6}
.fgrid{display:grid;grid-template-columns:1fr 1fr;gap:18px 20px}
.field{display:flex;flex-direction:column;gap:8px}
.field.span2{grid-column:1/-1}
.lbl{font-size:14.5px;font-weight:700;color:var(--ink)}
.lbl b{color:#d14343}
.lbl small{font-weight:500;color:var(--ink-3)}
.field input,.field select,.field textarea,.unlock input{width:100%;font:inherit;font-size:16px;padding:14px 16px;border:1px solid var(--line-2);border-radius:var(--radius);background:#fff;color:var(--ink);transition:border-color .2s,box-shadow .2s;-webkit-appearance:none;appearance:none}
.field select{background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%237c8292' stroke-width='1.6' fill='none'/%3E%3C/svg%3E") no-repeat right 16px center;padding-right:40px}
.field textarea{resize:vertical;min-height:170px;line-height:1.7}
.field input:focus,.field select:focus,.field textarea:focus,.unlock input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 18%,transparent)}
.check{display:flex;gap:10px;align-items:flex-start;cursor:pointer;font-size:15px;margin-top:16px}
.check input{width:20px;height:20px;margin:2px 0 0;accent-color:var(--primary);flex:none}
.check .ico{width:16px;height:16px;vertical-align:-2px;color:var(--accent)}
.check small{color:var(--ink-3)}
.secret{padding:14px 16px;background:var(--soft);border-radius:var(--radius)}
.consent{margin-top:26px;padding-top:24px;border-top:1px solid var(--line)}
.consent-title{font-weight:700;font-size:15px;margin-bottom:10px}
.consent-title b{color:#d14343}
.consent-box{max-height:140px;overflow-y:auto;padding:16px 18px;background:#f8f7f4;border:1px solid var(--line);border-radius:var(--radius);font-size:13.5px;line-height:1.8;color:var(--ink-2)}
.consent .check{padding:14px 16px;border:1px solid var(--line-2);border-radius:var(--radius);background:#fff}
.consent .check:has(input:checked){border-color:var(--primary);background:var(--primary-l)}
.consent-link{margin-top:8px;font-size:13px}.consent-link a{color:var(--ink-3);text-decoration:underline}
.form-actions{display:flex;justify-content:center;gap:10px;margin-top:30px;flex-wrap:wrap}
.form-actions .btn-lg{min-width:260px}
.alert{padding:16px 20px;border-radius:var(--radius);margin-bottom:22px;font-size:14.5px}
.alert-err{background:#fdeeee;color:#a12a2a;border:1px solid #f5c9c9}
.alert-err ul{margin-top:6px;padding-left:18px;list-style:disc}
.board #apply+.bform{margin-bottom:60px}
/* 글 보기 */
.post{background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:calc(var(--radius) + 6px);overflow:hidden}
.post-head{padding:30px clamp(20px,4vw,40px);border-bottom:1px solid var(--line);background:var(--soft)}
.post-cat{font-size:13px;color:var(--accent);font-weight:700}
.post-head h3{margin-top:8px;font-size:clamp(20px,2.4vw,26px)}
.post-meta{display:flex;gap:14px;align-items:center;margin-top:12px;font-size:14px;color:var(--ink-3);flex-wrap:wrap}
.post-body{padding:34px clamp(20px,4vw,40px);font-size:16.5px;line-height:1.9;min-height:140px}
.answer{margin:0 clamp(16px,4vw,40px) 30px;border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:var(--radius);padding:26px 28px;background:#fcfbf8}
.answer-head{display:flex;gap:14px;align-items:center;margin-bottom:16px}
.answer-head img,.answer-mono{width:52px;height:52px;border-radius:50%;object-fit:cover;flex:none}
.answer-mono{display:grid;place-items:center;background:var(--primary);color:var(--accent);font-family:var(--f-head);font-size:22px;font-weight:700}
.answer-head strong{display:block;font-size:16px}.answer-head small{color:var(--ink-3);font-size:13px}
.answer-body{font-size:16px;line-height:1.9;color:var(--ink-2)}
.answer-body p+p{margin-top:.8em}
.answer-note{margin-top:18px;font-size:12.5px;color:var(--ink-3)}
.answer-wait{display:flex;gap:12px;align-items:center;margin:0 clamp(16px,4vw,40px) 30px;padding:20px 24px;background:var(--soft);border-radius:var(--radius);color:var(--ink-2);font-size:15px}
.answer-wait .ico{color:var(--accent);width:24px;height:24px}
.post .form-actions{padding:0 20px 30px}
.unlock{max-width:460px;margin:0 auto;text-align:center;padding:50px 30px;background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:calc(var(--radius) + 6px)}
.unlock .big{width:54px;height:54px;color:var(--accent)}
.unlock h3{margin-top:14px;font-size:22px}.unlock p{margin:8px 0 22px;color:var(--ink-2)}
.unlock-row{display:flex;gap:8px}.unlock-row .btn{flex:none}

/* ---------------------------------------------------------------- 바로가기 / 전화 / 카카오 / 인용 */
.linkbox{text-align:center}
.linkbox .eyebrow::after{content:"";width:26px;height:1px;background:currentColor}
.linkbox .btn{margin-top:34px}
.linkbox .btn .ico{width:20px;height:20px}
.phonebox{display:grid;grid-template-columns:1.2fr 1fr;gap:clamp(36px,5vw,80px);align-items:center}
.phone-big{display:inline-flex;align-items:center;gap:16px;margin-top:30px;font-family:var(--f-head);font-size:clamp(36px,5vw,58px);font-weight:700;color:var(--primary);letter-spacing:-.01em;line-height:1}
.phone-big .ico{width:.9em;height:.9em;padding:.16em;border-radius:50%;background:var(--accent);color:#fff}
.bg-dark .phone-big,.bg-primary .phone-big{color:#fff}
.phone-sub{margin-top:16px;color:var(--ink-2)}.phone-sub a{font-weight:700;color:var(--primary);text-decoration:underline}
.phone-hours{display:flex;gap:10px;margin-top:20px;padding:16px 20px;background:var(--soft);border-radius:var(--radius);font-weight:600;line-height:1.6}
.phone-hours .ico{color:var(--accent);margin-top:3px}
.phone-hours small{font-weight:500;color:var(--ink-3)}
.phone-tips{background:var(--primary);color:#fff;padding:40px;border-radius:calc(var(--radius) + 6px)}
.phone-tips h3{font-size:20px;margin-bottom:20px}
.phone-tips ol{counter-reset:t}
.phone-tips li{counter-increment:t;display:flex;gap:14px;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.12);font-size:15.5px;color:rgba(255,255,255,.85)}
.phone-tips li:last-child{border:0}
.phone-tips li::before{content:counter(t,decimal-leading-zero);font-family:var(--f-head);color:var(--accent);font-weight:700;flex:none}
.kakaobox{display:grid;grid-template-columns:1.3fr 1fr;gap:clamp(36px,5vw,80px);align-items:center}
.kakao-steps{counter-reset:k;margin:26px 0 32px}
.kakao-steps li{counter-increment:k;display:flex;gap:14px;align-items:flex-start;padding:10px 0;font-size:16px;color:var(--ink-2)}
.kakao-steps li::before{content:counter(k);flex:none;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#fee500;color:#191919;font-weight:800;font-size:14px}
.kakao-id{margin-top:16px;color:var(--ink-2)}
.kakao-qr{text-align:center;background:var(--soft);padding:40px;border-radius:calc(var(--radius) + 8px)}
.qr{width:200px;height:200px;margin:0 auto 20px;background:#fff;padding:14px;border-radius:12px;display:grid;place-items:center;box-shadow:0 10px 30px -15px rgba(0,0,0,.3)}
.qr img,.qr canvas{width:100%!important;height:auto!important}
.qr-empty .ico{width:70px;height:70px;color:#191919;opacity:.25}
.kakao-qr p{font-size:14px;color:var(--ink-2)}
.quote{text-align:center}
.qmark{width:46px;height:46px;color:var(--accent);margin:0 auto 20px}
.quote blockquote{margin:0;font-family:var(--f-head);font-size:clamp(22px,2.8vw,32px);line-height:1.6;font-weight:600}
.quote-by{margin-top:20px;color:var(--ink-3)}
.html-blk iframe{max-width:100%}
.ph-art{width:100%;aspect-ratio:4/3;border-radius:var(--radius);overflow:hidden}
.ph-art svg{width:100%;height:100%;display:block}
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,90px);align-items:center}
.split.img-left .split-media{order:-1}
.split-media img{width:100%;border-radius:var(--radius);aspect-ratio:4/3;object-fit:cover}
.ticks{margin-top:26px}
.ticks li{display:flex;gap:12px;align-items:flex-start;padding:10px 0;font-weight:600;font-size:16px;border-bottom:1px dashed var(--line)}
.ticks .ico{flex:none;width:22px;height:22px;color:var(--accent);stroke-width:2.4;margin-top:2px}

/* ---------------------------------------------------------------- 푸터 */
.ft{background:#0c111d;color:rgba(255,255,255,.6);padding:72px 0 40px;font-size:14px}
.ft-top{display:grid;grid-template-columns:320px 1fr;gap:60px;padding-bottom:44px;border-bottom:1px solid rgba(255,255,255,.08)}
.ft .logo{color:#fff}
.ft-tag{margin-top:18px;line-height:1.7}
.ft-phone{display:block;margin-top:20px;font-family:var(--f-head);font-size:28px;color:#fff;font-weight:700}
.ft-hours{margin-top:4px;font-size:13px}
.ft-nav{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:24px}
.ft-nav p{color:#fff;font-weight:700;margin-bottom:14px;font-size:15px}
.ft-nav li{margin:7px 0}.ft-nav a:hover{color:var(--accent)}
.ft-bottom{padding-top:30px}
.ft-info{display:flex;flex-wrap:wrap;gap:4px 0;line-height:1.9}
.ft-info span:not(:last-child)::after{content:"";display:inline-block;width:1px;height:11px;background:rgba(255,255,255,.2);margin:0 12px;vertical-align:-1px}
.ft-links{display:flex;flex-wrap:wrap;gap:20px;margin-top:16px}
.ft-links strong{color:#fff}
.ft-admin{opacity:.35;margin-left:auto}
.ft-copy{margin-top:18px;font-size:12.5px;opacity:.6}

/* ---------------------------------------------------------------- 플로팅 / 모바일 바 */
.float{position:fixed;right:24px;bottom:28px;z-index:90;display:flex;flex-direction:column;gap:10px}
.fl{width:68px;height:68px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border:0;box-shadow:0 12px 30px -10px rgba(16,24,40,.4);font-size:11px;font-weight:700;transition:transform .25s}
.fl .ico{width:24px;height:24px}
.fl:hover{transform:translateY(-3px) scale(1.04)}
.fl-kakao{background:#fee500;color:#191919}
.fl-call{background:var(--primary);color:#fff}
.fl-write{background:var(--accent);color:#fff}
.fl-top{background:#fff;color:var(--ink);width:52px;height:52px;margin:4px auto 0;opacity:0;pointer-events:none;transition:opacity .3s}
.fl-top.show{opacity:1;pointer-events:auto}
.mbar{display:none}
.toast{position:fixed;top:calc(var(--hd-h) + 16px);left:50%;transform:translateX(-50%);z-index:150;display:flex;gap:12px;align-items:center;max-width:calc(100% - 32px);width:560px;padding:16px 18px;border-radius:10px;background:#0f7a3d;color:#fff;box-shadow:var(--shadow);font-weight:600;font-size:15px;animation:toastIn .5s var(--ease)}
.toast .ico{flex:none;width:22px;height:22px}
.toast button{margin-left:auto;background:none;border:0;color:#fff;opacity:.8;flex:none;padding:4px}
.toast.hide{opacity:0;transform:translate(-50%,-20px);transition:.4s}
@keyframes toastIn{from{opacity:0;transform:translate(-50%,-20px)}}
.admin-bar{position:fixed;left:16px;bottom:16px;z-index:95;display:flex;gap:2px;background:#111;border-radius:999px;padding:4px;box-shadow:0 10px 30px rgba(0,0,0,.3)}
.admin-bar a{color:#fff;font-size:13px;padding:8px 14px;border-radius:999px;display:flex;gap:6px;align-items:center}
.admin-bar a:first-child{background:var(--accent)}
.admin-bar .ico{width:15px;height:15px}

/* =================================================================== 반응형 */
@media (max-width:1280px){
  .gnb>ul>li>a{padding:0 14px}.gnb>ul>li>a::after{left:14px;right:14px}
  .hero-inner{grid-template-columns:1fr 340px;gap:40px}
}
@media (max-width:1100px){
  :root{--hd-h:68px}
  .gnb,.hd-call{display:none}
  .hd-burger{display:block}
  .logo-txt strong{font-size:19px}.logo-mark{width:40px;height:40px}
  .float{display:none}
  .mbar{display:grid;grid-template-columns:repeat(4,1fr);position:fixed;left:0;right:0;bottom:0;z-index:90;background:#fff;border-top:1px solid var(--line);box-shadow:0 -8px 30px -12px rgba(16,24,40,.2);padding-bottom:env(safe-area-inset-bottom)}
  .mbar a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;height:62px;font-size:12px;font-weight:650;color:var(--ink-2)}
  .mbar .ico{width:22px;height:22px;color:var(--primary)}
  .mbar a.k .ico{color:#191919;background:#fee500;border-radius:50%;padding:3px;width:26px;height:26px}
  .mbar a.c{background:var(--primary);color:#fff}.mbar a.c .ico{color:var(--accent)}
  body{padding-bottom:calc(62px + env(safe-area-inset-bottom))}
  .admin-bar{bottom:78px}
  .hero-inner{grid-template-columns:1fr;gap:40px;padding-bottom:110px}
  .quick{max-width:560px}
  .cards.cols-4{grid-template-columns:repeat(2,1fr)}
  .achv{grid-template-columns:repeat(2,1fr)}
  .steps{grid-template-columns:repeat(3,1fr);row-gap:40px}
  .contact,.promo,.phonebox,.kakaobox{grid-template-columns:1fr}
  .ft-top{grid-template-columns:1fr;gap:40px}
  .blist.is-qna li{grid-template-columns:56px 90px 1fr 80px 100px 84px}
}
@media (max-width:860px){
  .cards.cols-3{grid-template-columns:repeat(2,1fr)}
  .profile,.greet,.split{grid-template-columns:1fr}
  .profile-photo,.greet-photo{position:relative;top:0;max-width:420px;margin:0 auto}
  .split.img-left .split-media{order:0}
  .stats{grid-template-columns:repeat(2,1fr)!important;row-gap:24px}
  .stat:nth-child(3)::before{display:none}
  /* 게시판 모바일 카드형 */
  .blist .blist-th{display:none}
  .blist li,.blist.is-qna li,.blist.is-apply li{grid-template-columns:auto 1fr auto;grid-template-areas:"title title status" "no meta date";gap:6px 10px;padding:16px 4px}
  .blist .c-title{grid-area:title;font-size:15.5px}
  .blist .c-status{grid-area:status;text-align:right}
  .blist .c-no{grid-area:no;text-align:left;font-size:12.5px}
  .blist .c-no::before{content:"No."}
  .blist .c-cat,.blist .c-name{grid-area:meta;text-align:left;font-size:13px}
  .blist.is-qna .c-cat{display:none}
  .blist .c-date{grid-area:date;text-align:right;font-size:12.5px}
}
@media (max-width:640px){
  body{font-size:15.5px}
  .wrap{padding:0 18px}
  .hero.h-full{min-height:auto}
  .hero-inner{padding-top:calc(var(--hd-h) + 56px);padding-bottom:70px}
  .hero h1{font-size:clamp(30px,8.4vw,40px)}
  .hero-btns{margin-top:30px}.hero-btns .btn{flex:1 1 100%}
  .hero-scroll{display:none}
  .quick{padding:22px}
  .quick-phone{font-size:28px}
  .cards.cols-2,.cards.cols-3,.cards.cols-4{grid-template-columns:1fr}
  .cards.cols-4.cs-solid{grid-template-columns:1fr 1fr;gap:10px}
  .cards.cols-4.cs-solid .card{padding:24px 14px}
  .cards.cols-4.cs-solid .card h3{font-size:17px}
  .cards.cols-4.cs-solid .card p{font-size:13px}
  .cards.cols-4.cs-solid .card-more{display:none}
  .card{padding:28px 24px;flex-direction:row;flex-wrap:wrap;column-gap:18px;align-items:flex-start}
  .cs-solid .card{flex-direction:column;flex-wrap:nowrap;align-items:center}
  .card-ico{margin-bottom:0;width:50px;height:50px}
  .cs-solid .card-ico{margin-bottom:14px}
  .card h3{flex:1;align-self:center;font-size:18.5px}
  .card p{flex-basis:100%;margin-top:14px}
  .cs-solid .card p{margin-top:6px}
  .card-more{padding-top:14px}
  .achv,.achv.n-2,.achv.n-4{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr;row-gap:0;text-align:left}
  .step{display:grid;grid-template-columns:56px 1fr;column-gap:18px;padding:0 0 28px;text-align:left}
  .step::before{top:56px;bottom:0;left:28px;right:auto;width:1px;height:auto}
  .step-no{width:56px;height:56px;font-size:9.5px;grid-row:span 2}
  .step h3{margin-top:4px;font-size:17.5px}
  .step p{margin-top:2px}
  .checks.cols-2{grid-template-columns:1fr}
  .checks li{padding:16px 18px;font-size:15.5px}
  .faq summary{font-size:16px;padding:20px 2px;gap:12px}
  .faq .q{width:30px;height:30px;font-size:14px}
  .faq .a{padding:0 2px 22px 44px;font-size:15px}
  .profile-lists{grid-template-columns:1fr;gap:24px}
  .frame::before{inset:14px -14px -14px 14px}
  .profile-photo,.greet-photo{padding-right:14px;padding-bottom:14px}
  .prose{font-size:16px}
  .promo-side{padding:26px 22px}
  .cta{flex-direction:column;align-items:stretch;text-align:center}
  .cta-btns{flex-direction:column}
  .cta-btns .btn{width:100%}
  .contact-info dl>div{grid-template-columns:1fr;gap:6px}
  .map-frame,.map-frame iframe{min-height:300px}
  .fgrid{grid-template-columns:1fr}
  .form-actions .btn{flex:1 1 100%}
  .form-actions .btn-lg{min-width:0}
  .board-head{margin-top:30px}
  .board-head .btn{min-height:44px;padding:0 16px;font-size:14.5px}
  .sv-in{padding:46px 18px 42px}
  .lnb ul{justify-content:flex-start}
  .lnb a{padding:15px 16px;font-size:14.5px}.lnb a::after{left:16px;right:16px}
  .phone-tips,.kakao-qr{padding:28px 22px}
  .linkbox .btn-xl{width:100%;padding:0 20px;font-size:16.5px;white-space:normal;text-align:center}
  .ft{padding:52px 0 30px}
  .ft-nav{grid-template-columns:repeat(2,1fr)}
  .ft-info{flex-direction:column}
  .ft-info span::after{display:none!important}
  .ft-admin{margin-left:0}
  .toast{top:calc(var(--hd-h) + 10px);font-size:14px}
  .unlock-row{flex-direction:column}
}
@supports not (color:color-mix(in srgb,red,blue)){
  .hero-bg{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-2) 100%)}
}

.in-frame .admin-bar{display:none}
