/* ═══════════════════════════════════════════════════════════
   공인회계사 손슬기 — 공통 스타일시트
   감사보고서 미학: 종이·먹·감청·인주
   ═══════════════════════════════════════════════════════════ */

:root{
  --paper:#FBFBF8;
  --paper-deep:#F2F3EF;
  --ink:#1B2434;
  --blue:#27497A;
  --blue-soft:#3D6099;
  --inju:#BE3A2B;
  --green:#2E6B54;
  --rule:#D9DBD4;
  --muted:#5C6572;
  --serif:'Noto Serif KR', serif;
  --sans:'Pretendard Variable', Pretendard, -apple-system, sans-serif;
  --mono:'IBM Plex Mono', monospace;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  background:var(--paper);
  color:var(--ink);
  font-family:var(--sans);
  font-size:16px;
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
}
::selection{background:var(--blue);color:#fff}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto}
.wrap{max-width:1080px;margin:0 auto;padding:0 24px}
.wrap-narrow{max-width:720px;margin:0 auto;padding:0 24px}

/* ───── 카테고리 색상 유틸 ───── */
.c-settlement{color:var(--inju)}
.c-tax{color:var(--blue)}
.c-accounting{color:var(--green)}
.c-notice{color:var(--ink)}
.bg-settlement{background:var(--inju)}
.bg-tax{background:var(--blue)}
.bg-accounting{background:var(--green)}
.bg-notice{background:var(--ink)}

/* ───── header ───── */
header.site{
  position:sticky;top:0;z-index:50;
  background:rgba(251,251,248,.92);
  backdrop-filter:blur(8px);
  border-bottom:1px solid var(--rule);
}
.nav{display:flex;align-items:center;justify-content:space-between;height:64px}
.brand{display:flex;align-items:baseline;gap:10px}
.brand-name{font-family:var(--serif);font-weight:900;font-size:1.15rem;letter-spacing:.02em}
.brand-sub{font-size:.72rem;color:var(--muted);letter-spacing:.16em}
.menu{display:flex;gap:28px;font-size:.9rem;font-weight:500}
.menu a{position:relative;padding:4px 0;color:var(--muted);transition:color .2s}
.menu a:hover,.menu a:focus-visible{color:var(--blue)}
.menu a[aria-current="page"]{color:var(--ink)}
.menu a::after{content:'';position:absolute;left:0;bottom:0;width:0;height:2px;background:var(--blue);transition:width .25s}
.menu a:hover::after,.menu a[aria-current="page"]::after{width:100%}
.menu .cta{color:var(--inju);font-weight:600}
.menu .cta:hover{color:var(--inju)}
.menu .cta::after{background:var(--inju)}
@media(max-width:720px){.menu{gap:16px;font-size:.82rem}.menu a{padding:2px 0}.brand-sub{display:none}}

/* ───── hero (홈) ───── */
.hero{padding:72px 0 88px;position:relative;overflow:hidden}
.doc-meta{
  display:flex;justify-content:space-between;align-items:baseline;
  font-family:var(--mono);font-size:.78rem;color:var(--muted);
  border-top:2px solid var(--ink);
  padding-top:12px;margin-bottom:44px;
}
.hero h1{
  font-family:var(--serif);font-weight:900;
  font-size:clamp(2rem,5.4vw,3.6rem);
  line-height:1.35;letter-spacing:-.01em;
  max-width:19em;
}
.hero h1 em{font-style:normal;color:var(--blue)}
.hero h1 .no{font-style:normal;color:var(--inju)}
.hero-body{margin-top:28px;max-width:34em;color:var(--muted);font-size:1.02rem}
.hero-actions{margin-top:40px;display:flex;gap:14px;flex-wrap:wrap}
.btn{
  display:inline-block;padding:14px 30px;font-size:.95rem;font-weight:600;
  border:1.5px solid var(--ink);transition:all .2s;cursor:pointer;
}
.btn-primary{background:var(--ink);color:var(--paper)}
.btn-primary:hover{background:var(--blue);border-color:var(--blue)}
.btn-ghost:hover{background:var(--ink);color:var(--paper)}

/* 직인 시그니처 */
.seal{position:absolute;right:4%;top:120px;width:168px;height:168px;pointer-events:none;opacity:.92;transform:rotate(8deg)}
.seal svg{width:100%;height:100%;filter:drop-shadow(0 1px 0 rgba(190,58,43,.15))}
@keyframes stamp{
  0%{transform:rotate(14deg) scale(1.5);opacity:0}
  60%{transform:rotate(8deg) scale(.96);opacity:.95}
  100%{transform:rotate(8deg) scale(1);opacity:.92}
}
.seal.stamped{animation:stamp .5s cubic-bezier(.2,.9,.3,1.2) both;animation-delay:.5s}
@media(prefers-reduced-motion:reduce){.seal.stamped{animation:none}}
@media(max-width:900px){.seal{width:120px;height:120px;right:2%;top:auto;bottom:24px}}

/* ───── 프로필 블록 (홈/소개) ───── */
.profile{display:grid;grid-template-columns:180px 1fr;gap:40px;align-items:start}
.profile-photo{
  width:180px;height:220px;background:var(--paper-deep) center/cover no-repeat;
  border:1px solid var(--rule);display:flex;align-items:center;justify-content:center;
  font-family:var(--mono);font-size:.72rem;color:var(--muted);text-align:center;
}
.profile-body h2{font-family:var(--serif);font-size:1.8rem;font-weight:900;margin-bottom:6px}
.profile-body .role{font-family:var(--mono);font-size:.8rem;color:var(--blue);letter-spacing:.08em;margin-bottom:20px}
.profile-body p{color:var(--muted);margin-bottom:16px;max-width:40em}
.cred{list-style:none;font-size:.9rem;margin-top:8px}
.cred li{padding:8px 0;border-top:1px dashed var(--rule);display:flex;gap:14px}
.cred li b{font-family:var(--mono);font-size:.72rem;color:var(--muted);width:80px;flex-shrink:0;padding-top:3px;letter-spacing:.06em}
@media(max-width:640px){.profile{grid-template-columns:1fr;gap:24px}.profile-photo{width:140px;height:172px}}

/* ───── section 공통 ───── */
section{padding:88px 0;border-top:1px solid var(--rule)}
.sec-head{display:flex;align-items:baseline;gap:18px;margin-bottom:44px}
.sec-no{font-family:var(--mono);font-size:.8rem;color:var(--inju);letter-spacing:.1em}
.sec-title{font-family:var(--serif);font-weight:700;font-size:1.7rem}
.sec-desc{color:var(--muted);margin-top:-30px;margin-bottom:44px;max-width:36em}
.sec-more{display:block;margin-top:36px;font-family:var(--mono);font-size:.82rem;color:var(--blue)}
.sec-more:hover{color:var(--inju)}

/* ───── 전문분야 카드 ───── */
.svc{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--rule);border:1px solid var(--rule)}
.svc-item{background:var(--paper);padding:36px 28px;transition:background .25s}
.svc-item:hover{background:var(--paper-deep)}
.svc-item h3{font-family:var(--serif);font-size:1.15rem;font-weight:700;margin-bottom:14px}
.svc-item h3 span{display:block;font-family:var(--mono);font-size:.72rem;color:var(--blue);font-weight:400;letter-spacing:.08em;margin-bottom:8px}
.svc-item.spec{box-shadow:inset 0 3px 0 var(--inju)}
.svc-item.spec h3 span{color:var(--inju);font-weight:600}
.svc-item p{font-size:.92rem;color:var(--muted)}
.svc-item ul{margin-top:16px;list-style:none;font-size:.86rem}
.svc-item li{padding:7px 0;border-top:1px dashed var(--rule);color:var(--ink)}
.svc-item li::before{content:'·';color:var(--inju);margin-right:8px;font-weight:900}
@media(max-width:820px){.svc{grid-template-columns:1fr}}

