/* =============================================================
   jeonselawsuit.zibsuri.com — Design System
   Navy #1B2A4A + Gold #C9A24B legal editorial theme
   ============================================================= */
:root{
  --navy:#1B2A4A; --navy-deep:#16233D; --navy-ink:#0F1830;
  --gold:#C9A24B; --gold-soft:#E3C98F; --gold-tint:#F6EFDD;
  --ivory:#F7F4EC; --paper:#FCFBF8; --white:#FFFFFF;
  --ink:#1C2434; --body:#333C4E; --muted:#5B6478; --faint:#8A93A6;
  --line:#E6E1D5; --line-soft:#EFEBE0;
  --r-sm:10px; --r-md:16px; --r-lg:24px;
  --sh-sm:0 1px 3px rgba(15,24,48,.06),0 1px 2px rgba(15,24,48,.04);
  --sh-md:0 6px 24px rgba(15,24,48,.09);
  --sh-lg:0 18px 48px rgba(15,24,48,.16);
  --font-body:"Pretendard Variable",Pretendard,-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Noto Sans KR",sans-serif;
  --font-serif:"Noto Serif KR",serif;
  --maxw:1140px; --colw:800px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}
body{font-family:var(--font-body);color:var(--body);background:var(--paper);line-height:1.75;font-size:17px;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:var(--navy);text-decoration:none;transition:color .2s ease}
a:hover{color:var(--gold)}
:focus-visible{outline:3px solid var(--gold);outline-offset:2px;border-radius:2px}
.zl-container{max-width:var(--maxw);margin:0 auto;padding:0 24px}

