:root{
  --ink:#1c1c1c;
  --ink-soft:#4a4a4a;
  --muted:#7a7a7a;
  --line:#e2ded6;
  --paper:#fbfaf7;
  --paper-2:#f3f0ea;
  --navy:#1f2a44;
  --navy-soft:#2e3d63;
  --accent:#9c6b2f;
  --max:960px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;
  font-family:"Noto Serif KR","Batang","바탕","Apple SD Gothic Neo",serif;
  color:var(--ink);
  background:var(--paper);
  line-height:1.8;
  font-size:17px;
  word-break:keep-all;
}
a{color:inherit;text-decoration:none}
a:hover{color:var(--accent)}
.wrap{max-width:var(--max);margin:0 auto;padding:0 20px}

/* header */
.site-head{border-bottom:1px solid var(--line);background:var(--paper)}
.site-head .wrap{display:flex;align-items:center;justify-content:space-between;height:72px}
.brand{font-weight:700;font-size:20px;letter-spacing:-.01em}
.brand small{display:block;font-weight:400;font-size:12px;color:var(--muted);letter-spacing:.08em;margin-top:-2px}
.nav a{margin-left:26px;font-size:15px;color:var(--ink-soft)}
.nav a.on{color:var(--ink);border-bottom:2px solid var(--navy);padding-bottom:4px}
.nav .cta{color:#fff;background:var(--navy);padding:8px 14px;border-radius:4px}
.nav .cta:hover{background:var(--navy-soft);color:#fff}

/* hero */
.hero{background:var(--navy);color:#fff;padding:64px 0 56px}
.hero .wrap{display:grid;grid-template-columns:1fr 220px;gap:40px;align-items:center}
.hero h1{font-size:34px;line-height:1.35;margin:0 0 16px;font-weight:700}
.hero p{margin:0 0 12px;color:#d9dde8;font-size:17px}
.hero .fields{margin-top:22px;font-size:14px;color:#aeb6cc;letter-spacing:.04em}
.hero .fields span{margin-right:14px}
.hero .photo{width:220px;height:260px;object-fit:cover;object-position:top;border:1px solid #3e4b6d;display:block}

/* sections */
section{padding:56px 0}
section+section{border-top:1px solid var(--line)}
h2{font-size:24px;margin:0 0 24px;font-weight:700}
h2 small{font-size:14px;color:var(--muted);margin-left:12px;font-weight:400}
.lead{font-size:18px;color:var(--ink-soft);max-width:720px}

.post-list{list-style:none;margin:0;padding:0}
.post-list li{padding:18px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:110px 1fr;gap:16px}
.post-list time{color:var(--muted);font-size:14px;padding-top:4px}
.post-list .t{font-size:18px;font-weight:700}
.post-list .s{color:var(--ink-soft);font-size:15px;margin-top:4px}
.post-list .cat{display:inline-block;font-size:12px;color:var(--accent);border:1px solid #d9c6ad;padding:1px 8px;border-radius:3px;margin-right:8px;vertical-align:middle}
.more{display:inline-block;margin-top:20px;font-size:15px;color:var(--navy);border-bottom:1px solid var(--navy)}

.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.card{background:#fff;border:1px solid var(--line);padding:24px}
.card h3{margin:0 0 10px;font-size:18px}
.card p{margin:0;color:var(--ink-soft);font-size:15px}

/* contact */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px}
.contact-box{background:#fff;border:1px solid var(--line);padding:28px}
.contact-box h3{margin:0 0 14px;font-size:18px}
.contact-box dl{margin:0}
.contact-box dt{color:var(--muted);font-size:13px;margin-top:12px}
.contact-box dd{margin:2px 0 0;font-size:17px}
.btn{display:inline-block;padding:12px 20px;border-radius:4px;font-size:16px;margin:12px 10px 0 0}
.btn-kakao{background:#f7e317;color:#1c1c1c}
.btn-kakao:hover{background:#eed90e;color:#1c1c1c}
.btn-call{background:var(--navy);color:#fff}
.btn-call:hover{background:var(--navy-soft);color:#fff}
.btn-lawtalk{background:#fff;color:var(--navy);border:1px solid var(--navy)}
.btn-lawtalk:hover{background:var(--paper-2);color:var(--navy)}
.note{font-size:14px;color:var(--muted);margin-top:16px}

/* article */
.article{max-width:720px;margin:0 auto;padding:56px 20px}
.article .meta{color:var(--muted);font-size:14px;margin-bottom:12px}
.article h1{font-size:30px;line-height:1.4;margin:0 0 24px}
.article .summary{background:var(--paper-2);border-left:3px solid var(--navy);padding:16px 20px;margin:0 0 32px;font-size:16px}
.article h2{font-size:21px;margin:40px 0 14px}
.article h3{font-size:18px;margin:28px 0 10px}
.article p{margin:0 0 18px}
.article .author{border-top:1px solid var(--line);margin-top:48px;padding-top:24px;font-size:15px;color:var(--ink-soft)}
.article .author b{color:var(--ink)}
.article .cta-box{margin-top:32px;background:#fff;border:1px solid var(--line);padding:24px;text-align:center}
.article .cta-box p{margin:0 0 6px}

/* footer */
.site-foot{border-top:1px solid var(--line);padding:32px 0;color:var(--muted);font-size:13px;line-height:1.9}
.site-foot a{color:var(--ink-soft)}

@media (max-width:720px){
  body{font-size:16px}
  .site-head .wrap{height:auto;padding:14px 20px;flex-wrap:wrap;gap:10px}
  .nav a{margin:0 16px 0 0;font-size:14px}
  .hero{padding:40px 0}
  .hero .wrap{grid-template-columns:1fr}
  .hero h1{font-size:26px}
  .hero .photo{display:none}
  .cards,.contact-grid{grid-template-columns:1fr}
  .post-list li{grid-template-columns:1fr;gap:4px}
  section{padding:40px 0}
}

/* article extras */
.article blockquote{margin:18px 0;padding:14px 20px;background:var(--paper-2);border-left:3px solid var(--accent);font-size:15px;color:var(--ink-soft)}
.article blockquote p{margin:0 0 8px}
.article blockquote p:last-child{margin:0}
.article table{border-collapse:collapse;width:100%;margin:18px 0;font-size:15px}
.article th,.article td{border:1px solid var(--line);padding:8px 12px;text-align:left;vertical-align:top}
.article th{background:var(--paper-2);font-weight:700}
.article ol,.article ul{padding-left:22px}

/* static page body */
.page-body{max-width:760px}
.page-body h2{font-size:24px;margin:0 0 8px}
.page-body h3{font-size:19px;margin:40px 0 12px;padding-top:8px;border-top:1px solid var(--line)}
.page-body h4{font-size:17px;margin:26px 0 6px;color:var(--navy)}
.page-body p{margin:0 0 14px}
.page-body .note{margin-top:30px}

/* bio */
.bio-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:40px;align-items:start}
.bio{margin:0;background:#fff;border:1px solid var(--line);padding:24px 28px}
.bio dt{font-size:12px;letter-spacing:.08em;color:var(--muted);margin:14px 0 4px}
.bio dt:first-child{margin-top:0}
.bio dd{margin:0;font-size:16px;line-height:1.7}
@media (max-width:720px){.bio-grid{grid-template-columns:1fr;gap:20px}}

.bio-fields{margin-top:24px;border-top:1px solid var(--line);padding-top:16px}
.bio-fields dt{font-size:12px;letter-spacing:.08em;color:var(--muted);margin-bottom:4px}
.bio-fields p{margin:0;font-size:16px}
.bio dd{font-size:15px}