/* ───── 원장(ledger) 테이블 ───── */
.ledger{width:100%;border-collapse:collapse;font-size:.94rem}
.ledger thead th{font-family:var(--mono);font-size:.72rem;font-weight:500;letter-spacing:.12em;color:var(--muted);text-align:left;padding:0 14px 12px;border-bottom:2px solid var(--ink)}
.ledger tbody td{padding:20px 14px;border-bottom:1px solid var(--rule);vertical-align:top}
.ledger tbody tr{transition:background .2s}
.ledger tbody tr:hover{background:var(--paper-deep)}
.ledger .l-year{font-family:var(--mono);font-size:.82rem;color:var(--blue);white-space:nowrap}
.ledger .l-name{font-weight:600}
.ledger .l-scope{color:var(--muted);font-size:.88rem}
.ledger-note{margin-top:16px;font-size:.8rem;color:var(--muted)}
@media(max-width:640px){
  .ledger thead{display:none}
  .ledger tbody td{display:block;padding:4px 0;border:0}
  .ledger tbody tr{display:block;padding:18px 0;border-bottom:1px solid var(--rule)}
}

/* ───── 글 카드 (post-card) ───── */
.post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--rule);border:1px solid var(--rule)}
.post-grid.cols-2{grid-template-columns:repeat(2,1fr)}
.pcard{background:var(--paper);padding:32px 28px;display:flex;flex-direction:column;transition:background .25s}
.pcard:hover{background:var(--paper-deep)}
.pcard .cat{font-family:var(--mono);font-size:.72rem;letter-spacing:.08em;font-weight:500;margin-bottom:14px}
.pcard h3{font-family:var(--serif);font-size:1.16rem;font-weight:700;line-height:1.45;margin-bottom:12px}
.pcard .summary{font-size:.9rem;color:var(--muted);flex-grow:1}
.pcard .pmeta{margin-top:20px;font-family:var(--mono);font-size:.74rem;color:var(--muted);display:flex;gap:12px;align-items:center}
.pcard .pmeta .dot{width:4px;height:4px;border-radius:50%;background:var(--rule)}
@media(max-width:820px){.post-grid,.post-grid.cols-2{grid-template-columns:1fr}}
/* 인사이트 그리드 영상 타일 (빈 칸 채움, 2칸 span) */
.pcard-video{grid-column:span 2;padding:0;overflow:hidden;background:var(--ink);min-height:220px}
.pcard-video video{width:100%;height:100%;object-fit:cover;display:block}
@media(max-width:820px){.pcard-video{grid-column:span 1;aspect-ratio:16/9;min-height:0}}

