section.featured{border-bottom:1px solid var(--hair);padding:64px 0}.feat{border:1px solid var(--hair);background:#fff;grid-template-columns:1.2fr 1fr;display:grid}.feat .feat_visual{background:var(--ink);color:#fff;flex-direction:column;justify-content:space-between;min-height:420px;padding:56px 48px;display:flex;position:relative;overflow:hidden}.feat .feat_visual:after{content:"";background:radial-gradient(circle,#2563eb47 0%,#0000 70%);width:380px;height:380px;position:absolute;bottom:-120px;right:-120px}.feat .feat_visual .stamp{color:#fff9;letter-spacing:.06em;font-family:JetBrains Mono,monospace;font-size:11px}.feat .feat_visual .feat_h{letter-spacing:-.018em;color:#fff;z-index:1;max-width:18ch;margin:0;font-size:38px;font-weight:600;line-height:1.12;position:relative}.feat .feat_visual .meta{color:#ffffffb3;align-items:center;gap:16px;font-size:13px;display:flex}.feat .feat_body{flex-direction:column;justify-content:center;gap:16px;padding:48px;display:flex}.feat .feat_body .tag{letter-spacing:.08em;text-transform:uppercase;color:var(--brand);align-items:center;gap:8px;font-size:12px;font-weight:500;display:inline-flex}.feat .feat_body p{color:var(--slate);max-width:50ch;margin:0;font-size:16px;line-height:1.6}.feat .feat_body .read{color:var(--ink);align-items:center;gap:8px;margin-top:8px;font-size:14px;font-weight:500;display:inline-flex}.feat .feat_body .read svg{transition:transform .2s}.feat .feat_body .read:hover{color:var(--brand)}.feat .feat_body .read:hover svg{transform:translate(4px)}.blog_filters{border-bottom:1px solid var(--hair);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:24px 0;display:flex}.blog_filters .pills{flex-wrap:wrap;gap:8px;display:flex}.blog_filters .pills a{border:1px solid var(--hair-2);color:var(--slate);cursor:pointer;background:#fff;padding:8px 14px;font-family:inherit;font-size:13px;font-weight:500;text-decoration:none;transition:all .16s;display:inline-block}.blog_filters .pills a:hover{border-color:var(--ink);color:var(--ink)}.blog_filters .pills a.on{background:var(--ink);color:#fff;border-color:var(--ink)}.posts{border-top:1px solid var(--hair);border-left:1px solid var(--hair);background:#fff;grid-template-columns:repeat(3,1fr);display:grid}.post{border-right:1px solid var(--hair);border-bottom:1px solid var(--hair);cursor:pointer;color:inherit;background:#fff;flex-direction:column;gap:12px;padding:28px;text-decoration:none;transition:background .22s;display:flex}.post:hover{background:var(--paper)}.post .stamp{color:var(--n500);letter-spacing:.04em;flex-wrap:wrap;align-items:center;gap:12px;font-family:JetBrains Mono,monospace;font-size:11px;display:flex}.post .cat{color:var(--brand);font-weight:500}.post .ttl{color:var(--ink);letter-spacing:-.012em;margin-top:4px;font-size:19px;font-weight:600;line-height:1.25}.post .lede{color:var(--slate);font-size:13px;line-height:1.55}.post .author{color:var(--n500);align-items:center;gap:10px;margin-top:auto;padding-top:16px;font-size:13px;display:flex}.post .author .av{background:var(--mist);width:28px;height:28px;color:var(--ink);object-fit:cover;border-radius:999px;justify-content:center;align-items:center;font-size:11px;font-weight:600;display:flex}.post .author .av_img{padding:0}.post .author .nm{color:var(--ink);font-weight:500}.post .author .li{width:24px;height:24px;color:var(--n500);border:1px solid var(--hair-2);border-radius:999px;justify-content:center;align-items:center;margin-left:auto;transition:color .16s,border-color .16s,background .16s;display:inline-flex}.post .author .li:hover{color:#0a66c2;background:#eff6ff;border-color:#0a66c2}.post .cover{aspect-ratio:16/10;background:var(--mist);object-fit:cover;width:100%;margin-bottom:4px}.empty{text-align:center;color:var(--n500);border:1px dashed var(--hair-2);padding:80px 0;font-size:15px}section.news{background:var(--paper)}.news_box{border:1px solid var(--hair);background:#fff;grid-template-columns:1.2fr 1fr;display:grid}.news_box .news_left{padding:44px}.news_box h2.h{max-width:16ch}.news_box p.lede{max-width:44ch;margin-top:18px}.news_box .news_bullets{flex-direction:column;gap:10px;margin-top:22px;padding:0;list-style:none;display:flex}.news_box .news_bullets li{color:var(--slate);grid-template-columns:18px 1fr;gap:10px;font-size:14px;display:grid}.news_box .news_bullets li:before{content:"";background:var(--brand);width:5px;height:5px;margin-top:8px}.news_box .news_form{background:var(--paper);border-left:1px solid var(--hair);flex-direction:column;justify-content:center;gap:12px;padding:44px;display:flex}.news_box .news_form input{border:1px solid var(--hair-3);color:var(--ink);background:#fff;border-radius:8px;outline:none;padding:14px 16px;font-family:inherit;font-size:15px}.news_box .news_form input:focus{border-color:var(--brand)}.news_box .news_form button{background:var(--ink);color:#fff;cursor:pointer;border:0;border-radius:999px;padding:14px 22px;font-family:inherit;font-size:15px;font-weight:500;transition:background .2s}.news_box .news_form button:hover:not(:disabled){background:var(--brand)}.news_box .news_form button:disabled{opacity:.7;cursor:not-allowed}.news_box .news_form .meta{color:var(--n500);margin-top:4px;font-size:12px}.news_box .news_form .err{color:#b91c1c;margin-top:4px;font-size:12px}@media (max-width:1080px){.posts{grid-template-columns:repeat(2,1fr)}.feat{grid-template-columns:1fr}.feat .feat_visual{min-height:280px;padding:36px 28px}.feat .feat_visual .feat_h{font-size:28px}.feat .feat_body{padding:32px 28px}.news_box{grid-template-columns:1fr}.news_box .news_form{border-left:0;border-top:1px solid var(--hair)}}@media (max-width:920px){.posts{grid-template-columns:1fr}.blog_filters{flex-direction:column;align-items:flex-start}}@media (max-width:640px){section.featured{padding:36px 0}.feat .feat_visual{min-height:220px;padding:28px 20px}.feat .feat_visual .feat_h{max-width:none;font-size:clamp(22px,6.4vw,26px);line-height:1.16}.feat .feat_visual:after{width:220px;height:220px;bottom:-60px;right:-60px}.feat .feat_visual .stamp{font-size:10px}.feat .feat_visual .meta{flex-wrap:wrap;gap:8px;font-size:12px}.feat .feat_body{gap:12px;padding:24px 20px}.feat .feat_body p{font-size:15px}.feat .feat_body .tag{letter-spacing:.06em;font-size:11px}.blog_filters{gap:8px;padding:16px 0}.blog_filters .pills{gap:6px}.blog_filters .pills a{padding:7px 12px;font-size:12.5px}.post{gap:10px;padding:22px 18px}.post .ttl{font-size:17px}.post .lede{font-size:13px}.post .stamp{gap:8px;font-size:10px}.empty{padding:56px 18px;font-size:14px}}@media (max-width:380px){.feat .feat_visual{min-height:180px;padding:22px 16px}.feat .feat_body,.post{padding:20px 16px}.post .ttl{font-size:16.5px}.blog_filters .pills a{padding:6px 10px;font-size:12px}}.post_article{padding:64px 0 96px}.post_article .post_head{flex-direction:column;gap:18px;max-width:720px;margin:0 auto 48px;display:flex}.post_article .post_head .stamp{color:var(--n500);letter-spacing:.06em;flex-wrap:wrap;gap:12px;font-family:JetBrains Mono,monospace;font-size:11px;display:flex}.post_article .post_head .cat{color:var(--brand);font-weight:500}.post_article h1.title{letter-spacing:-.022em;color:var(--ink);margin:0;font-size:48px;font-weight:600;line-height:1.06}.post_article .post_head .lede{color:var(--slate);margin:0;font-size:19px;line-height:1.55}.post_article .post_head .by{color:var(--n500);align-items:center;gap:10px;font-size:14px;display:flex}.post_article .post_head .by .av{background:var(--mist);width:32px;height:32px;color:var(--ink);object-fit:cover;border-radius:999px;justify-content:center;align-items:center;font-size:12px;font-weight:600;display:flex}.post_article .post_head .by .av_img{padding:0}.post_article .post_head .by .li{width:28px;height:28px;color:var(--n500);border:1px solid var(--hair-2);border-radius:999px;justify-content:center;align-items:center;transition:color .16s,border-color .16s,background .16s;display:inline-flex}.post_article .post_head .by .li:hover{color:#0a66c2;background:#eff6ff;border-color:#0a66c2}.post_body{max-width:680px;color:var(--slate);margin:0 auto;font-size:17px;line-height:1.75}.post_body h2{color:var(--ink);letter-spacing:-.012em;margin:48px 0 12px;font-size:28px;font-weight:600}.post_body h3{color:var(--ink);margin:36px 0 10px;font-size:22px;font-weight:600}.post_body p{margin:16px 0}.post_body a{color:var(--brand);text-underline-offset:3px;text-decoration:underline}.post_body ul,.post_body ol{margin:16px 0;padding-left:22px}.post_body blockquote{border-left:3px solid var(--brand);color:var(--ink);margin:24px 0;padding-left:20px;font-size:19px}.post_body img{margin:28px 0}.post_body code{background:var(--mist);color:var(--ink);padding:2px 6px;font-family:JetBrains Mono,monospace;font-size:.92em}.post_body pre{background:var(--ink);color:#fff;margin:24px 0;padding:20px 24px;font-family:JetBrains Mono,monospace;font-size:13px;line-height:1.6;overflow-x:auto}.post_body pre code{color:inherit;background:0 0;padding:0}@media (max-width:920px){.post_article{padding:40px 0 64px}.post_article .post_head{gap:14px;margin-bottom:32px}.post_article h1.title{font-size:36px}.post_article .post_head .lede{font-size:17px}.post_body{font-size:16.5px;line-height:1.7}.post_body h2{margin:40px 0 10px;font-size:26px}.post_body h3{margin:28px 0 8px;font-size:20px}.post_body blockquote{font-size:17.5px}}@media (max-width:640px){.post_article{padding:28px 0 48px}.post_article .post_head{gap:12px;margin-bottom:24px}.post_article h1.title{letter-spacing:-.018em;font-size:clamp(26px,7.4vw,32px);line-height:1.1}.post_article .post_head .lede{font-size:16px;line-height:1.5}.post_article .post_head .by{font-size:13px}.post_article .post_head .stamp{gap:8px;font-size:10.5px}.post_body{font-size:16px;line-height:1.7}.post_body h2{margin:32px 0 8px;font-size:clamp(20px,5.6vw,24px)}.post_body h3{margin:24px 0 6px;font-size:18px}.post_body p{margin:14px 0}.post_body blockquote{margin:20px 0;padding-left:16px;font-size:16.5px}.post_body pre{border-radius:0;margin:18px 0;padding:16px 18px;font-size:12.5px}}@media (max-width:380px){.post_article h1.title{font-size:clamp(22px,7.6vw,26px)}.post_body{font-size:15.5px}}
