.blog-shell{padding:64px 0 120px}.blog-shell .hd{margin-bottom:56px}.blog-shell .hd .label{margin-bottom:10px}.blog-shell .hd h1{font-size:clamp(36px,4.6vw,60px);line-height:1.08;letter-spacing:-.03em;margin:0 0 18px;font-weight:700;max-width:24ch}.blog-shell .hd p{font-size:18px;color:var(--muted);margin:0;max-width:38ch;line-height:1.45}.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:18px;gap:18px}.blog-card{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line-soft);border-radius:18px;overflow:hidden;transition:transform .25s ease,box-shadow .25s ease}.blog-card:hover{transform:translateY(-3px);box-shadow:0 28px 60px -40px rgba(0,0,0,.16)}.blog-card .cover{aspect-ratio:16/10;background:var(--bg);background-size:cover;background-position:50%}.blog-card .body{padding:22px 22px 24px;display:flex;flex-direction:column;gap:10px;flex:1 1}.blog-card .date{font-size:12px;color:var(--muted);font-weight:500}.blog-card h3{font-family:var(--font-display),system-ui,sans-serif;font-size:20px;line-height:1.22;font-weight:600;letter-spacing:-.018em;margin:0;color:var(--ink)}.blog-card p{font-size:14.5px;color:var(--muted);line-height:1.5;margin:0}.blog-empty{padding:80px 0;text-align:center;color:var(--muted);background:var(--surface);border:1px dashed var(--line);border-radius:18px}.post-shell{padding:48px 0 120px;max-width:740px;margin:0 auto}.post-shell .wrap{padding:0 24px}.post-shell .crumb{font-size:13px;color:var(--muted);margin-bottom:18px;display:flex;gap:8px;align-items:center}.post-shell .crumb a{color:var(--ink);font-weight:500}.post-shell .crumb a:hover{opacity:.7}.post-shell h1{font-size:clamp(34px,4.4vw,56px);line-height:1.05;letter-spacing:-.03em;margin:0 0 18px;font-weight:700}.post-shell .summary{font-size:19px;line-height:1.5;color:var(--muted);max-width:54ch;margin:0 0 40px}.post-shell .meta-line{display:flex;gap:14px;font-size:13px;color:var(--muted);margin-bottom:36px;align-items:center}.post-shell .meta-line .dot{width:4px;height:4px;background:var(--muted);border-radius:50%}.post-shell .cover{width:100%;border-radius:18px;overflow:hidden;margin-bottom:48px;background:var(--bg)}.post-shell .cover img{width:100%;height:auto;display:block}.post-shell .markdown{font-size:17px;line-height:1.7;color:var(--ink-soft)}.post-shell .markdown h2{font-size:28px;letter-spacing:-.022em;margin:44px 0 14px}.post-shell .markdown h2,.post-shell .markdown h3{font-family:var(--font-display);font-weight:600;color:var(--ink)}.post-shell .markdown h3{font-size:21px;letter-spacing:-.018em;margin:32px 0 10px}.post-shell .markdown p{margin:0 0 18px;color:var(--ink-soft)}.post-shell .markdown a{color:var(--ink);text-decoration:underline;text-underline-offset:3px;-webkit-text-decoration-color:var(--line);text-decoration-color:var(--line)}.post-shell .markdown a:hover{-webkit-text-decoration-color:var(--ink);text-decoration-color:var(--ink)}.post-shell .markdown ol,.post-shell .markdown ul{margin:0 0 18px;padding-left:24px;color:var(--ink-soft)}.post-shell .markdown ol li,.post-shell .markdown ul li{margin-bottom:6px}.post-shell .markdown blockquote{border-left:3px solid var(--ink);padding:2px 0 2px 20px;margin:28px 0;color:var(--ink);font-style:normal;font-size:18px;line-height:1.55}.post-shell .markdown blockquote p{margin:0 0 12px;color:var(--ink)}.post-shell .markdown blockquote :last-child{margin-bottom:0}.post-shell .markdown blockquote :first-child{margin-top:0}.post-shell .markdown code{background:var(--bg);padding:2px 7px;border-radius:6px;font-size:.92em;border:1px solid var(--line-soft)}.post-shell .markdown pre{background:var(--ink);color:#fff;padding:20px;border-radius:12px;overflow-x:auto;font-size:13.5px;line-height:1.55;margin:24px 0}.post-shell .markdown pre code{background:transparent;padding:0;color:inherit;border:0}.post-shell .markdown img{max-width:100%;border-radius:14px;margin:28px 0}.post-shell .markdown div[data-youtube-video],.post-shell .markdown iframe{width:100%;aspect-ratio:16/9;height:auto;border:0;border-radius:14px;margin:28px 0;display:block;background:#000}.post-shell .markdown div[data-youtube-video] iframe{margin:0;border-radius:14px}.post-shell .markdown hr{border:0;border-top:1px solid var(--line);margin:32px 0}.post-shell .markdown table{width:100%;border-collapse:collapse;margin:24px 0;font-size:14.5px}.post-shell .markdown td,.post-shell .markdown th{padding:12px 14px;text-align:left;border-bottom:1px solid var(--line-soft)}.post-shell .markdown th{font-weight:600;color:var(--ink);background:var(--bg)}.blog-newsletter{margin:80px 0 0;padding:44px 40px;border-radius:20px;background:var(--dark);color:#fff;border:1px solid var(--dark);text-align:center}.blog-newsletter h2{color:#fff;font-size:30px;font-weight:600;letter-spacing:-.022em;margin:0 0 10px}.blog-newsletter p{margin:0 auto 24px;font-size:16px;color:rgba(255,255,255,.65);max-width:42ch}.blog-newsletter form{display:flex;gap:10px;flex-wrap:wrap;max-width:520px;margin:0 auto;justify-content:center}.blog-newsletter input{flex:1 1;min-width:220px;padding:14px 18px;border-radius:999px;border:1px solid rgba(255,255,255,.16);font-size:15px;background:rgba(255,255,255,.06);color:#fff;font-family:inherit}.blog-newsletter input::placeholder{color:rgba(255,255,255,.45)}.blog-newsletter input:focus{outline:0;border-color:rgba(255,255,255,.4);background:rgba(255,255,255,.1)}.blog-newsletter button{padding:14px 22px;border-radius:999px;border:0;background:#fff;color:#1d1d1f;font-size:14.5px;font-weight:500;cursor:pointer;font-family:inherit}.blog-newsletter button:hover{opacity:.92}.blog-newsletter .feedback{margin-top:14px;font-size:13.5px;color:rgba(255,255,255,.75)}.blog-contact{margin:32px 0 0;padding:40px 36px;border-radius:20px;background:var(--surface);border:1px solid var(--line-soft)}.blog-contact h2{font-size:26px;font-weight:600;letter-spacing:-.02em;margin:0 0 8px}.blog-contact>p{margin:0 0 24px;font-size:15px;color:var(--muted);max-width:48ch}.blog-contact form{display:grid;grid-gap:12px;gap:12px}.blog-contact input,.blog-contact textarea{padding:13px 16px;border-radius:10px;border:1px solid var(--line);font-size:15px;background:var(--surface);color:var(--ink);font-family:inherit}.blog-contact input:focus,.blog-contact textarea:focus{outline:0;border-color:var(--ink)}.blog-contact textarea{min-height:140px;resize:vertical;line-height:1.55}.blog-contact button{justify-self:start;padding:13px 22px;border-radius:999px;border:0;background:var(--ink);color:var(--bg);font-size:14.5px;font-weight:500;cursor:pointer;font-family:inherit;margin-top:4px}.blog-contact button:hover{opacity:.88}.blog-contact .feedback{margin-top:10px;font-size:13.5px;color:var(--muted)}@media (max-width:1080px){.blog-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:760px){.blog-shell{padding:40px 0 72px}.blog-shell .hd{margin-bottom:32px}.blog-shell .hd h1{font-size:36px}.blog-shell .hd p{font-size:16px}.blog-grid{grid-template-columns:1fr;gap:14px}.post-shell{padding:24px 0 72px}.post-shell h1{font-size:32px}.post-shell .summary{font-size:17px;margin-bottom:28px}.post-shell .cover{margin-bottom:32px}.post-shell .markdown{font-size:16px}.post-shell .markdown h2{font-size:24px;margin-top:32px}.blog-contact,.blog-newsletter{padding:28px 22px;border-radius:16px}.blog-newsletter form{flex-direction:column}.blog-newsletter button,.blog-newsletter input{width:100%}}@media (prefers-color-scheme:dark){.post-shell .markdown pre{background:#0d0b09;color:#ede9df}.post-shell .markdown code{background:var(--surface-2);border-color:var(--line)}.post-shell .markdown blockquote{color:var(--ink-soft)}.post-shell .markdown a{-webkit-text-decoration-color:var(--line);text-decoration-color:var(--line)}.post-shell .cover{background:var(--surface)}.post-shell .cover img{filter:saturate(.95) brightness(.92)}.blog-card .cover{background:var(--surface-2)}.blog-card .cover[style]{filter:saturate(.95) brightness(.9)}.blog-empty{background:var(--surface);border-color:var(--line)}.blog-contact button{color:var(--bg)}}