/* ───── 카테고리 탭 (인사이트 목록) ───── */
.tabs{display:flex;flex-wrap:wrap;gap:4px;border-bottom:2px solid var(--ink);margin-bottom:8px}
.tabs a{
  padding:12px 20px;font-size:.9rem;font-weight:600;color:var(--muted);
  border:1px solid var(--rule);border-bottom:0;background:var(--paper);
  position:relative;top:1px;transition:all .2s;
}
.tabs a:hover{color:var(--ink);background:var(--paper-deep)}
.tabs a[aria-current="page"]{color:var(--ink);border-color:var(--ink);border-bottom:2px solid var(--paper)}
.tab-desc{color:var(--muted);font-size:.92rem;margin:24px 0 40px;max-width:40em}

/* ───── 글 목록 (리스트형) ───── */
.post-list{list-style:none}
.post-list li{border-bottom:1px solid var(--rule);transition:background .2s}
.post-list li:hover{background:var(--paper-deep)}
.post-list a{display:grid;grid-template-columns:120px 1fr auto;gap:24px;align-items:baseline;padding:22px 8px}
.post-list .cat{font-family:var(--mono);font-size:.74rem;letter-spacing:.06em;font-weight:500}
.post-list .t{font-family:var(--serif);font-size:1.1rem;font-weight:700}
.post-list .t small{display:block;font-family:var(--sans);font-weight:400;font-size:.86rem;color:var(--muted);margin-top:6px}
.post-list .d{font-family:var(--mono);font-size:.76rem;color:var(--muted);white-space:nowrap}
@media(max-width:640px){
  .post-list a{grid-template-columns:1fr;gap:8px;padding:20px 4px}
  .post-list .d{order:3}
}

