:root{color-scheme:light;--ink:#123e58;--muted:#4d6370;--paper:#fffaf0;--accent:#a91655;--line:#ded9cf;--rose:#ffe5ed}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
a{color:var(--accent);text-underline-offset:.2em}
a:focus-visible,.blog-table:focus-visible{outline:3px solid #168c82;outline-offset:4px}
img{display:block;max-width:100%;height:auto}
.blog-shell{width:min(1120px,calc(100% - 40px));margin-inline:auto}
.blog-header{border-bottom:1px solid var(--line);background:#fffaf0}
.blog-header>.blog-shell{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.blog-brand{display:flex;align-items:center;gap:8px;text-decoration:none;color:var(--ink);font-size:24px;font-weight:750;letter-spacing:-.055em}
.blog-brand img{width:45px;height:45px;border-radius:50%}
.blog-brand em{font-style:normal;color:var(--accent)}
.blog-header nav{display:flex;gap:clamp(10px,2.2vw,25px);font-size:14px;font-weight:600}
.blog-header nav a{color:inherit;text-decoration:none}
.blog-header nav a:hover{text-decoration:underline}
.blog-index-intro{padding:clamp(30px,6vw,75px) 0 28px;max-width:740px}
.blog-index-intro>p:last-child,.blog-deck{font-size:clamp(17px,2vw,21px);color:var(--muted);margin:.8em 0 0}
.blog-tag{margin:0 0 8px;text-transform:uppercase;letter-spacing:.1em;font-size:12px;font-weight:750;color:var(--accent)}
h1{font-size:clamp(34px,5.2vw,65px);line-height:1.06;letter-spacing:-.045em;margin:0;text-wrap:balance}
.blog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;list-style:none;padding:0;margin:0 0 48px}
.blog-card{border:1px solid var(--line);border-radius:18px;background:#fff;overflow:hidden}
.blog-card a{display:block;height:100%;color:inherit;text-decoration:none}
.blog-card a:focus-visible{outline-offset:-4px}
.blog-card a:hover h2{text-decoration:underline}
.blog-card img{aspect-ratio:16/10;width:100%;object-fit:cover}
.blog-card a>div{padding:18px}
.blog-card h2{font-size:clamp(18px,2vw,22px);line-height:1.2;margin:0 0 10px}
.blog-card p:last-child{font-size:14px;line-height:1.5;color:var(--muted);margin:0}
.blog-article{width:min(100%,790px);margin-inline:auto}
.blog-crumbs{display:flex;flex-wrap:wrap;gap:8px;color:var(--muted);font-size:13px;margin:26px 0}
.blog-cover{margin:25px 0 31px}
.blog-cover img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:20px}
.blog-prose{font-size:clamp(16px,1.65vw,18px);line-height:1.72}
.blog-prose h2{margin:1.55em 0 .45em;font-size:clamp(25px,3.3vw,36px);line-height:1.16;letter-spacing:-.025em}
.blog-prose h3{font-size:21px;line-height:1.25;margin:1.3em 0 .4em}
.blog-prose p,.blog-prose ul,.blog-prose ol{margin:0 0 1em}
.blog-prose li+li{margin-top:.28em}
.blog-prose img{border-radius:16px}
.blog-table{overflow-x:auto;margin:18px 0 24px;border:1px solid var(--line);border-radius:12px}
.blog-table table{border-collapse:collapse;width:100%;min-width:485px;font-size:14px;line-height:1.45}
.blog-table td,.blog-table th{text-align:left;vertical-align:top;padding:11px 14px;border-bottom:1px solid var(--line)}
.blog-table th{background:var(--rose)}
.blog-table tr:last-child td{border-bottom:0}
.blog-related{width:min(100%,790px);margin:38px auto 48px;padding:clamp(18px,4vw,34px);background:var(--rose);border-radius:20px}
.blog-related h2{margin:0;font-size:24px}
.blog-related ul{padding-left:20px}
.blog-main-link{font-weight:700}
.blog-footer{padding:22px 0 36px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:12px 25px;color:var(--muted);font-size:13px}
@media(max-width:850px){.blog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:550px){.blog-shell{width:calc(100% - 28px)}.blog-grid{grid-template-columns:1fr}.blog-brand{font-size:20px;gap:6px}.blog-brand img{width:34px;height:34px}.blog-header nav{font-size:13px;gap:10px}.blog-header>.blog-shell{min-height:60px}}