/* ---------- Header ---------- */
.zl-header{position:sticky;top:0;z-index:100;background:rgba(22,35,61,.92);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(201,162,75,.22)}
.zl-header-in{max-width:var(--maxw);margin:0 auto;padding:0 24px;display:flex;align-items:center;justify-content:space-between;height:68px}
.zl-logo{display:flex;align-items:center;gap:10px;color:#fff;font-weight:700;font-size:17px;letter-spacing:-.01em;min-height:44px}
.zl-logo:hover{color:#fff}
.zl-logo img{width:32px;height:32px}
.zl-logo .zl-logo-sub{display:block;font-size:11px;font-weight:500;color:var(--gold-soft);letter-spacing:.08em}
.zl-nav{display:flex;align-items:center;gap:4px}
.zl-nav a{color:rgba(255,255,255,.85);font-size:14.5px;font-weight:500;padding:10px 13px;border-radius:8px;min-height:44px;display:inline-flex;align-items:center;transition:background .2s ease,color .2s ease}
.zl-nav a:hover{color:#fff;background:rgba(255,255,255,.08)}
.zl-nav a.zl-nav-cta{background:var(--gold);color:var(--navy-ink);font-weight:700;margin-left:8px}
.zl-nav a.zl-nav-cta:hover{background:var(--gold-soft)}
.zl-menu-btn{display:none;background:none;border:0;cursor:pointer;padding:10px;min-width:44px;min-height:44px}
.zl-menu-btn span{display:block;width:22px;height:2px;background:#fff;margin:5px 0;border-radius:2px;transition:transform .25s ease,opacity .25s ease}
@media(max-width:920px){
  .zl-menu-btn{display:block}
  .zl-nav{display:none;position:absolute;top:68px;left:0;right:0;background:var(--navy-ink);flex-direction:column;align-items:stretch;padding:12px 20px 20px;gap:2px;border-bottom:1px solid rgba(201,162,75,.25);box-shadow:var(--sh-lg)}
  .zl-nav.open{display:flex}
  .zl-nav a{padding:13px 14px;font-size:16px}
  .zl-nav a.zl-nav-cta{margin:10px 0 0;justify-content:center}
}

/* ---------- Footer ---------- */
.zl-footer{background:var(--navy-ink);color:rgba(255,255,255,.75);margin-top:104px}
.zl-footer-in{max-width:var(--maxw);margin:0 auto;padding:64px 24px 40px}
.zl-footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:48px;padding-bottom:40px;border-bottom:1px solid rgba(255,255,255,.1)}
.zl-footer h4{color:#fff;font-size:14px;font-weight:700;letter-spacing:.06em;margin-bottom:16px}
.zl-footer .zl-footer-brand{display:flex;align-items:center;gap:10px;color:#fff;font-weight:700;font-size:17px;margin-bottom:14px}
.zl-footer .zl-footer-brand img{width:30px;height:30px}
.zl-footer p{font-size:13.5px;line-height:1.8;color:rgba(255,255,255,.55)}
.zl-footer ul{list-style:none}
.zl-footer ul li{margin-bottom:9px}
.zl-footer ul a{color:rgba(255,255,255,.7);font-size:14px}
.zl-footer ul a:hover{color:var(--gold-soft)}
.zl-footer .legal-notice{background:rgba(255,255,255,.05);border-left:3px solid var(--gold);border-radius:0 8px 8px 0;padding:14px 18px;margin:28px 0 0;font-size:.8em;color:rgba(255,255,255,.55)}
.zl-footer .legal-notice p{margin:4px 0;font-size:12.5px;color:rgba(255,255,255,.55)}
.zl-footer-bottom{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;align-items:center;padding-top:24px;font-size:12.5px;color:rgba(255,255,255,.45)}
@media(max-width:820px){.zl-footer-grid{grid-template-columns:1fr;gap:32px}}

/* ---------- Buttons ---------- */
.zl-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:12px 26px;border-radius:12px;font-weight:700;font-size:15.5px;letter-spacing:-.01em;cursor:pointer;border:0;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}
.zl-btn-gold{background:var(--gold);color:var(--navy-ink)}
.zl-btn-gold:hover{background:var(--gold-soft);color:var(--navy-ink);transform:translateY(-2px);box-shadow:0 10px 24px rgba(201,162,75,.35)}
.zl-btn-ghost{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.35)}
.zl-btn-ghost:hover{border-color:var(--gold-soft);color:var(--gold-soft);transform:translateY(-2px)}
.zl-btn-navy{background:var(--navy);color:#fff}
.zl-btn-navy:hover{background:var(--navy-deep);color:#fff;transform:translateY(-2px);box-shadow:var(--sh-md)}

/* ---------- Cards ---------- */
.zl-card{background:var(--white);border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;box-shadow:var(--sh-sm);transition:transform .25s ease,box-shadow .25s ease}
.zl-card:hover{transform:translateY(-6px);box-shadow:var(--sh-md)}
.zl-card .zl-card-thumb{aspect-ratio:16/9;overflow:hidden;background:var(--ivory)}
.zl-card .zl-card-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.zl-card:hover .zl-card-thumb img{transform:scale(1.04)}
.zl-card .zl-card-body{padding:22px 24px 26px}
.zl-card .zl-card-cat{display:inline-block;font-size:12px;font-weight:700;color:var(--gold);letter-spacing:.08em;margin-bottom:10px;text-transform:uppercase}
.zl-card h3{font-family:var(--font-serif);font-size:18.5px;font-weight:700;color:var(--ink);line-height:1.45;letter-spacing:-.01em}
.zl-card h3 a{color:inherit}
.zl-card h3 a:hover{color:var(--navy)}
.zl-card .zl-card-ex{font-size:14px;color:var(--muted);margin-top:10px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.zl-card .zl-card-date{font-size:12.5px;color:var(--faint);margin-top:14px}

/* ---------- Section primitives ---------- */
.zl-section{padding:104px 0}
.zl-section-alt{background:var(--ivory)}
.zl-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:700;letter-spacing:.14em;color:var(--gold);text-transform:uppercase;margin-bottom:16px}
.zl-eyebrow::before{content:"";width:28px;height:2px;background:var(--gold)}
.zl-h2{font-family:var(--font-serif);font-size:clamp(26px,3.4vw,38px);font-weight:700;color:var(--ink);letter-spacing:-.02em;line-height:1.35;margin-bottom:14px}
.zl-sub{font-size:16.5px;color:var(--muted);max-width:640px;line-height:1.8}

/* ---------- Reveal animation ---------- */
.zl-reveal{opacity:0;transform:translateY(22px);transition:opacity .6s ease,transform .6s ease}
.zl-reveal.on{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.zl-reveal{opacity:1;transform:none}}

/* =============================================================
   ARTICLE / PAGE CONTENT
   ============================================================= */
.zl-article-hero{background:linear-gradient(160deg,var(--navy-ink) 0%,var(--navy) 68%,#24365C 100%);color:#fff;padding:84px 0 72px;position:relative;overflow:hidden}
.zl-article-hero::after{content:"";position:absolute;inset:0;background:radial-gradient(700px 320px at 85% 15%,rgba(201,162,75,.14),transparent 65%);pointer-events:none}
.zl-article-hero-in{max-width:var(--colw);margin:0 auto;padding:0 24px;position:relative;z-index:1}
.zl-article-hero .zl-crumb{font-size:13px;color:rgba(255,255,255,.55);margin-bottom:18px}
.zl-article-hero .zl-crumb a{color:var(--gold-soft)}
.zl-article-hero .zl-cat-badge{display:inline-block;background:rgba(201,162,75,.16);border:1px solid rgba(201,162,75,.45);color:var(--gold-soft);font-size:12.5px;font-weight:700;letter-spacing:.06em;padding:6px 14px;border-radius:999px;margin-bottom:20px}
.zl-article-hero h1{font-family:var(--font-serif);font-size:clamp(27px,4vw,40px);font-weight:700;line-height:1.4;letter-spacing:-.02em;margin-bottom:22px}
.zl-article-hero .zl-meta{font-size:13.5px;color:rgba(255,255,255,.6);display:flex;flex-wrap:wrap;gap:8px 18px}
.zl-article-figure{max-width:var(--colw);margin:-44px auto 0;padding:0 24px;position:relative;z-index:2}
.zl-article-figure img{border-radius:var(--r-md);box-shadow:var(--sh-lg);width:100%}
.zl-article-wrap{max-width:var(--colw);margin:0 auto;padding:56px 24px 0}
.zl-prose{font-size:17px;line-height:1.8;color:var(--body)}
.zl-prose>p{margin:0 0 26px}
.zl-prose h2{font-family:var(--font-serif);font-size:25px;font-weight:700;color:var(--ink);letter-spacing:-.015em;line-height:1.4;margin:64px 0 22px;padding-left:16px;border-left:4px solid var(--gold)}
.zl-prose h3{font-size:19.5px;font-weight:700;color:var(--navy);margin:44px 0 16px;letter-spacing:-.01em}
.zl-prose ul,.zl-prose ol{margin:0 0 26px;padding-left:26px}
.zl-prose li{margin-bottom:10px}
.zl-prose li::marker{color:var(--gold);font-weight:700}
.zl-prose strong{color:var(--ink)}
.zl-prose a{border-bottom:1px solid var(--gold-soft);padding-bottom:1px}
.zl-prose img{border-radius:var(--r-md);box-shadow:var(--sh-md);margin:36px auto}
.zl-prose blockquote{background:var(--gold-tint);border-left:4px solid var(--gold);border-radius:0 var(--r-sm) var(--r-sm) 0;padding:22px 26px;margin:0 0 28px;font-size:16.5px;color:var(--ink)}
.zl-prose blockquote p{margin:0}
.zl-prose blockquote p+p{margin-top:10px}

/* summary box */
.zl-summary{background:var(--white);border:1px solid var(--line);border-top:4px solid var(--gold);border-radius:var(--r-sm);box-shadow:var(--sh-sm);padding:26px 30px;margin:0 0 44px}
.zl-summary .zl-summary-t{font-weight:800;color:var(--navy);font-size:15px;letter-spacing:.05em;margin-bottom:14px;display:flex;align-items:center;gap:8px}
.zl-summary .zl-summary-t::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--gold)}
.zl-summary ul{margin:0;padding-left:22px}
.zl-summary li{margin-bottom:8px;font-size:15.5px}

/* tables */
.zl-tablewrap{overflow-x:auto;margin:0 0 30px;border-radius:var(--r-sm);border:1px solid var(--line);box-shadow:var(--sh-sm);-webkit-overflow-scrolling:touch}
table.zl-table{width:100%;border-collapse:collapse;font-size:14.5px;line-height:1.6;background:var(--white);min-width:520px}
table.zl-table caption{caption-side:top;text-align:left;font-size:13px;font-weight:700;color:var(--muted);padding:12px 16px 10px;background:var(--white)}
table.zl-table th{background:var(--navy);color:#fff;font-weight:700;padding:13px 16px;text-align:left;white-space:nowrap}
table.zl-table td{padding:13px 16px;border-top:1px solid var(--line-soft);vertical-align:top}
table.zl-table tbody tr:nth-child(even){background:#FAF8F2}
table.zl-table td strong{color:var(--navy)}

/* callouts */
.zl-callout{display:flex;gap:14px;background:#FFF9EC;border:1px solid #EFDFB6;border-radius:var(--r-sm);padding:20px 22px;margin:0 0 28px;font-size:15.5px}
.zl-callout::before{content:"!";flex:0 0 26px;height:26px;border-radius:50%;background:var(--gold);color:#fff;font-weight:800;display:flex;align-items:center;justify-content:center;margin-top:2px}
.zl-callout.zl-callout-info{background:#EFF3FA;border-color:#CCD8EC}
.zl-callout.zl-callout-info::before{content:"i";background:var(--navy)}
.zl-callout p{margin:0}
.zl-callout p+p{margin-top:8px}

/* CSS bar chart */
.zl-chart{background:var(--white);border:1px solid var(--line);border-radius:var(--r-sm);box-shadow:var(--sh-sm);padding:26px 28px;margin:0 0 30px}
.zl-chart .zl-chart-t{font-size:14.5px;font-weight:800;color:var(--navy);margin-bottom:4px}
.zl-chart .zl-chart-cap{font-size:12.5px;color:var(--faint);margin-bottom:18px}
.zl-bar{margin-bottom:14px}
.zl-bar .zl-bar-label{display:flex;justify-content:space-between;font-size:13.5px;font-weight:600;color:var(--ink);margin-bottom:6px}
.zl-bar .zl-bar-label em{font-style:normal;color:var(--navy);font-weight:700}
.zl-bar .zl-bar-track{height:12px;background:var(--ivory);border-radius:999px;overflow:hidden}
.zl-bar .zl-bar-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--navy) 0%,#31456F 100%)}
.zl-bar.gold .zl-bar-fill{background:linear-gradient(90deg,var(--gold) 0%,var(--gold-soft) 100%)}

/* step / timeline diagram */
.zl-steps{counter-reset:zlstep;list-style:none;padding:0;margin:0 0 30px;position:relative}
.zl-steps li{position:relative;padding:0 0 26px 58px;counter-increment:zlstep}
.zl-steps li::before{content:counter(zlstep);position:absolute;left:0;top:0;width:40px;height:40px;border-radius:50%;background:var(--navy);color:var(--gold-soft);font-weight:800;font-size:16px;display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 4px var(--gold-tint)}
.zl-steps li::after{content:"";position:absolute;left:19px;top:44px;bottom:2px;width:2px;background:var(--line)}
.zl-steps li:last-child::after{display:none}
.zl-steps li .zl-step-t{font-weight:800;color:var(--ink);font-size:16.5px;margin-bottom:6px;display:block}
.zl-steps li p{margin:0;font-size:15px;color:var(--body)}

/* FAQ */
.zl-faq{border:1px solid var(--line);border-radius:var(--r-sm);overflow:hidden;margin:0 0 30px;background:var(--white);box-shadow:var(--sh-sm)}
.zl-faq details{border-bottom:1px solid var(--line-soft)}
.zl-faq details:last-child{border-bottom:0}
.zl-faq summary{cursor:pointer;padding:18px 22px;font-weight:700;color:var(--ink);font-size:15.5px;list-style:none;display:flex;gap:10px;align-items:baseline;min-height:44px}
.zl-faq summary::-webkit-details-marker{display:none}
.zl-faq summary::before{content:"Q";color:var(--gold);font-weight:800;flex:0 0 auto}
.zl-faq details[open] summary{background:var(--gold-tint)}
.zl-faq .zl-faq-a{padding:4px 22px 20px 44px;font-size:15px;color:var(--body)}

/* sources */
.zl-sources{background:var(--ivory);border-radius:var(--r-sm);padding:22px 26px;margin:48px 0 0;font-size:14px}
.zl-sources .zl-sources-t{font-weight:800;color:var(--navy);font-size:14px;margin-bottom:10px}
.zl-sources ul{margin:0;padding-left:20px}
.zl-sources li{margin-bottom:6px;color:var(--muted)}
.zl-sources .zl-asof{display:block;margin-top:12px;font-size:12.5px;color:var(--faint)}

/* related */
.zl-related{margin:56px 0 0}
.zl-related .zl-related-t{font-family:var(--font-serif);font-size:21px;font-weight:700;color:var(--ink);margin-bottom:20px;padding-left:14px;border-left:4px solid var(--gold)}
.zl-related-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
@media(max-width:640px){.zl-related-grid{grid-template-columns:1fr}}
.zl-related-grid .zl-card h3{font-size:16px}
.zl-related-grid .zl-card .zl-card-body{padding:18px 20px 20px}
.zl-prose .zl-related img,.zl-related img{margin:0;border-radius:0;box-shadow:none}

/* tags & nav */
.zl-tagrow{display:flex;flex-wrap:wrap;gap:10px;margin:44px 0 0}
.zl-tagrow a{background:var(--ivory);border:1px solid var(--line);color:var(--muted);font-size:13px;font-weight:600;padding:7px 14px;border-radius:999px}
.zl-tagrow a:hover{border-color:var(--gold);color:var(--navy)}
.zl-postnav{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:56px 0 0}
.zl-postnav a{border:1px solid var(--line);border-radius:var(--r-sm);padding:18px 20px;background:var(--white);box-shadow:var(--sh-sm);font-size:14.5px;font-weight:600;color:var(--ink);transition:transform .2s ease,box-shadow .2s ease}
.zl-postnav a:hover{transform:translateY(-3px);box-shadow:var(--sh-md);color:var(--navy)}
.zl-postnav a span{display:block;font-size:12px;color:var(--gold);font-weight:700;letter-spacing:.06em;margin-bottom:6px}
.zl-postnav a.next{text-align:right}
@media(max-width:640px){.zl-postnav{grid-template-columns:1fr}}

/* archive */
.zl-archive-head{background:linear-gradient(160deg,var(--navy-ink),var(--navy));color:#fff;padding:72px 0 64px;text-align:center}
.zl-archive-head h1{font-family:var(--font-serif);font-size:clamp(26px,3.6vw,36px);font-weight:700;letter-spacing:-.02em}
.zl-archive-head p{color:rgba(255,255,255,.6);margin-top:12px;font-size:15px}
.zl-archive-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:56px}
@media(max-width:960px){.zl-archive-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.zl-archive-grid{grid-template-columns:1fr}}
.zl-pagination{display:flex;justify-content:center;gap:8px;margin-top:64px}
.zl-pagination .page-numbers{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:10px;background:var(--white);font-weight:600;font-size:14.5px;color:var(--ink);padding:0 12px}
.zl-pagination .page-numbers.current{background:var(--navy);color:#fff;border-color:var(--navy)}
.zl-pagination .page-numbers:hover{border-color:var(--gold)}

/* page (document) */
.zl-doc{max-width:var(--colw);margin:0 auto;padding:64px 24px 0}
.zl-doc .zl-prose h2{font-size:22px}

/* legal & ai notice inside content */
.zl-prose .legal-notice{font-size:.85em;color:#777;background:#f8f9fa;border-left:3px solid #cbd5e1;padding:10px 14px;margin-top:2em;border-radius:0 6px 6px 0}
.zl-prose .legal-notice p{margin:4px 0}
.zl-prose .ai-notice{font-size:.85em;color:#888;margin-top:2em}

/* finance tool */
.zl-fin-hero{background:linear-gradient(160deg,var(--navy-ink) 0%,var(--navy) 70%,#24365C 100%);color:#fff;padding:80px 0 120px;text-align:center;position:relative;overflow:hidden}
.zl-fin-hero::after{content:"";position:absolute;inset:0;background:radial-gradient(720px 300px at 50% 0%,rgba(201,162,75,.16),transparent 70%)}
.zl-fin-hero h1{font-family:var(--font-serif);font-size:clamp(26px,3.6vw,38px);font-weight:700;letter-spacing:-.02em;position:relative;z-index:1}
.zl-fin-hero p{color:rgba(255,255,255,.68);margin:16px auto 0;max-width:620px;font-size:16px;position:relative;z-index:1}
.zl-fin-tool{max-width:860px;margin:-64px auto 0;padding:0 24px;position:relative;z-index:2}
.zl-fin-box{background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-lg);padding:34px 34px 38px}
.zl-fin-searchrow{display:flex;gap:12px}
.zl-fin-searchrow input{flex:1;min-height:52px;border:1.5px solid var(--line);border-radius:12px;padding:0 18px;font-size:16px;font-family:var(--font-body);color:var(--ink);background:var(--paper);transition:border-color .2s ease}
.zl-fin-searchrow input:focus{outline:none;border-color:var(--gold)}
.zl-fin-hint{font-size:13px;color:var(--faint);margin-top:12px}
.zl-fin-results{margin-top:22px}
.zl-fin-list{list-style:none;border:1px solid var(--line);border-radius:var(--r-sm);overflow:hidden}
.zl-fin-list li{border-bottom:1px solid var(--line-soft)}
.zl-fin-list li:last-child{border-bottom:0}
.zl-fin-list button{width:100%;text-align:left;background:var(--white);border:0;padding:15px 18px;font-size:15px;font-family:var(--font-body);cursor:pointer;display:flex;justify-content:space-between;gap:12px;align-items:center;min-height:48px;transition:background .15s ease}
.zl-fin-list button:hover{background:var(--gold-tint)}
.zl-fin-list .code{font-size:12.5px;color:var(--faint)}
.zl-fin-status{font-size:14.5px;color:var(--muted);padding:14px 4px}
.zl-fin-company h2{font-family:var(--font-serif);font-size:24px;color:var(--ink);margin:30px 0 4px}
.zl-fin-company .zl-fin-sub{font-size:13.5px;color:var(--faint);margin-bottom:20px}
.zl-fin-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:20px 0 8px}
@media(max-width:640px){.zl-fin-kpis{grid-template-columns:1fr 1fr}.zl-fin-searchrow{flex-direction:column}}
.zl-fin-kpi{background:var(--ivory);border-radius:var(--r-sm);padding:16px 18px}
.zl-fin-kpi .k{font-size:12.5px;color:var(--muted);font-weight:600}
.zl-fin-kpi .v{font-size:20px;font-weight:800;color:var(--navy);margin-top:4px;letter-spacing:-.01em}
.zl-fin-note{margin-top:26px}
