/* Customer V4/V5 editorial components; independent of the employee application.
   V5: 흰 바탕·검정·회색, 제목 명조(var(--serif)), 빨강 없음. */
.gl-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.gl-card { display:flex; flex-direction:column; background:var(--surface); border:1px solid var(--border); transition:border-color .2s; color:var(--ink); }
.gl-card:hover { border-color:var(--ink); }
.gl-card:only-child { grid-column:1/-1; display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,1fr); align-items:center; }
.gl-card:only-child h3 { font-family:var(--serif); font-weight:400; letter-spacing:-0.02em; font-size:clamp(22px,2.4vw,32px); }
.gl-card img { display:block; width:100%; height:auto; aspect-ratio:3/2; object-fit:cover; }
.gl-card img.gl-card-cover { aspect-ratio:4/5; object-fit:contain; background:#072e5c; }
.gl-card-body { display:flex; flex-direction:column; flex:1; padding:24px; }
.gl-card-meta { display:flex; justify-content:space-between; gap:12px; align-items:center; font-size:12px; color:var(--muted); margin-bottom:14px; }
.gl-card-meta time { font-variant-numeric:tabular-nums; }
.gl-card h3 { font-size:18px; font-weight:600; line-height:1.45; margin-bottom:10px; }
.gl-card p { font-size:14px; line-height:1.7; color:var(--muted); }
.gl-card-go { display:inline-block; align-self:flex-start; font-size:14px; font-weight:500; margin-top:auto; padding-top:22px; padding-bottom:2px; border-bottom:1px solid currentColor; }
.gl-heading { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:end; gap:20px; margin-bottom:32px; }
.gl-heading h2 { font-family:var(--serif); font-size:clamp(28px,3.6vw,46px); font-weight:400; letter-spacing:-0.02em; line-height:1.18; }
.gl-heading p { font-size:16px; color:var(--muted); margin-top:14px; }
.gl-new { display:inline-block; background:#000; color:#fff; font:600 10px/1.4 'Pretendard', sans-serif; letter-spacing:.04em; padding:2px 7px; margin-left:4px; vertical-align:1px; }
.gl-article { max-width:900px; margin:auto; padding:clamp(48px,6vw,88px) 24px clamp(80px,9vw,140px); }
.gl-meta { display:flex; justify-content:space-between; gap:16px; font-size:13px; color:var(--muted); margin-bottom:24px; font-variant-numeric:tabular-nums; }
.gl-cover,.gl-detail { margin:0; }
.gl-cover img,.gl-detail img { display:block; width:100%; height:auto; }
.gl-cover figcaption,.gl-detail figcaption { font-size:12px; color:var(--muted); text-align:right; margin-top:10px; }
.gl-points { margin:56px 0; }
.gl-points h2 { font-family:var(--serif); font-size:clamp(26px,3vw,36px); font-weight:400; letter-spacing:-0.02em; line-height:1.2; margin-bottom:24px; }
.gl-points ol { padding:0; list-style:none; }
.gl-points li { display:flex; align-items:baseline; gap:24px; padding:22px 0; border-top:1px solid var(--border); }
.gl-points li:first-child { border-top-color:var(--ink); }
.gl-points li span { color:var(--muted); font-family:var(--serif); font-weight:400; font-size:22px; font-variant-numeric:tabular-nums; }
.gl-points li p { font-size:17px; line-height:1.75; margin:0; }
.gl-note { margin-top:32px; padding:22px 26px; background:var(--bg); border-left:2px solid var(--ink); font-size:15px; line-height:1.8; }
.gl-source { margin-top:18px; font-size:13px; color:var(--muted); }
.gl-source a { text-decoration:underline; text-underline-offset:3px; }
.gl-bottom { display:flex; flex-wrap:wrap; justify-content:space-between; gap:14px; margin-top:48px; }
.gl-empty { border:1px solid var(--border); padding:24px; background:var(--surface); font-size:15px; color:var(--muted); }
.gh-card-image { display:block; width:100%; height:auto; aspect-ratio:16/9; object-fit:cover; margin-bottom:20px; }
@media(max-width:899px) { .gl-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:599px) { .gl-grid { grid-template-columns:1fr; } .gl-card:only-child { display:block; } .gl-points li { gap:14px; } .gl-points li p { font-size:16px; } }
