
:root{
  --cream:#f8f4ee; --paper:#fffdf9; --ink:#2a231e; --ink-2:#5f5348; --muted:#8a7d70;
  --bronze:#85602d; --bronze-l:#c8a877; --dark:#1e1915; --dark-2:#2a231e; --line:#e7ded1;
  --serif:"Gowun Batang",serif; --sans:"Noto Sans KR",system-ui,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:76px}
body{font-family:var(--serif);background:var(--cream);color:var(--ink);font-size:17px;line-height:1.85;word-break:keep-all;padding-bottom:64px}
a{color:inherit;text-decoration:none}
.wrap{max-width:1080px;margin:0 auto;padding:0 24px}
.narrow{max-width:820px;margin:0 auto}
.ph{background:#f3e3b8;color:#5a4214;border-radius:3px;padding:0 4px;font-family:var(--sans);font-size:.9em;font-weight:500}
section{padding:110px 0}
.bg-white{background:var(--paper)}
.dark{background:var(--dark);color:#efe7dc}
.kicker{display:block;text-align:center;font-size:13px;letter-spacing:.32em;color:var(--bronze);margin-bottom:14px}
.dark .kicker{color:var(--bronze-l)}
h2.t{text-align:center;font-size:34px;line-height:1.35;letter-spacing:-.02em;font-weight:700;margin-bottom:18px}
h2.t em{font-style:normal;color:var(--bronze)}
.dark h2.t em{color:var(--bronze-l)}
.lead{text-align:center;color:var(--ink-2);max-width:640px;margin:0 auto 60px}
.dark .lead{color:#bfb3a5}
.rule{width:40px;height:1px;background:var(--bronze-l);margin:0 auto 22px}

/* header */
header{position:fixed;top:0;left:0;right:0;z-index:50;background:rgba(248,244,238,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.nav{height:72px;display:flex;align-items:center;gap:24px}
.brand{display:flex;flex-direction:column;line-height:1.2}
.brand b{font-size:20px;letter-spacing:.02em}
.brand small{font-size:11.5px;color:var(--muted);letter-spacing:.12em;margin-top:3px}
.menu{display:flex;gap:22px;margin-left:auto;font-size:15px;color:var(--ink-2)}
.menu a:hover{color:var(--bronze)}
.tel{font-family:var(--sans);font-size:14px;color:var(--ink-2)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--serif);font-weight:700;border-radius:8px;padding:12px 22px;font-size:15px;transition:.15s}
.btn-b{background:var(--bronze);color:#fff}.btn-b:hover{background:#6f4f24}
.btn-o{border:1px solid var(--bronze);color:var(--bronze)}
.dark .btn-o{border-color:var(--bronze-l);color:var(--bronze-l)}
@media(max-width:980px){.menu,.tel{display:none}.nav .btn{margin-left:auto}}

/* hero */
.hero{padding:150px 0 100px;text-align:center;background:radial-gradient(900px 520px at 50% 22%,rgba(169,121,60,.13),transparent 70%),var(--cream)}
.portrait{width:230px;margin:0 auto 36px;border-radius:150px 150px 18px 18px;overflow:hidden;position:relative;box-shadow:0 24px 50px rgba(42,35,30,.18);background:#d9cbb6}
.portrait img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;filter:sepia(.28) contrast(1.02)}
.portrait figcaption{position:absolute;left:0;right:0;bottom:0;padding:44px 18px 16px;background:linear-gradient(transparent,rgba(30,25,21,.85));color:#fff;text-align:left;line-height:1.4}
.portrait figcaption b{font-size:19px;display:block}
.portrait figcaption span{font-size:12px;color:#e2d4bf}
.center-name{font-size:15px;letter-spacing:.24em;color:var(--bronze);margin-bottom:16px}
.pill{display:inline-block;border:1px solid var(--bronze-l);border-radius:999px;padding:4px 16px;font-size:13.5px;color:var(--bronze);margin-bottom:22px;background:rgba(255,255,255,.5)}
.hero h1{font-size:46px;line-height:1.3;letter-spacing:-.03em;margin-bottom:24px}
.hero h1 em{font-style:normal;color:var(--bronze)}
.hero p.sub{color:var(--ink-2);max-width:600px;margin:0 auto 36px}
.hero .cta{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
@media(max-width:640px){.hero h1{font-size:31px}.portrait{width:190px}.bar{font-size:14.5px}.bar .l{flex-direction:column;gap:0;line-height:1.3}h2.t{font-size:26px}section{padding:80px 0}}

/* numbers */
.nums{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.num{text-align:center;padding:36px 12px;border-right:1px solid var(--line)}
.num:last-child{border-right:0}
.num em{display:block;font-style:normal;font-size:12px;letter-spacing:.28em;color:var(--bronze);margin-bottom:8px}
.num b{display:block;font-size:21px;line-height:1.35;margin-bottom:8px}
.num span{font-size:14.5px;color:var(--ink-2);line-height:1.7}
.nums-cap{text-align:center;color:var(--muted);font-size:14.5px;margin-top:18px}
@media(max-width:760px){.nums{grid-template-columns:repeat(2,1fr)}.num:nth-child(2){border-right:0}.num:nth-child(-n+2){border-bottom:1px solid var(--line)}}

/* quote / philosophy */
.quote{font-size:26px;line-height:1.6;text-align:center;max-width:760px;margin:0 auto}
.quote em{font-style:normal;color:var(--bronze)}
.compare{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:56px}
.compare div{border:1px solid var(--line);border-radius:14px;padding:26px;background:var(--cream)}
.compare div.on{background:var(--dark);color:#efe7dc;border-color:var(--dark)}
.compare h3{font-size:18px;margin-bottom:6px}
.compare .on h3{color:var(--bronze-l)}
.compare p{font-size:15px;color:var(--ink-2)}
.compare .on p{color:#cbbfb1}
@media(max-width:760px){.compare{grid-template-columns:1fr}}

/* profile (dark) */
.prof{display:grid;grid-template-columns:260px 1fr;gap:56px;align-items:start}
.photo-native{text-align:center}.photo-native img{width:228px;height:228px;display:block;margin:0 auto;border-radius:50%;box-shadow:0 0 0 3px var(--bronze-l),0 18px 40px rgba(0,0,0,.35)}.photo-native figcaption{margin-top:18px;line-height:1.5}.photo-native b{display:block;font-size:19px;color:#fff}.photo-native span{font-size:13px;color:var(--bronze-l)}
.prof .role{color:var(--bronze-l);font-size:13px;letter-spacing:.2em}
.prof h3{font-size:34px;margin:4px 0 6px}
.prof .intro{color:#cbbfb1;margin-bottom:26px}
.career{list-style:none;border-top:1px solid #4a3f35}
.career li{display:grid;grid-template-columns:96px 1fr;gap:16px;padding:14px 0;border-bottom:1px solid #3b322a;font-size:15.5px;line-height:1.75}
.career .k{color:var(--bronze-l);font-size:13px;padding-top:3px;letter-spacing:.05em}
.career .ph{color:#5a4214}
.say{margin-top:30px;border-left:2px solid var(--bronze-l);padding:4px 0 4px 20px;color:#e9dccb;font-size:18px}
@media(max-width:860px){.prof{grid-template-columns:1fr}}
@media(max-width:560px){.career li{grid-template-columns:1fr;gap:2px}}

/* answer box */
.answer{max-width:820px;margin:56px auto 0;background:rgba(255,255,255,.04);border:1px solid #4a3f35;border-radius:14px;padding:24px 28px;font-family:var(--sans);font-size:15px;color:#d8ccbd;line-height:1.8}
.answer b{color:var(--bronze-l)}

/* services */
.svcs{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.svc{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:32px}
.svc .no{font-size:13px;letter-spacing:.2em;color:var(--bronze)}
.svc h3{font-size:22px;margin:4px 0 4px}
.svc .when{font-family:var(--sans);font-size:13.5px;color:var(--muted);margin-bottom:12px}
.svc ul{list-style:none;font-size:15.5px;color:var(--ink-2)}
.svc li{padding:5px 0 5px 16px;position:relative}
.svc li::before{content:"";position:absolute;left:0;top:17px;width:6px;height:1px;background:var(--bronze)}
@media(max-width:760px){.svcs{grid-template-columns:1fr}}

/* timeline (dark) */
.tl{max-width:860px;margin:0 auto;position:relative}
.tl::before{content:"";position:absolute;left:118px;top:8px;bottom:8px;width:1px;background:#4a3f35}
.tl-row{display:grid;grid-template-columns:100px 36px 1fr;align-items:start;margin-bottom:20px}
.tl-when{text-align:right;color:var(--bronze-l);padding-top:16px;font-size:15px;font-weight:700}
.tl-dot{width:13px;height:13px;border-radius:50%;background:var(--dark);border:2px solid var(--bronze-l);margin:21px auto 0;position:relative;z-index:1}
.tl-card{background:rgba(255,255,255,.04);border:1px solid #3b322a;border-radius:12px;padding:16px 22px}
.tl-card b{display:block;font-size:18px;color:#fff;margin-bottom:2px}
.tl-card p{font-family:var(--sans);font-size:14.5px;color:#cbbfb1;line-height:1.75}
.tl-card .law{display:block;font-family:var(--sans);font-size:12.5px;color:#9d8f80;margin-top:6px}
.tl-row.key .tl-card{background:var(--bronze);border-color:var(--bronze)}
.tl-row.key .tl-card p,.tl-row.key .tl-card .law{color:#f6ead8}
.tl-row.key .tl-dot{background:var(--bronze-l)}
@media(max-width:640px){.tl::before{left:12px}.tl-row{grid-template-columns:26px 1fr}.tl-when{grid-column:2;text-align:left;padding:0 0 4px}.tl-dot{grid-row:1/span 2;grid-column:1;margin:5px 0 0}.tl-card{grid-column:2}}

/* cases / columns */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.card{display:block;background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:26px;transition:.15s}
a.card:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(42,35,30,.1)}
.card .tag{font-family:var(--sans);font-size:12px;color:var(--bronze);border:1px solid var(--bronze-l);border-radius:999px;padding:2px 10px;display:inline-block;margin-bottom:12px}
.card h3{font-size:17.5px;line-height:1.55;margin-bottom:8px}
.card p{font-family:var(--sans);font-size:14px;color:var(--ink-2);line-height:1.75}
.card dl{margin-top:12px;display:grid;grid-template-columns:44px 1fr;gap:4px;font-family:var(--sans);font-size:13.5px}
.card dt{color:var(--muted)}
@media(max-width:860px){.cards{grid-template-columns:1fr}}

/* fee */
.fee{max-width:820px;margin:0 auto;border-top:2px solid var(--ink)}
.fee table{width:100%;border-collapse:collapse;font-size:15.5px}
.fee td{padding:16px 6px;border-bottom:1px solid var(--line);vertical-align:top}
.fee td:first-child{font-weight:700;width:30%}
.fee td:last-child{text-align:right;color:var(--bronze);font-weight:700;white-space:nowrap}
.fee-note{max-width:820px;margin:14px auto 0;font-family:var(--sans);font-size:13px;color:var(--muted)}

/* faq */
.faq{max-width:820px;margin:0 auto}
.faq-filter{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-bottom:28px}
.faq-filter button{font-family:var(--serif);border:1px solid var(--line);background:var(--paper);border-radius:999px;padding:7px 18px;font-size:14.5px;cursor:pointer;color:var(--ink-2)}
.faq-filter button.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;padding:22px 4px;font-size:18px;font-weight:700;display:flex;gap:14px;align-items:flex-start}
.faq summary::-webkit-details-marker{display:none}
.faq summary::before{content:"Q.";color:var(--bronze)}
.faq .cat{margin-left:auto;font-family:var(--sans);font-size:12px;font-weight:500;color:var(--muted);white-space:nowrap;padding-top:5px}
.faq .a{padding:0 4px 24px 36px;font-family:var(--sans);font-size:15.5px;color:var(--ink-2);line-height:1.85}
.faq .a b{color:var(--ink)}
.faq .a a{color:var(--bronze);text-decoration:underline}
.faq .law{display:block;margin-top:8px;font-size:13px;color:var(--muted)}

/* checklist */
.check{max-width:820px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:10px 28px;font-family:var(--sans);font-size:15px}
.check div{padding:12px 0;border-bottom:1px dashed var(--line)}
@media(max-width:640px){.check{grid-template-columns:1fr}}

/* contact (dark) */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
.info{list-style:none;font-family:var(--sans);font-size:15.5px}
.info li{display:grid;grid-template-columns:90px 1fr;padding:14px 0;border-bottom:1px solid #3b322a}
.info b{color:var(--bronze-l);font-weight:500}
.info .ph{color:#5a4214}
.map{border:1px solid #3b322a;border-radius:16px;min-height:300px;display:grid;place-items:center;color:#9d8f80;font-family:var(--sans);font-size:14px;text-align:center}
.final-cta{display:flex;gap:12px;margin-top:28px;flex-wrap:wrap}
@media(max-width:860px){.contact-grid{grid-template-columns:1fr}}

footer{background:#15110e;color:#8a7d70;padding:44px 0 30px;font-family:var(--sans);font-size:13px;line-height:1.9}
footer .brand b{color:#efe7dc}

/* sticky bottom bar (dasol style) */
.bar{position:fixed;left:0;right:0;bottom:0;z-index:60;display:grid;grid-template-columns:1fr 1fr;height:64px;font-weight:700}
.bar a{display:flex;align-items:center;justify-content:center;gap:10px}
.bar .l{background:var(--dark);color:#efe7dc}
.bar .l span{font-family:var(--sans);font-weight:500;color:var(--bronze-l)}
.bar .r{background:var(--bronze);color:#fff}
.draft{position:fixed;right:14px;bottom:78px;z-index:61;background:var(--ink);color:#fff;font-family:var(--sans);font-size:12px;padding:6px 12px;border-radius:999px;opacity:.85}

/* ---- sub pages ---- */
.page-hero{padding:130px 0 56px;background:radial-gradient(800px 420px at 50% 10%,rgba(169,121,60,.12),transparent 70%),var(--cream);text-align:center}
.crumb{font-family:var(--sans);font-size:13px;color:var(--muted);margin-bottom:18px}
.crumb a{color:var(--bronze)}
.page-hero h1{font-size:38px;line-height:1.35;letter-spacing:-.02em;max-width:860px;margin:0 auto 16px}
.page-hero .meta{font-family:var(--sans);font-size:14px;color:var(--ink-2)}
.page-hero .meta a{color:var(--bronze)}
.doc{max-width:780px;margin:0 auto;padding:0 24px 90px;font-family:var(--sans);font-size:16.5px;line-height:1.9;color:#3a3029}
.doc h2{font-family:var(--serif);font-size:26px;line-height:1.45;color:var(--ink);margin:56px 0 16px;padding-top:8px;border-top:1px solid var(--line)}
.doc h2:first-child{border-top:0;margin-top:20px}
.doc h3{font-family:var(--serif);font-size:20px;color:var(--ink);margin:30px 0 10px}
.doc p{margin:0 0 16px}
.doc ul{margin:0 0 18px;padding-left:22px}
.doc li{margin:6px 0}
.doc b{color:var(--ink)}
.doc a{color:var(--bronze);text-decoration:underline}
.doc table{width:100%;border-collapse:collapse;margin:18px 0 22px;font-size:15px;line-height:1.7;background:var(--paper)}
.doc th{background:var(--dark);color:#efe7dc;font-weight:500;text-align:left;padding:10px 12px}
.doc td{border-bottom:1px solid var(--line);padding:10px 12px;vertical-align:top}
.doc td:first-child{white-space:nowrap;font-weight:500;color:var(--ink)}
.doc .summary{background:var(--paper);border:1px solid var(--line);border-left:3px solid var(--bronze);border-radius:10px;padding:18px 22px 6px;margin:24px 0}
.doc ul.refs{font-size:14px;color:var(--ink-2)}
.doc .note{font-size:13.5px;color:var(--muted);border-top:1px solid var(--line);padding-top:16px;margin-top:40px}
.author{display:grid;grid-template-columns:88px 1fr;gap:18px;align-items:center;background:var(--dark);color:#d8ccbd;border-radius:14px;padding:22px;margin:40px 0 0}
.author img{width:88px;height:88px;border-radius:50%;box-shadow:0 0 0 2px var(--bronze-l)}
.author b{color:#fff;font-family:var(--serif);font-size:18px}
.author p{margin:4px 0 0;font-size:14px;line-height:1.7}
.author a{color:var(--bronze-l)}
.col-list{max-width:860px;margin:0 auto;padding:0 24px 100px;display:grid;gap:18px}
@media(max-width:640px){.page-hero h1{font-size:28px}.doc td:first-child{white-space:normal}.author{grid-template-columns:1fr;text-align:center}.author img{margin:0 auto}}