/* ───── 글 상세 (article) ───── */
.article-head{padding:64px 0 40px}
.article-head .amet{font-family:var(--mono);font-size:.78rem;color:var(--muted);display:flex;gap:14px;align-items:center;border-top:2px solid var(--ink);padding-top:12px;margin-bottom:28px}
.article-head h1{font-family:var(--serif);font-weight:900;font-size:clamp(1.7rem,4vw,2.6rem);line-height:1.4;letter-spacing:-.01em}
.article-head .summary{margin-top:22px;color:var(--muted);font-size:1.05rem;max-width:34em}
.article-tags{margin-top:22px;display:flex;flex-wrap:wrap;gap:8px}
.article-tags span{font-family:var(--mono);font-size:.72rem;color:var(--blue);border:1px solid var(--rule);padding:4px 10px}

.article-body{font-size:1.03rem;line-height:1.85;padding-bottom:32px}
.article-body > *+*{margin-top:1.3em}
.article-body h2{font-family:var(--serif);font-size:1.5rem;font-weight:700;margin-top:2.2em;padding-top:.6em;border-top:1px solid var(--rule)}
.article-body h3{font-family:var(--serif);font-size:1.2rem;font-weight:700;margin-top:1.8em}
.article-body p{color:var(--ink)}
.article-body a{color:var(--blue);border-bottom:1px solid var(--blue)}
.article-body a:hover{color:var(--inju);border-color:var(--inju)}
.article-body ul,.article-body ol{padding-left:1.3em}
.article-body li{margin:.5em 0}
.article-body li::marker{color:var(--inju)}
.article-body blockquote{border-left:3px solid var(--blue);background:var(--paper-deep);padding:16px 22px;color:var(--ink);font-size:.98rem}
.article-body blockquote p{margin:0}
.article-body code{font-family:var(--mono);font-size:.86em;background:var(--paper-deep);padding:2px 6px;border:1px solid var(--rule)}
.article-body pre{background:var(--ink);color:#EAECEF;padding:18px 20px;overflow-x:auto;font-family:var(--mono);font-size:.85rem;line-height:1.6}
.article-body pre code{background:none;border:0;padding:0;color:inherit}
.article-body table{width:100%;border-collapse:collapse;font-size:.92rem}
.article-body th{font-family:var(--mono);font-size:.74rem;letter-spacing:.06em;text-align:left;padding:10px 12px;border-bottom:2px solid var(--ink);color:var(--muted)}
.article-body td{padding:12px;border-bottom:1px solid var(--rule);vertical-align:top}
.article-body img{border:1px solid var(--rule)}
.article-body hr{border:0;border-top:1px solid var(--rule);margin:2.4em 0}
.callout{border:1px solid var(--rule);border-left:3px solid var(--inju);padding:18px 22px;background:var(--paper-deep);font-size:.95rem}

/* 글 하단 */
.article-foot{border-top:2px solid var(--ink);padding:36px 0 0;margin-top:24px}
.article-foot .cta-box{background:var(--paper-deep);border:1px solid var(--rule);padding:32px 28px;text-align:center}
.article-foot .cta-box h4{font-family:var(--serif);font-size:1.25rem;font-weight:700;margin-bottom:10px}
.article-foot .cta-box p{color:var(--muted);font-size:.92rem;margin-bottom:22px}
.prev-next{display:flex;justify-content:space-between;gap:16px;margin-top:40px;font-size:.9rem}
.prev-next a{color:var(--blue);font-weight:600}
.prev-next a:hover{color:var(--inju)}
.related{margin-top:56px}
.related h4{font-family:var(--mono);font-size:.78rem;letter-spacing:.1em;color:var(--muted);margin-bottom:20px}

/* ───── 자료실 ───── */
.dl-list{list-style:none;border-top:2px solid var(--ink)}
.dl-list li{display:grid;grid-template-columns:auto 1fr auto;gap:20px;align-items:center;padding:22px 8px;border-bottom:1px solid var(--rule);transition:background .2s}
.dl-list li:hover{background:var(--paper-deep)}
.badge{font-family:var(--mono);font-size:.68rem;font-weight:500;letter-spacing:.06em;color:#fff;padding:4px 9px;white-space:nowrap}
.dl-list .dl-name{font-weight:600}
.dl-list .dl-name small{display:block;font-weight:400;font-size:.86rem;color:var(--muted);margin-top:4px}
.dl-list .dl-get{font-family:var(--mono);font-size:.8rem;color:var(--blue);white-space:nowrap}
.dl-list .dl-get:hover{color:var(--inju)}
@media(max-width:640px){.dl-list li{grid-template-columns:1fr;gap:8px}.dl-list .dl-get{justify-self:start}}

/* ───── 자료실 카드 (기존 res) ───── */
.res{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--rule);border:1px solid var(--rule)}
.res-card{background:var(--paper);padding:44px 36px}
.res-card h3{font-family:var(--serif);font-size:1.3rem;font-weight:700;margin-bottom:12px}
.res-card p{color:var(--muted);font-size:.94rem;margin-bottom:24px}
.res-link{font-weight:600;font-size:.92rem;color:var(--blue);border-bottom:1.5px solid var(--blue);padding-bottom:2px}
.res-link:hover{color:var(--inju);border-color:var(--inju)}
@media(max-width:720px){.res{grid-template-columns:1fr}}

/* ───── 문의 ───── */
.contact{display:grid;grid-template-columns:1fr 1.2fr;gap:64px}
.c-info h2{font-family:var(--serif);font-size:1.7rem;font-weight:700;margin-bottom:20px}
.c-info p{color:var(--muted);font-size:.95rem;margin-bottom:32px}
.c-rows{font-size:.92rem}
.c-rows div{display:flex;gap:20px;padding:12px 0;border-top:1px dashed var(--rule)}
.c-rows dt{font-family:var(--mono);font-size:.75rem;color:var(--muted);width:64px;flex-shrink:0;padding-top:3px;letter-spacing:.08em}
.c-rows dd{font-weight:500}
form{display:flex;flex-direction:column;gap:16px}
.f-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
label{font-size:.8rem;font-weight:600;color:var(--muted);display:block;margin-bottom:6px;letter-spacing:.04em}
input,textarea{width:100%;padding:13px 14px;font-family:var(--sans);font-size:.95rem;background:var(--paper);border:1px solid var(--rule);color:var(--ink);transition:border-color .2s}
input:focus,textarea:focus{outline:none;border-color:var(--blue)}
textarea{min-height:130px;resize:vertical}
.f-submit{margin-top:8px;padding:15px;background:var(--blue);color:#fff;border:0;font-size:.95rem;font-weight:600;cursor:pointer;font-family:var(--sans);transition:background .2s}
.f-submit:hover{background:var(--ink)}
@media(max-width:820px){.contact{grid-template-columns:1fr;gap:48px}.f-row{grid-template-columns:1fr}}

/* ───── 일반 페이지 본문 ───── */
.page-head{padding:64px 0 8px}
.page-head h1{font-family:var(--serif);font-weight:900;font-size:clamp(1.8rem,4vw,2.6rem)}
.page-head .lead{margin-top:18px;color:var(--muted);font-size:1.05rem;max-width:36em}

/* ───── footer ───── */
footer.site{border-top:2px solid var(--ink);padding:36px 0 48px;font-size:.83rem;color:var(--muted)}
.foot{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap}
.foot-brand{font-family:var(--serif);font-weight:700;color:var(--ink)}
.foot-links{display:flex;gap:18px;flex-wrap:wrap}
.foot-links a:hover{color:var(--blue)}

/* ───── 시네마틱 히어로 (영상/사진 배경) ───── */
:root{--gold:#C9A227;--gold-soft:#E0BE52}
.hero-cine{position:relative;overflow:hidden;min-height:clamp(460px,72vh,680px);display:flex;align-items:center;padding:0;border-top:0;background:var(--ink) center/cover no-repeat}
.hero-cine-overlay{position:absolute;inset:0;z-index:1;
  background:linear-gradient(105deg,rgba(15,22,36,.90) 0%,rgba(15,22,36,.72) 46%,rgba(15,22,36,.42) 100%);}
.hero-cine-inner{position:relative;z-index:2;padding:64px 24px}
.hero-cine h1{font-family:var(--serif);font-weight:900;font-size:clamp(2rem,5.2vw,3.5rem);line-height:1.34;letter-spacing:-.01em;color:#fff;max-width:19em}
.hero-cine h1 em{font-style:normal;color:var(--gold-soft)}
.hero-cine h1 .no{font-style:normal;color:#F0C9C2}
.hero-cine .hero-body{margin-top:26px;max-width:34em;color:rgba(255,255,255,.86);font-size:1.02rem}
.doc-meta.light{border-top-color:rgba(255,255,255,.5);color:rgba(255,255,255,.72)}
.btn-ghost.light{border-color:rgba(255,255,255,.7);color:#fff}
.btn-ghost.light:hover{background:#fff;color:var(--ink)}
@media(max-width:640px){.hero-cine-overlay{background:linear-gradient(105deg,rgba(15,22,36,.92) 0%,rgba(15,22,36,.80) 100%)}}

/* ───── 다크 배너 (상담 유도) ───── */
.band{position:relative;overflow:hidden;background:var(--ink) center/cover no-repeat;border-top:0}
.band-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,22,36,.92),rgba(15,22,36,.66))}
.band-inner{position:relative;z-index:1;padding:20px 24px;text-align:center}
.band-inner h2{font-family:var(--serif);font-weight:900;font-size:clamp(1.6rem,3.6vw,2.4rem);color:#fff}
.band-inner p{margin:16px auto 30px;color:rgba(255,255,255,.82);font-size:1rem;max-width:34em}
.btn-gold{background:var(--gold);border-color:var(--gold);color:var(--ink);font-weight:700}
.btn-gold:hover{background:var(--gold-soft);border-color:var(--gold-soft)}

/* ───── 소개 페이지 사진 ───── */
.about-photo{width:240px;aspect-ratio:3/4;background:var(--paper-deep) center top/cover no-repeat;border:1px solid var(--rule);float:right;margin:0 0 20px 28px}
.about-consult{width:100%;aspect-ratio:16/8;background:var(--paper-deep) center/cover no-repeat;border:1px solid var(--rule);margin:12px 0}
.about-video{margin:16px auto;max-width:400px}
.about-video video{width:100%;display:block;border:1px solid var(--rule);background:var(--ink)}
@media(max-width:600px){.about-photo{float:none;width:100%;max-width:280px;margin:0 auto 20px}}

/* ───── 방명록 ───── */
.gb-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:56px;align-items:start}
.gb-h{font-family:var(--serif);font-size:1.2rem;font-weight:700;margin-bottom:20px;padding-bottom:10px;border-bottom:2px solid var(--ink)}
.gb-write form{display:flex;flex-direction:column;gap:14px}
.gb-note{margin-top:12px;font-size:.8rem;color:var(--muted)}
.gb-list{list-style:none;display:flex;flex-direction:column;gap:1px;background:var(--rule);border:1px solid var(--rule)}
.gb-item{background:var(--paper);padding:20px 22px}
.gb-msg{font-size:.96rem;color:var(--ink);line-height:1.7}
.gb-meta{margin-top:12px;display:flex;justify-content:space-between;align-items:baseline;font-size:.8rem}
.gb-name{font-weight:600;color:var(--blue)}
.gb-date{font-family:var(--mono);color:var(--muted);font-size:.74rem}
@media(max-width:820px){.gb-grid{grid-template-columns:1fr;gap:40px}}

/* ───── 스크롤 티커 (소개 하단) ───── */
.ticker{overflow:hidden;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:14px 0;margin:8px 0 20px}
.ticker-track{display:inline-flex;gap:44px;white-space:nowrap;animation:ticker 34s linear infinite;will-change:transform}
.ticker:hover .ticker-track{animation-play-state:paused}
.ticker-item{font-size:.9rem;color:var(--muted)}
.ticker-item b{color:var(--ink);font-weight:600}
@keyframes ticker{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.ticker-track{animation:none;white-space:normal;flex-wrap:wrap;gap:14px}}

/* ───── 명함 받기 ───── */
.cardget{display:grid;grid-template-columns:1.1fr 1fr;gap:48px;align-items:center}
.cardget-img{display:block;border:1px solid var(--rule);box-shadow:0 3px 16px rgba(27,36,52,.08)}
.cardget-img img{width:100%;display:block}
.cardget-form > p{color:var(--muted);font-size:.98rem;margin-bottom:18px}
.cardget-note{margin-top:14px;font-size:.82rem;color:var(--muted)}
.cardget-note a{color:var(--blue);border-bottom:1px solid var(--blue)}
.cardget-note a:hover{color:var(--inju);border-color:var(--inju)}
@media(max-width:820px){.cardget{grid-template-columns:1fr;gap:28px}}

/* ───── 유틸 ───── */
.empty{padding:48px 0;color:var(--muted);font-size:.95rem;text-align:center;border:1px dashed var(--rule)}

/* ───── FAQ 챗봇 위젯 ───── */
.cbot{position:fixed;right:20px;bottom:20px;z-index:900;font-family:var(--sans)}
.cbot-toggle{display:inline-flex;align-items:center;justify-content:center;gap:6px;
  min-width:88px;height:52px;padding:0 20px;border:none;border-radius:26px;cursor:pointer;
  background:var(--blue);color:#fff;font-size:1rem;font-weight:700;font-family:var(--sans);
  box-shadow:0 6px 20px rgba(27,36,52,.22);transition:background .15s,transform .15s}
.cbot-toggle:hover{background:var(--blue-soft);transform:translateY(-1px)}
.cbot-toggle-close{display:none}
.cbot-on .cbot-toggle{min-width:52px;width:52px;padding:0}
.cbot-on .cbot-toggle-open{display:none}
.cbot-on .cbot-toggle-close{display:inline;font-size:1.1rem}
.cbot-panel{position:absolute;right:0;bottom:64px;width:340px;max-width:calc(100vw - 40px);
  background:var(--paper);border:1px solid var(--rule);border-radius:16px;overflow:hidden;
  box-shadow:0 16px 40px rgba(27,36,52,.24);display:flex;flex-direction:column}
.cbot-panel[hidden]{display:none}
.cbot-head{background:var(--ink);color:#fff;padding:16px 18px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.cbot-close{flex:none;width:30px;height:30px;border:none;border-radius:50%;cursor:pointer;
  background:rgba(255,255,255,.14);color:#fff;font-size:.95rem;line-height:1;
  display:inline-flex;align-items:center;justify-content:center;transition:background .15s}
.cbot-close:hover{background:rgba(255,255,255,.28)}
.cbot-head strong{display:block;font-family:var(--serif);font-size:1.05rem}
.cbot-head span{font-size:.82rem;color:#C9CEDA}
.cbot-log{padding:16px;max-height:46vh;min-height:120px;overflow-y:auto;display:flex;flex-direction:column;gap:10px}
.cbot-msg{max-width:86%;padding:10px 13px;border-radius:14px;font-size:.9rem;line-height:1.55}
.cbot-bot{align-self:flex-start;background:var(--paper-deep);color:var(--ink);border-bottom-left-radius:4px}
.cbot-user{align-self:flex-end;background:var(--blue);color:#fff;border-bottom-right-radius:4px}
.cbot-links{display:flex;flex-direction:column;gap:6px;margin-top:9px}
.cbot-links a{font-size:.85rem;font-weight:600;color:var(--blue);border:1px solid var(--rule);
  border-radius:8px;padding:7px 10px;background:#fff;transition:border-color .15s,color .15s}
.cbot-links a:hover{color:var(--inju);border-color:var(--inju)}
.cbot-quick{display:flex;flex-wrap:wrap;gap:7px;padding:0 16px 14px}
.cbot-chip{border:1px solid var(--blue);color:var(--blue);background:#fff;border-radius:16px;
  padding:6px 13px;font-size:.83rem;font-weight:600;cursor:pointer;font-family:var(--sans);transition:background .15s,color .15s}
.cbot-chip:hover{background:var(--blue);color:#fff}
.cbot-foot{padding:11px 16px;border-top:1px solid var(--rule);font-size:.72rem;color:var(--muted);background:var(--paper-deep)}
.cbot-foot a{color:var(--blue);font-weight:700}
@media(max-width:480px){.cbot-panel{width:calc(100vw - 32px)}}

/* ───── 상담신청 폼 / 관리자 게시판 ───── */
.consult-intro{background:var(--paper-deep);border:1px solid var(--rule);border-radius:12px;padding:16px 18px;margin-bottom:22px;color:var(--ink)}
.form-card{display:flex;flex-direction:column;gap:16px}
.form-card .f-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form-card label{display:block;font-size:.8rem;font-weight:700;color:var(--muted);margin-bottom:6px}
.form-card input,.form-card textarea{width:100%;padding:12px 14px;border:1px solid var(--rule);border-radius:9px;font:inherit;background:#fff;color:var(--ink)}
.form-card textarea{min-height:150px;resize:vertical}
.form-card input:focus,.form-card textarea:focus{outline:none;border-color:var(--blue)}
.consult-note{font-size:.8rem;color:var(--muted)}
.consult-done{text-align:center;padding:40px 0}
.consult-done h2{font-family:var(--serif);color:var(--blue);margin-bottom:10px}
.consult-done p{color:var(--muted);margin-bottom:20px}
@media(max-width:560px){.form-card .f-row{grid-template-columns:1fr}}

.board-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.board-count{font-weight:700;color:var(--muted)}
.board-wrap{overflow-x:auto;border:1px solid var(--rule);border-radius:12px}
table.board{width:100%;border-collapse:collapse;font-size:.92rem;min-width:560px}
table.board th,table.board td{padding:12px 14px;text-align:left;border-bottom:1px solid var(--rule)}
table.board thead th{background:var(--paper-deep);color:var(--muted);font-size:.8rem;font-weight:700}
.board-title{cursor:pointer;font-weight:600}
.board-title:hover{color:var(--blue)}
.board-row.unread .board-title{font-weight:800}
.board-title .dot{color:var(--inju);font-size:.6rem;vertical-align:middle;margin-right:6px}
.board-del{border:none;background:none;cursor:pointer;font-size:1rem;opacity:.6}
.board-del:hover{opacity:1}
.board-detail .bd-in{background:var(--paper-deep);border-radius:8px;padding:14px 16px}
.bd-meta{display:flex;gap:18px;flex-wrap:wrap;font-size:.82rem;color:var(--muted);margin-bottom:10px;padding-bottom:10px;border-bottom:1px dashed var(--rule)}
.bd-msg{white-space:normal;line-height:1.7}
