.blog-list{border-bottom:var(--rule) solid var(--line-2)}.blog-row{display:grid;grid-template-columns:64px minmax(0,1fr) 56px;align-items:center;border-bottom:var(--rule) solid var(--line);padding:clamp(28px,4vw,52px) var(--pad);gap:clamp(20px,3vw,40px);cursor:pointer;text-decoration:none;color:var(--ink);transition:background .4s cubic-bezier(.2,.7,.2,1)}.blog-row:last-child{border-bottom:0}.blog-row:hover{background:var(--paper-3)}.blog-idx{align-self:flex-start;padding-top:4px}.blog-body{display:flex;flex-direction:column;gap:10px}.blog-title{margin:0;font-family:var(--display);font-weight:700;letter-spacing:-.03em;line-height:1;font-size:clamp(22px,3.2vw,46px);transition:transform .4s cubic-bezier(.2,.7,.2,1)}.blog-row:hover .blog-title{transform:translateX(8px)}.blog-excerpt{margin:0;font-size:15px;color:var(--ink-2);line-height:1.5;max-width:60ch}.blog-meta{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.blog-tag{display:inline-flex;align-items:center;padding:3px 10px;border:var(--rule) solid var(--line-2);border-radius:999px;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}.blog-arr{display:flex;justify-content:flex-end;align-self:center}.blog-arr svg{width:22px;height:22px;opacity:0;transform:translateX(-10px);transition:opacity .4s,transform .4s;color:var(--ink)}.blog-row:hover .blog-arr svg{opacity:1;transform:translateX(0)}.blog-empty{padding:clamp(64px,12vw,160px) var(--pad);display:flex;flex-direction:column;gap:16px}.blog-empty .empty-label{display:block;margin-bottom:16px}.blog-empty p{margin:0;font-family:var(--display);font-size:clamp(20px,3vw,40px);font-weight:700;letter-spacing:-.03em;color:var(--ink-2)}.blog-article{max-width:760px;margin:0 auto;padding:clamp(40px,6vw,88px) var(--pad) clamp(64px,10vw,120px)}.blog-article-head{padding-bottom:clamp(32px,5vw,60px);border-bottom:var(--rule) solid var(--line-2);margin-bottom:clamp(36px,5.5vw,68px)}.blog-article-meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:clamp(20px,3vw,36px);color:var(--ink-3)}.blog-back{margin-left:auto;color:var(--coral);text-decoration:none;transition:opacity .25s}.blog-back:hover{opacity:.7}.blog-article-title{margin:0 0 clamp(14px,2vw,24px);font-family:var(--display);font-weight:800;letter-spacing:-.04em;line-height:.94;font-size:clamp(34px,6vw,88px)}.blog-article-excerpt{margin:0 0 clamp(16px,2.5vw,28px);font-family:var(--display);font-weight:600;font-size:clamp(17px,2vw,26px);color:var(--ink-2);letter-spacing:-.01em;line-height:1.3;max-width:48ch}.blog-article-tags{display:flex;flex-wrap:wrap;gap:8px}.blog-article-image{margin-bottom:clamp(32px,5vw,56px);border-radius:4px;overflow:hidden;border:var(--rule) solid var(--line)}.blog-article-image img{display:block;width:100%;height:auto}.blog-content{font-size:17px;line-height:1.75;color:var(--ink)}.blog-content h1,.blog-content h2,.blog-content h3,.blog-content h4{font-family:var(--display);font-weight:700;letter-spacing:-.025em;line-height:1.05;margin:1.8em 0 .6em;color:var(--ink)}.blog-content h1{font-size:clamp(26px,3.5vw,48px)}.blog-content h2{font-size:clamp(22px,2.8vw,38px)}.blog-content h3{font-size:clamp(18px,2vw,28px)}.blog-content p{margin:0 0 1.2em}.blog-content p:last-child{margin-bottom:0}.blog-content a{color:var(--violet);text-decoration:underline;text-underline-offset:3px}.blog-content a:hover{color:var(--coral)}.blog-content strong{font-weight:700;color:var(--ink)}.blog-content em{font-family:var(--serif);font-style:italic;color:var(--coral)}.blog-content ol,.blog-content ul{margin:0 0 1.2em;padding-left:1.4em}.blog-content li{margin-bottom:.4em}.blog-content blockquote{margin:1.6em 0;padding:1.2em var(--pad);border-left:3px solid var(--coral);background:var(--paper-3);font-family:var(--serif);font-style:italic;font-size:1.06em;color:var(--ink-2)}.blog-content code{font-family:var(--mono);font-size:.88em;background:var(--paper-2);padding:2px 6px;border-radius:3px;color:var(--ink)}.blog-content pre{background:var(--ink);color:var(--cream);padding:1.4em 1.6em;border-radius:4px;overflow-x:auto;margin:1.6em 0;font-family:var(--mono);font-size:.87em;line-height:1.6}.blog-content pre code{background:none;padding:0;color:inherit;font-size:inherit}.blog-content img{max-width:100%;height:auto;border-radius:3px;border:var(--rule) solid var(--line)}.blog-content hr{border:none;border-top:var(--rule) solid var(--line-2);margin:2.4em 0}@media (max-width:720px){.blog-row{grid-template-columns:40px minmax(0,1fr) 36px}.blog-article{max-width:100%}}