*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:#090d0b;color:#f4f7f4;font-family:Pretendard,-apple-system,BlinkMacSystemFont,sans-serif}
a{color:inherit;text-decoration:none}img{display:block;width:100%;height:auto}button{font:inherit}
.journal{max-width:1280px;padding:0 var(--pad);margin:auto}
.journal-header{padding-block:clamp(56px,7vw,100px) 48px;border-bottom:1px solid #25382d}
.journal-kicker{color:#8bd1aa;font-size:calc(12px * var(--mobile-font-scale,1));letter-spacing:.16em;margin-bottom:22px}
.journal-header h1{font-size:calc(clamp(32px,4.5vw,64px) * var(--mobile-font-scale,1));line-height:1.25;letter-spacing:-.055em;font-weight:600;max-width:20ch}
.journal-intro{font-size:calc(clamp(17px,1.5vw,20px) * var(--mobile-font-scale,1));color:#b6c5bc;line-height:1.9;margin-top:24px;max-width:700px}
.featured-post{display:grid;grid-template-columns:1.15fr 1fr;gap:clamp(28px,4vw,64px);align-items:center;padding-block:56px 72px}
.featured-post__image{overflow:hidden;border-radius:6px;background:#13281d}
.featured-post__image img{aspect-ratio:16/11;object-fit:cover;object-position:center top;transition:transform .4s ease}
.featured-post:hover img,.post-card:hover img{transform:scale(1.025)}
.post-tag{display:inline-block;padding:7px 11px;border:1px solid #43654f;border-radius:30px;color:#a4dfbd;font-size:calc(12px * var(--mobile-font-scale,1));line-height:1.4}
.featured-post h2{font-size:calc(clamp(25px,3vw,40px) * var(--mobile-font-scale,1));font-weight:600;letter-spacing:-.045em;line-height:1.4;margin-top:20px}
.post-description{color:#b6c5bc;font-size:calc(16px * var(--mobile-font-scale,1));line-height:1.9;margin-top:18px}
.post-meta{display:flex;gap:12px;flex-wrap:wrap;color:#98a99f;font-size:calc(12px * var(--mobile-font-scale,1));margin-top:22px;line-height:1.8}
.read-link{display:inline-block;color:#a4dfbd;font-size:calc(14px * var(--mobile-font-scale,1));margin-top:26px}
.journal-section{padding-block:40px 72px;border-top:1px solid #25382d}
.journal-section>h2{font-size:calc(26px * var(--mobile-font-scale,1));font-weight:500;letter-spacing:-.035em;margin-bottom:30px}
.post-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px}
.post-card{min-width:0}.post-card__image{overflow:hidden;border-radius:6px;background:#13281d;margin-bottom:24px}
.post-card img{aspect-ratio:16/10;object-fit:cover;object-position:center;transition:transform .4s ease}
.post-card h3{font-size:calc(clamp(22px,2.3vw,29px) * var(--mobile-font-scale,1));line-height:1.45;font-weight:500;letter-spacing:-.04em;margin-top:16px}
.journal-cta{padding:clamp(30px,4vw,56px);margin-bottom:72px;background:linear-gradient(130deg,#13281d,#0c130f);border:1px solid #25382d;border-radius:6px;display:flex;gap:28px;align-items:center;justify-content:space-between}
.journal-cta h2{font-size:calc(clamp(22px,2.8vw,32px) * var(--mobile-font-scale,1));line-height:1.5;font-weight:500;letter-spacing:-.04em}
.journal-cta p{color:#b6c5bc;font-size:calc(15px * var(--mobile-font-scale,1));line-height:1.9;margin-top:10px}
.journal-cta .cta__btn{flex:none;text-align:center}
.breadcrumbs{display:flex;gap:8px;flex-wrap:wrap;font-size:calc(13px * var(--mobile-font-scale,1));color:#98a99f;padding-top:34px;line-height:1.7}
.breadcrumbs a:hover,.article-body a:hover,.article-toc a:hover{text-decoration:underline;text-underline-offset:4px}
.article-header{max-width:950px;padding-block:44px 36px}
.article-header h1{font-size:calc(clamp(32px,4.5vw,56px) * var(--mobile-font-scale,1));line-height:1.3;letter-spacing:-.05em;font-weight:600;margin-top:22px}
.article-lead{font-size:calc(clamp(18px,1.8vw,23px) * var(--mobile-font-scale,1));line-height:1.9;color:#b6c5bc;margin-top:28px}
.article-cover{max-width:950px;margin-bottom:48px}
.article-cover img{aspect-ratio:16/8.5;object-fit:cover;object-position:center top;border-radius:6px;background:#13281d}
.article-cover figcaption{font-size:calc(12px * var(--mobile-font-scale,1));color:#98a99f;margin-top:12px;line-height:1.7}
.article-layout{display:grid;grid-template-columns:210px minmax(0,740px);gap:clamp(32px,5vw,70px);align-items:start;padding-bottom:64px}
.article-toc{position:sticky;top:28px;border-top:1px solid #43654f;padding-top:20px}
.article-toc h2{font-size:calc(14px * var(--mobile-font-scale,1));font-weight:500;margin-bottom:18px}
.article-toc ol{list-style:none;display:grid;gap:13px}
.article-toc a{display:block;font-size:calc(13px * var(--mobile-font-scale,1));color:#b6c5bc;line-height:1.7}
.article-body{min-width:0}.article-body section{scroll-margin-top:30px;margin-bottom:48px}
.article-body h2{font-size:calc(clamp(23px,2.3vw,29px) * var(--mobile-font-scale,1));line-height:1.5;letter-spacing:-.035em;font-weight:500;margin-bottom:20px}
.article-body p,.article-body li{font-size:calc(19px * var(--mobile-font-scale,1));line-height:1.95;color:#d0dbd4}
.article-body p+p{margin-top:18px}.article-body ul{padding-left:22px;margin-block:20px}.article-body li+li{margin-top:10px}
.article-body a{color:#a4dfbd;text-decoration:underline;text-underline-offset:4px}
.article-note{padding:24px;border-left:2px solid #8bd1aa;background:#0e1612;font-size:calc(15px * var(--mobile-font-scale,1));line-height:1.9;color:#b6c5bc}
.site-footer .footer-blog{color:#a4dfbd}
@media(max-width:900px){.featured-post{grid-template-columns:1fr 1fr;gap:28px}.article-layout{grid-template-columns:1fr;gap:36px}.article-toc{position:static;max-width:740px}.article-toc ol{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 24px}}
@media(max-width:640px){.journal-header{padding-block:44px 32px}.journal-header h1{max-width:18ch}.featured-post{grid-template-columns:1fr;padding-block:32px 44px;gap:24px}.featured-post__image img{aspect-ratio:16/11}.featured-post h2{margin-top:16px}.post-grid{grid-template-columns:1fr;gap:38px}.journal-section{padding-block:30px 44px}.journal-cta{flex-direction:column;align-items:stretch;margin-bottom:48px;gap:24px}.journal-cta .cta__btn{width:100%}.article-header{padding-top:30px}.article-header h1{font-size:calc(34px * var(--mobile-font-scale,1))}.article-cover{margin-bottom:30px}.article-cover img{aspect-ratio:4/3}.article-toc ol{grid-template-columns:1fr}.article-layout{padding-bottom:32px}.article-body section{margin-bottom:36px}.article-body p,.article-body li{font-size:calc(20px * var(--mobile-font-scale,1))}.article-note{padding:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.featured-post img,.post-card img{transition:none;transform:none!important}}
/* Editorial blocks are scoped to blog pages; main site layouts stay unchanged. */
.blog-page .article-body strong{color:#f4f7f4;font-weight:650}
.blog-page .article-body section>p,.blog-page .article-body section>ul{margin-top:18px}
.blog-page .article-cover img.journal-graphic{aspect-ratio:16/9;object-fit:contain}
.blog-page .post-meta a:hover{text-decoration:underline}
.blog-page .article-figure{margin:32px 0}
.blog-page .article-figure picture{display:block;overflow:hidden;border-radius:12px;background:#13281d;border:1px solid #2b4535}
.blog-page .article-figure img{width:100%;height:auto;aspect-ratio:var(--figure-ratio);object-fit:contain}
.blog-page .article-figure figcaption{font-size:calc(14px * var(--mobile-font-scale,1));line-height:1.7;color:#98a99f;margin-top:12px}
.blog-page .article-table{margin:28px 0;max-width:100%;border:1px solid #345140;border-radius:10px;overflow:hidden}
.blog-page .article-table table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:calc(15px * var(--mobile-font-scale,1));line-height:1.8}
.blog-page .article-table caption{text-align:left;padding:18px;background:#13281d;font-weight:600;color:#e2f1e6}
.blog-page .article-table th,.blog-page .article-table td{text-align:left;vertical-align:top;padding:16px 13px;border-top:1px solid #2b4133;overflow-wrap:anywhere;font-weight:400;color:#c8d7cd}
.blog-page .article-table thead th{background:#0e1b13;color:#a4dfbd;font-weight:600}
.blog-page .article-table tbody th{color:#f4f7f4;font-weight:600}
.blog-page .article-callout{padding:24px;border-left:3px solid #8bd1aa;background:#102017;border-radius:0 8px 8px 0;margin:28px 0}
.blog-page .article-callout h3{font-size:calc(19px * var(--mobile-font-scale,1));line-height:1.7;color:#bce8cb;margin-bottom:10px}
.blog-page .article-callout p{font-size:calc(17px * var(--mobile-font-scale,1));line-height:1.9}
.blog-page .article-next{margin-block:24px}
.blog-page .source-ref{font-size:.7em;line-height:0;margin-inline:3px;white-space:nowrap}
.blog-page .source-ref a{color:#8bd1aa;text-decoration:none}
.blog-page .article-sources{padding-top:30px;border-top:1px solid #345140}
.blog-page .article-sources h2{font-size:calc(21px * var(--mobile-font-scale,1))}
.blog-page .article-sources>p,.blog-page .article-sources li{font-size:calc(14px * var(--mobile-font-scale,1));line-height:1.8;color:#98a99f}
.blog-page .article-sources ol{padding-left:24px;margin-top:20px}
.blog-page .article-sources li{scroll-margin-top:30px;margin-top:15px;overflow-wrap:anywhere}
.blog-page .article-sources li span{display:block;margin-top:4px}
.blog-page .article-reviewed{font-size:calc(14px * var(--mobile-font-scale,1));color:#98a99f;padding-top:24px;border-top:1px solid #345140}
@media(max-width:640px){
 .blog-page .article-figure img{aspect-ratio:var(--figure-mobile-ratio)}
 .blog-page .article-table table,.blog-page .article-table tbody,.blog-page .article-table tr,.blog-page .article-table th,.blog-page .article-table td{display:block;width:100%}
 .blog-page .article-table table{font-size:calc(19px * var(--mobile-font-scale,1))}
 .blog-page .article-table caption{display:block;width:100%}
 .blog-page .article-table thead{display:none}
 .blog-page .article-table tr{padding:14px 16px}
 .blog-page .article-table tr+tr{border-top:1px solid #345140}
 .blog-page .article-table th,.blog-page .article-table td{border:0;padding:9px 0}
 .blog-page .article-table tbody th{color:#a4dfbd;padding-bottom:10px}
 .blog-page .article-table td:before{content:attr(data-label);display:block;color:#8fae9b;font-size:.85em;margin-bottom:3px}
 .blog-page .article-callout{padding:20px}
 .blog-page .article-callout p{font-size:calc(19px * var(--mobile-font-scale,1))}
 .blog-page .article-sources>p,.blog-page .article-sources li{font-size:calc(16px * var(--mobile-font-scale,1))}
}
.blog-page .article-tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:32px;padding-top:24px;border-top:1px solid #345140}
.blog-page .article-tags span{padding:6px 10px;border:1px solid #345140;border-radius:20px;color:#a4dfbd;font-size:calc(16px * var(--mobile-font-scale,1));line-height:1.6;overflow-wrap:anywhere;max-width:100%}
