:root{--red:#E8253C;--ink:#151515;--sub:#888;--line:#efefef;--bg:#fff}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:'Noto Sans KR',-apple-system,sans-serif;color:var(--ink);background:var(--bg);line-height:1.7}
a{color:inherit;text-decoration:none}
.wrap{max-width:760px;margin:0 auto;padding:0 20px}
/* header */
.site-head{border-bottom:1px solid var(--line);position:sticky;top:0;background:rgba(255,255,255,.96);backdrop-filter:blur(6px);z-index:50}
.site-head>.wrap{display:flex;align-items:baseline;gap:12px;padding-top:18px}
.logo{font-size:28px;font-weight:900;letter-spacing:-1px}
.logo em,.flogo em{font-style:normal;color:var(--red)}
.tagline{font-size:12px;color:var(--sub)}
.tabs{overflow-x:auto;-webkit-overflow-scrolling:touch}
.tabs .wrap{display:flex;gap:4px;padding-top:10px;padding-bottom:10px;white-space:nowrap}
.tabs a{font-size:14px;font-weight:700;color:var(--sub);padding:7px 14px;border-radius:30px}
.tabs a.on{background:var(--ink);color:#fff}
/* hero card */
.hero{display:block;position:relative;border-radius:16px;overflow:hidden;margin:22px 0 8px;aspect-ratio:16/9;background-size:cover;background-position:center}
.hero .grad{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.05) 30%,rgba(0,0,0,.75) 100%)}
.hero .tx{position:absolute;left:0;right:0;bottom:0;padding:20px 22px;color:#fff}
.hero .cat{display:inline-block;background:var(--red);font-size:12px;font-weight:700;padding:3px 10px;border-radius:20px;margin-bottom:8px}
.hero strong{display:block;font-size:22px;font-weight:900;line-height:1.4;text-shadow:0 2px 8px rgba(0,0,0,.4)}
.hero .meta{display:block;font-size:12px;color:rgba(255,255,255,.75);margin-top:6px}
/* list */
.list{display:flex;flex-direction:column}
.item{display:flex;gap:16px;padding:18px 0;border-bottom:1px solid var(--line);align-items:center}
.item .th{flex:none;width:112px;height:82px;border-radius:10px;background-size:cover;background-position:center}
.item strong{display:block;font-size:16px;font-weight:700;line-height:1.45}
.item .m{display:block;font-size:12px;color:var(--sub);margin-top:6px}
.item .m b{color:var(--red);font-weight:700}
.cat-title{font-size:24px;font-weight:900;margin:24px 0 4px}
.empty{padding:40px 0;color:var(--sub)}
/* article */
.article{padding-top:26px}
.cat-badge{display:inline-block;background:var(--red);color:#fff;font-size:12px;font-weight:700;padding:4px 12px;border-radius:20px}
article h1{font-size:26px;font-weight:900;line-height:1.4;margin:12px 0 8px}
.art-meta{font-size:13px;color:var(--sub);padding-bottom:14px;border-bottom:1px solid var(--line);margin-bottom:18px}
.art-hero{width:100%;border-radius:14px;margin-bottom:4px}
article img{width:100%;border-radius:14px;margin:22px 0 4px;display:block}
.img-credit{font-size:12px;color:#aaa;margin-bottom:14px}
article p{margin:16px 0;font-size:16.5px}
article h2{font-size:20px;font-weight:900;margin:32px 0 10px;padding-left:12px;border-left:4px solid var(--red)}
article ul,article ol{margin:14px 0 14px 22px;font-size:16px}
article li{margin:6px 0}
article table{border-collapse:collapse;width:100%;margin:18px 0;font-size:14.5px}
article th,article td{border:1px solid #ddd;padding:9px 11px;text-align:left}
article th{background:#f7f7f7;font-weight:700}
article strong{font-weight:700}
article .note{font-size:13px;color:#999;border-top:1px solid var(--line);padding-top:14px;margin-top:26px;line-height:1.7}
article .quote{background:#FFF5F6;border-left:4px solid var(--red);padding:14px 16px;border-radius:0 10px 10px 0;margin:18px 0;font-size:15.5px}
/* related */
.related{margin:36px 0 20px}
.related h2{font-size:17px;font-weight:900;margin-bottom:14px}
.rel-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.rel-grid a{font-size:13.5px;font-weight:700;line-height:1.45}
.rth{display:block;aspect-ratio:16/10;border-radius:10px;background-size:cover;background-position:center;margin-bottom:8px}
@media(max-width:560px){.rel-grid{grid-template-columns:1fr 1fr}.hero strong{font-size:18px}}
/* footer */
.site-foot{border-top:1px solid var(--line);margin-top:40px;padding:28px 0 40px;color:var(--sub);font-size:13px}
.flogo{font-size:20px;font-weight:900;color:var(--ink)}
.site-foot p{margin:8px 0}
.site-foot nav{margin:10px 0}
.site-foot nav a{color:#666;font-weight:700}
.copy{font-size:12px;color:#bbb}
