.blog-scope{--bg-canvas:#fafafa;--bg-surface:#ffffff;--bg-soft:#f5f5f7;--ink-1000:#0b0b0f;--ink-900:#28282c;--ink-700:#3b3b42;--ink-600:#555559;--ink-500:#86868b;--ink-400:#99999a;--hairline:rgba(229,229,234,0.6);--hairline-strong:#e5e5ea;--accent-soft:color-mix(in srgb,var(--green-500) 9%,var(--bg-surface));--accent-border:color-mix(in srgb,var(--green-500) 30%,var(--hairline));--danger:#ef4444;--danger-ink:color-mix(in srgb,var(--danger) 78%,var(--ink-1000));background:var(--bg-canvas);min-height:100vh;font-family:var(--font-body);color:var(--ink-900);font-size:14px;line-height:1.5}.blog-scope a{color:inherit;text-decoration:none}.blog-scope button{font-family:inherit;cursor:pointer}.blog-scope[data-theme=dark]{--bg-canvas:#0b0b0f;--bg-surface:#1c1c22;--bg-soft:#15151b;--ink-1000:#fafafa;--ink-900:#ededf0;--ink-700:#c8c8cd;--ink-600:#a7a7ae;--ink-500:#86868b;--ink-400:#5c5c63;--hairline:rgba(255,255,255,0.08);--hairline-strong:#2c2c30;--accent-soft:color-mix(in srgb,var(--green-500) 9%,var(--bg-surface));--accent-border:color-mix(in srgb,var(--green-500) 30%,var(--hairline));--danger:#ef4444;--danger-ink:color-mix(in srgb,var(--danger) 78%,var(--ink-1000))}.blog-wrap{max-width:1180px;width:100%;margin:0 auto;padding:0 40px}@media(min-width:768px){.blog-wrap{max-width:1298px;padding:0 44px}}@keyframes blog-hexph{0%,to{opacity:var(--ph)}50%{opacity:calc(var(--ph)*.4)}}.blog-hexwm{position:relative;display:inline-block;font-family:var(--font-display);font-weight:900;letter-spacing:-.025em;color:var(--ink-1000);font-size:19px;z-index:0;isolation:isolate}.blog-hexwm .blog-hexwm__ph,.blog-hexwm:after,.blog-hexwm:before{content:attr(data-text);position:absolute;left:0;top:0;color:#22c55e;z-index:-1}.blog-hexwm:before{transform:translate(1px,1px);opacity:.85;--ph:0.85;animation:blog-hexph 3s ease-in-out infinite}.blog-hexwm .blog-hexwm__ph{transform:translate(2px,2px);opacity:.55;--ph:0.55;animation:blog-hexph 3s ease-in-out .1s infinite}.blog-hexwm:after{transform:translate(3px,3px);opacity:.32;--ph:0.32;animation:blog-hexph 3s ease-in-out .2s infinite}.blog-topnav{position:sticky;top:0;z-index:30;gap:22px;padding:16px 40px;background:var(--bg-canvas);border-bottom:1px solid var(--hairline)}.blog-navlinks,.blog-topnav{display:flex;align-items:center}.blog-navlinks{gap:26px;margin-left:14px}.blog-navlinks a{font-size:13.5px;font-weight:600;color:var(--ink-600);transition:color var(--d-fast)}.blog-navlinks a.is-active,.blog-navlinks a:hover{color:var(--ink-1000)}.blog-topnav__spacer{flex:1}@media(max-width:1000px){.blog-navlinks{display:none}}@media(max-width:620px){.blog-kwrap,.blog-wrap{padding:0 20px}.blog-topnav{padding:14px 20px;gap:12px}}.blog-signin-btn{display:inline-flex;align-items:center;gap:7px;height:38px;padding:0 18px;white-space:nowrap;border-radius:var(--r-pill);border:none;background:linear-gradient(135deg,var(--green-500),var(--green-600));color:#fff;box-shadow:var(--shadow-green-soft);font-weight:700;font-size:13.5px;transition:filter var(--d-fast)}.blog-signin-btn:hover{filter:brightness(1.08)}.blog-signin-ghost{display:inline-flex;align-items:center;height:38px;padding:0 12px;white-space:nowrap;border-radius:var(--r-pill);border:none;background:rgba(0,0,0,0);color:var(--ink-700);font-weight:600;font-size:13.5px;transition:color var(--d-fast)}.blog-signin-ghost:hover{color:var(--ink-1000)}.blog-pageintro{position:relative;overflow:hidden;padding:56px 0 30px;background:radial-gradient(90% 120% at 8% -10%,color-mix(in srgb,var(--green-500) 20%,transparent) 0,transparent 44%),radial-gradient(80% 120% at 100% 0,color-mix(in srgb,var(--green-500) 13%,transparent) 0,transparent 46%),var(--bg-canvas)}.blog-pageintro__copy{max-width:640px}.blog-pageintro__eyebrow{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--green-700);padding:6px 13px;border:1px solid var(--accent-border);border-radius:var(--r-pill);background:var(--accent-soft)}.blog-pageintro__pulse{width:7px;height:7px;border-radius:50%;background:var(--green-500);animation:blog-hc-pulse 2.2s ease-out infinite}.blog-pageintro h1{font-family:var(--font-display);font-size:clamp(34px,5vw,54px);font-weight:800;letter-spacing:-.03em;line-height:1.02;margin:14px 0 0;color:var(--ink-1000);position:relative}.blog-pageintro h1 em{background:linear-gradient(120deg,var(--green-500),var(--green-700));-webkit-background-clip:text;background-clip:text}.blog-pageintro h1 em,.blog-pageintro__catname{font-style:normal;-webkit-text-fill-color:rgba(0,0,0,0)}.blog-pageintro__catname{background:linear-gradient(160deg,var(--green-500),var(--green-700));-webkit-background-clip:text;background-clip:text}.blog-pageintro__lede{font-size:15.5px;color:var(--ink-600);margin:16px 0 0;max-width:58ch;line-height:1.6}.blog-pageintro__fade-divider{height:1px;margin-top:30px;background:linear-gradient(90deg,transparent,var(--hairline-strong) 15%,var(--hairline-strong) 85%,transparent)}@keyframes blog-hc-pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--green-500) 45%,transparent)}70%{box-shadow:0 0 0 9px rgba(0,0,0,0)}to{box-shadow:0 0 0 0 rgba(0,0,0,0)}}@media(prefers-reduced-motion:reduce){.blog-pageintro__pulse{animation:none}}.blog-rich-normal{font-size:16px;color:var(--ink-700);line-height:1.75;margin:0 0 18px}.blog-rich-normal:last-child{margin-bottom:0}.blog-rich-lede{font-weight:600;font-size:19px;letter-spacing:-.01em;line-height:1.55;margin:0 0 20px}.blog-rich-lede,.blog-rich-statement{font-family:var(--font-display);color:var(--ink-1000)}.blog-rich-statement{font-weight:700;font-size:22px;letter-spacing:-.015em;line-height:1.4;margin:26px 0}.blog-rich-smallprint{font-size:12.5px;color:var(--ink-500);line-height:1.6;margin:12px 0}.blog-h2{font-weight:800;font-size:21px;letter-spacing:-.02em;margin:26px 0 12px}.blog-h2,.blog-h3{font-family:var(--font-display);color:var(--ink-1000);scroll-margin-top:24px}.blog-h3{font-weight:700;font-size:16px;letter-spacing:-.01em;margin:22px 0 10px}.blog-h4{font-family:var(--font-display);font-weight:700;font-size:14.5px;letter-spacing:-.005em;color:var(--ink-900);margin:20px 0 8px;scroll-margin-top:24px}.blog-list-bullet,.blog-list-number{margin:0 0 18px;padding-left:22px;color:var(--ink-700);font-size:16px;line-height:1.75}.blog-list-bullet li,.blog-list-number li{margin-bottom:6px}.blog-list-checklist{list-style:none;margin:0 0 18px;padding:0;display:flex;flex-direction:column;gap:8px}.blog-listitem-checklist{position:relative;padding-left:26px;font-size:15px;color:var(--ink-700);line-height:1.6}.blog-listitem-checklist:before{content:"";position:absolute;left:0;top:4px;width:15px;height:15px;border:1px solid var(--hairline-strong);border-radius:var(--r-xs)}.blog-mark-code{font-family:var(--font-mono);font-size:.9em;color:var(--ink-900);background:var(--bg-soft);border-radius:var(--r-xs);padding:2px 6px}.blog-link{color:var(--green-600);text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--green-600) 40%,transparent)}.blog-link:hover{color:var(--green-700);text-decoration-color:var(--green-700)}.blog-shortanswer{border-left:2px solid var(--green-500);padding:2px 0 2px 20px;margin:0 0 24px}.blog-shortanswer__label{font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--green-600);margin-bottom:8px;display:block}.blog-shortanswer p{font-family:var(--font-display);font-weight:600;font-size:17px;letter-spacing:-.01em;color:var(--ink-1000);line-height:1.5;margin:0}.blog-bottomline{margin:32px 0}.blog-bottomline__label{font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--green-600);margin-bottom:14px;display:block}.blog-bottomline ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:11px}.blog-bottomline li{position:relative;padding-left:20px;font-size:14.5px;color:var(--ink-700);line-height:1.6}.blog-bottomline li:before{content:"";position:absolute;left:0;top:8px;width:8px;height:1px;background:var(--green-500)}.blog-cta-btn{display:inline-flex;align-items:center;gap:8px;height:44px;padding:0 22px;border-radius:var(--r-pill);border:none;background:linear-gradient(135deg,var(--green-500),var(--green-600));color:#fff;box-shadow:var(--shadow-green-soft);font-weight:700;font-size:13.5px;transition:filter var(--d-fast);margin-top:22px}.blog-cta-btn:hover{filter:brightness(1.08)}.blog-ctaband{padding:44px 0;border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline);text-align:center;margin:32px 0}.blog-ctaband h3{font-family:var(--font-display);font-weight:800;font-size:clamp(20px,2.6vw,26px);letter-spacing:-.02em;color:var(--ink-1000);margin:0 auto;max-width:28ch;line-height:1.25}.blog-ctaband p{font-size:13.5px;color:var(--ink-600);margin:10px auto 0;max-width:48ch}.blog-inlinecta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;padding:20px 24px;border:1px solid var(--hairline-strong);border-radius:var(--r-sm);background:var(--bg-soft);margin:28px 0}.blog-inlinecta__text{flex:1 1 260px}.blog-inlinecta h3{font-family:var(--font-display);font-weight:700;font-size:16px;letter-spacing:-.01em;color:var(--ink-1000);margin:0}.blog-inlinecta p{font-size:13px;color:var(--ink-600);margin:4px 0 0}.blog-inlinecta .blog-cta-btn{margin-top:0;height:38px;padding:0 18px;font-size:13px}.blog-faqlist{display:flex;flex-direction:column;margin:32px 0}.blog-faqitem{border-top:1px solid var(--hairline)}.blog-faqitem:last-child{border-bottom:1px solid var(--hairline)}.blog-faqitem__q{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 0;background:none;border:none;text-align:left;font-family:var(--font-display);font-weight:700;font-size:15px;color:var(--ink-1000)}.blog-faqitem__chev{width:22px;height:22px;border-radius:50%;border:1px solid var(--hairline-strong);display:flex;align-items:center;justify-content:center;color:var(--ink-500);flex-shrink:0;transition:transform var(--d-base) var(--ease)}.blog-faqitem__chev svg{width:11px;height:11px}.blog-faqitem.is-open .blog-faqitem__chev{transform:rotate(180deg);color:var(--green-600);border-color:var(--green-600)}.blog-faqitem__a{display:grid;grid-template-rows:0fr;transition:grid-template-rows var(--d-base) var(--ease)}.blog-faqitem.is-open .blog-faqitem__a{grid-template-rows:1fr}.blog-faqitem__a-inner{overflow:hidden}.blog-faqitem__a p{font-size:14px;color:var(--ink-600);line-height:1.7;padding:0 0 20px;margin:0;max-width:66ch}.blog-table-wrap{overflow-x:auto;margin:24px 0}.blog-table{width:100%;border-collapse:collapse;font-size:13.5px;min-width:480px}.blog-table td,.blog-table th{padding:12px 16px;text-align:left;border-bottom:1px solid var(--hairline)}.blog-table thead th{font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-500)}.blog-table tbody tr:last-child td,.blog-table thead th{border-bottom:1px solid var(--hairline-strong)}.blog-table__spec{color:var(--ink-500);font-size:12.5px}.blog-table__val{color:var(--ink-1000);font-weight:600}.blog-table__note{font-size:11.5px;color:var(--ink-500);margin-top:10px;font-style:italic}.blog-speclist{display:flex;flex-direction:column;gap:10px;margin:24px 0}.blog-speclist__row{display:flex;justify-content:space-between;gap:16px;padding-bottom:10px;border-bottom:1px solid var(--hairline)}.blog-speclist__label{color:var(--ink-500);font-size:12.5px}.blog-speclist__value{color:var(--ink-1000);font-weight:600;font-size:13.5px;text-align:right}.blog-codeframe{border:1px solid var(--hairline-strong);border-radius:var(--r-sm);background:var(--bg-soft);overflow:hidden;margin:24px 0}.blog-codeframe--terminal{background:var(--bg-canvas)}.blog-codeframe__top{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;border-bottom:1px solid var(--hairline)}.blog-codeframe__title{font-size:10.5px}.blog-codeframe__copy,.blog-codeframe__title{font-family:var(--font-mono);color:var(--ink-500)}.blog-codeframe__copy{background:none;border:none;font-size:11px;font-weight:600;transition:color var(--d-fast);padding:2px 0}.blog-codeframe__copy.is-copied,.blog-codeframe__copy:hover{color:var(--green-600)}.blog-codeframe__pre{margin:0;padding:16px;font-family:var(--font-mono);font-size:12.5px;color:var(--ink-700);line-height:1.7;white-space:pre-wrap;overflow-x:auto}.blog-codeframe__note{padding:0 16px 16px;font-size:12.5px;color:var(--ink-600);font-style:italic}.blog-media{position:relative;border-radius:var(--r-xs);overflow:hidden;background:var(--media-well)}.blog-media img,.blog-media video{display:block;width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.blog-image{margin:24px 0}.blog-image__frame{aspect-ratio:16/9}.blog-image__caption{font-size:12.5px;color:var(--ink-500);margin-top:10px;line-height:1.5}.blog-video{margin:24px 0}.blog-video__frame{aspect-ratio:16/9}.blog-video__caption{font-size:12.5px;color:var(--ink-500);margin-top:10px;line-height:1.5}.blog-figuregroup{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:24px 0}.blog-figuregroup__frame{aspect-ratio:4/3}.blog-figuregroup__caption{font-size:12.5px;color:var(--ink-500);margin-top:24px;line-height:1.5}.blog-framestrip{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin:24px 0}@media(max-width:1000px){.blog-framestrip{grid-template-columns:repeat(3,1fr)}}@media(max-width:620px){.blog-framestrip{grid-template-columns:repeat(2,1fr)}}.blog-framestrip__caption{font-size:12.5px;color:var(--ink-500);margin-top:12px;line-height:1.5}.blog-frame{display:flex;flex-direction:column}.blog-frame__img{aspect-ratio:3/4}.blog-frame__cap{font-family:var(--font-mono);font-size:9.5px;color:var(--ink-500);margin-top:8px;line-height:1.4;text-align:center}.blog-beforeafter{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:24px 0}@media(max-width:620px){.blog-beforeafter{grid-template-columns:1fr}}.blog-beforeafter .blog-frame__img{aspect-ratio:4/3}.blog-measured{border-left:2px solid var(--green-500);padding:2px 0 2px 20px;margin:24px 0}.blog-measured__label{font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--green-600);margin-bottom:10px;display:block}.blog-measured ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px}.blog-measured li{font-size:14px;color:var(--ink-700);line-height:1.6}.blog-measured li b{font-family:var(--font-display);font-weight:800;color:var(--green-700)}.blog-statstrip{display:flex;flex-wrap:wrap;gap:28px;margin:24px 0;padding:18px 0;border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline)}.blog-statstrip__stat{display:flex;flex-direction:column;gap:4px}.blog-statstrip__value{font-family:var(--font-display);font-weight:800;font-size:24px;color:var(--ink-1000)}.blog-statstrip__label{font-size:12px;color:var(--ink-500)}.blog-steplist{display:flex;flex-direction:column;margin:24px 0}.blog-step{display:flex;gap:18px;padding:16px 0;border-top:1px solid var(--hairline)}.blog-step:first-child{border-top:none}.blog-step__num{font-family:var(--font-display);font-weight:800;font-size:18px;color:var(--green-500);flex-shrink:0;width:28px}.blog-step__body{padding-top:1px}.blog-step__title{font-size:14.5px;font-weight:700;color:var(--ink-1000);line-height:1.4;margin:0 0 4px}.blog-step__text{font-size:14.5px;color:var(--ink-700);line-height:1.6}.blog-step__image{margin-top:12px;aspect-ratio:16/9;max-width:420px}.blog-pullquote{border-left:2px solid var(--green-500);padding:4px 0 4px 24px;margin:32px 0}.blog-pullquote p{font-family:var(--font-display);font-weight:700;font-size:26px;letter-spacing:-.02em;color:var(--ink-1000);line-height:1.35;margin:0;max-width:24ch}@media(max-width:620px){.blog-pullquote p{font-size:21px}}.blog-blockquote{border-left:2px solid var(--hairline-strong);padding:2px 0 2px 20px;margin:24px 0}.blog-blockquote p{font-family:var(--font-display);font-weight:600;font-size:17px;color:var(--ink-900);line-height:1.5;margin:0}.blog-blockquote__attribution{font-family:var(--font-mono);font-size:11px;color:var(--ink-500);margin-top:8px;display:block}.blog-screenshot{margin:24px 0}.blog-screenshot__frame{position:relative;aspect-ratio:16/10;border-radius:var(--r-sm);overflow:hidden;background:var(--media-well);border:1px solid var(--hairline-strong)}.blog-screenshot__caption{font-size:12.5px;color:var(--ink-500);margin-top:12px;line-height:1.55}.blog-screenshot__caption b{color:var(--ink-700)}.blog-screenshot__annotations{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}.blog-screenshot__annotation{font-size:12.5px;color:var(--ink-600)}.blog-screenshot__annotation b{color:var(--ink-900)}.blog-callout{border-left:2px solid var(--hairline-strong);padding:2px 0 2px 20px;margin:24px 0;font-size:14px;color:var(--ink-700);line-height:1.6}.blog-callout--note{border-left-color:var(--ink-500)}.blog-callout--warning{border-left-color:var(--warning)}.blog-callout--measured{border-left-color:var(--green-500)}.blog-callout--legal{border-left-color:var(--hairline-strong);color:var(--ink-500);font-size:12.5px}.blog-keytakeaways{border:1px solid var(--hairline-strong);border-radius:var(--r-sm);background:var(--bg-soft);padding:20px 22px;margin:24px 0}.blog-keytakeaways__title{font-family:var(--font-display);font-weight:700;font-size:15px;color:var(--ink-1000);margin:0 0 12px}.blog-keytakeaways ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px}.blog-keytakeaways li{position:relative;padding-left:18px;font-size:14px;color:var(--ink-700);line-height:1.6}.blog-keytakeaways li:before{content:"";position:absolute;left:0;top:8px;width:7px;height:1px;background:var(--green-500)}.blog-newsletter{border:1px solid var(--hairline-strong);border-radius:var(--r-sm);background:var(--bg-soft);padding:24px 26px;margin:28px 0;text-align:center}.blog-newsletter h3{font-family:var(--font-display);font-weight:700;font-size:16px;color:var(--ink-1000);margin:0}.blog-newsletter p{font-size:13px;color:var(--ink-600);margin:6px 0 0}.blog-newsletter .blog-cta-btn{margin-top:16px}.blog-download{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;border:1px solid var(--hairline-strong);border-radius:var(--r-sm);background:var(--bg-soft);padding:20px 22px;margin:24px 0}.blog-download__text{flex:1 1 240px}.blog-download__title{font-family:var(--font-display);font-weight:700;font-size:15px;color:var(--ink-1000);margin:0 0 4px}.blog-download__description{font-size:13px;color:var(--ink-600);margin:0}.blog-download .blog-cta-btn{margin-top:0;height:38px;padding:0 18px;font-size:13px}.blog-embed{margin:24px 0}.blog-embed__frame{border-radius:var(--r-xs);overflow:hidden;background:var(--media-well)}.blog-embed__frame iframe{display:block;width:100%;border:none}.blog-embed__caption{font-size:12.5px;color:var(--ink-500);margin-top:10px;line-height:1.5}.blog-entry{display:block;margin:28px 0;max-width:320px}.blog-entry__thumb{position:relative;aspect-ratio:16/9;overflow:hidden;background:var(--media-well);border-radius:var(--r-xs)}.blog-entry__thumb img{transition:transform var(--d-base) var(--ease)}.blog-entry__thumb:after{content:"";position:absolute;inset:0;background:radial-gradient(130% 160% at 15% 0,color-mix(in srgb,var(--green-500) 12%,transparent),transparent 62%)}.blog-entry__thumb:not(:has(img)){background:var(--bg-soft);border:1px solid var(--hairline)}.blog-entry__thumb:not(:has(img)):after{display:none}.blog-entry:hover .blog-entry__thumb img,.blog-entry:hover .blog-entry__thumb:after{transform:scale(1.06)}.blog-entry__cat{display:block;font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--green-600);margin-top:16px}.blog-entry__title{font-family:var(--font-display);font-weight:700;font-size:16px;letter-spacing:-.01em;color:var(--ink-1000);line-height:1.28;margin-top:6px;transition:color var(--d-fast)}.blog-entry:hover .blog-entry__title{color:var(--green-700)}.blog-entry__dek{font-size:13px;color:var(--ink-600);margin-top:8px;line-height:1.55}.blog-entry__meta{font-family:var(--font-mono);font-size:10.5px;color:var(--ink-500);margin-top:12px;padding-top:11px;border-top:1px solid var(--hairline);letter-spacing:.01em}.blog-entry__meta .blog-entry__author{color:var(--ink-700)}.blog-entry__meta .blog-entry__dot{color:var(--ink-400);margin:0 5px}.blog-deflist{margin:24px 0;display:flex;flex-direction:column;gap:14px}.blog-deflist__item{padding-bottom:12px;border-bottom:1px solid var(--hairline)}.blog-deflist__term{font-family:var(--font-display);font-weight:700;font-size:14px;color:var(--ink-1000);margin:0 0 4px}.blog-deflist__definition{font-size:14px;color:var(--ink-700);line-height:1.6;margin:0}.blog-lbl{font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--green-600)}.blog-filterbar{position:sticky;top:67px;z-index:20;background:color-mix(in srgb,var(--bg-canvas) 94%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--hairline);padding:14px 0}.blog-filterrow{display:flex;align-items:center;gap:26px;flex-wrap:wrap}.blog-filterrow__spacer{flex:1}.blog-pillset{display:flex;gap:22px}.blog-textlink{position:relative;background:none;border:none;padding:0 0 2px;font-size:13.5px;font-weight:600;color:var(--ink-600);transition:color var(--d-fast)}.blog-textlink:after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:1px;background:var(--green-500);transform:scaleX(0);transform-origin:left;transition:transform var(--d-base) var(--ease)}.blog-textlink.is-active,.blog-textlink:hover{color:var(--ink-1000)}.blog-textlink.is-active:after{transform:scaleX(1)}.blog-searchbox{position:relative;display:inline-flex;align-items:center;border-bottom:1px solid var(--hairline-strong)}.blog-searchbox svg{width:14px;height:14px;color:var(--ink-500);flex-shrink:0}.blog-searchbox input{height:30px;width:180px;padding:0 0 0 8px;border:none;background:rgba(0,0,0,0);color:var(--ink-1000);font-size:13px}.blog-searchbox input::-moz-placeholder{color:var(--ink-500)}.blog-searchbox input::placeholder{color:var(--ink-500)}.blog-searchbox input:focus{outline:none}.blog-searchbox__clear{display:inline-flex;align-items:center;background:none;border:none;padding:0 0 0 6px;margin:0;cursor:pointer}.blog-searchbox__clear svg{color:var(--ink-500);transition:color var(--d-fast)}.blog-searchbox__clear:hover svg{color:var(--ink-1000)}@keyframes blog-spin{to{transform:rotate(1turn)}}.blog-spin{animation:blog-spin 1s linear infinite}.blog-catselect-wrap{display:none;width:100%}.blog-catselect-wrap .input{height:40px;width:100%;padding:0 14px;border-radius:var(--r-pill);border:1px solid var(--hairline-strong);background:var(--bg-surface);color:var(--ink-1000);font-size:13.5px;font-weight:600}@media(max-width:768px){.blog-pillset{display:none}.blog-catselect-wrap{display:block}.blog-filterrow{flex-direction:column;align-items:stretch;gap:12px}.blog-filterrow__spacer{display:none}.blog-searchbox,.blog-searchbox input{width:100%}}.blog-sect{padding:52px 0}.blog-sect+.blog-sect{border-top:1px solid var(--hairline)}.blog-sect__headrow{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:28px}.blog-sect__heading{font-family:var(--font-display);font-weight:800;font-size:23px;letter-spacing:-.02em;color:var(--ink-1000);margin:6px 0 0}.blog-featgrid{display:grid;grid-template-columns:1.35fr 1fr;align-items:stretch;gap:20px}.blog-featgrid__side{display:flex;flex-direction:column;gap:20px}.blog-poster{position:relative;display:block;border-radius:var(--r-sm);overflow:hidden;background:var(--media-well);aspect-ratio:16/10}.blog-poster--lead{aspect-ratio:auto;height:100%}.blog-poster--side{aspect-ratio:16/9;flex:1}.blog-poster__grain{position:absolute;inset:0;background:radial-gradient(120% 160% at 20% 0,color-mix(in srgb,var(--green-500) 16%,transparent),transparent 60%),linear-gradient(200deg,rgba(255,255,255,.04),transparent 40%)}.blog-poster__fade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,0) 30%,rgba(255,255,255,.86))}.blog-poster:not(:has(img)){background:var(--bg-soft);border:1px solid var(--hairline)}.blog-poster:not(:has(img)) .blog-poster__grain{display:none}.blog-poster__cat{top:16px;font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--green-600)}.blog-poster__cat,.blog-poster__text{position:absolute;left:16px;z-index:2}.blog-poster__text{right:16px;bottom:16px}.blog-poster__title{font-family:var(--font-display);font-weight:800;letter-spacing:-.02em;color:var(--ink-1000);line-height:1.12;font-size:26px;max-width:22ch;transition:color var(--d-base)}.blog-poster--side .blog-poster__title{font-size:16.5px;max-width:26ch}.blog-poster__dek{font-size:13px;color:var(--ink-600);margin-top:8px;max-width:44ch;line-height:1.5}.blog-poster__meta{display:flex;align-items:center;gap:7px;flex-wrap:wrap;font-family:var(--font-mono);font-size:10.5px;color:var(--ink-500);margin-top:12px;letter-spacing:.02em}.blog-poster__author{color:var(--ink-700)}.blog-poster:hover .blog-poster__title{color:var(--green-700)}.blog-scope[data-theme=dark] .blog-poster__fade{background:linear-gradient(180deg,rgba(0,0,0,0) 30%,rgba(0,0,0,.86))}.blog-scope[data-theme=dark] .blog-poster:hover .blog-poster__title,.blog-scope[data-theme=dark] .blog-poster__cat{color:var(--green-300)}@media(max-width:1000px){.blog-featgrid{grid-template-columns:1fr}.blog-poster--lead,.blog-poster--side{aspect-ratio:16/9;height:auto}.blog-poster--side .blog-poster__title{font-size:26px;max-width:22ch}.blog-poster--lead .blog-poster__dek{display:none}}.blog-postgrid{display:grid;grid-template-columns:repeat(3,1fr);-moz-column-gap:28px;column-gap:28px;row-gap:36px}.blog-postgrid .blog-entry{max-width:none;margin:0}@media(max-width:1000px){.blog-postgrid{grid-template-columns:1fr 1fr}}@media(max-width:620px){.blog-postgrid{grid-template-columns:1fr}}.blog-empty{font-size:13.5px;color:var(--ink-500);padding:24px 0;text-align:center}.blog-pagination{display:flex;align-items:center;justify-content:center;gap:22px;margin-top:40px;padding:24px 0 6px;border-top:1px solid var(--hairline);font-family:var(--font-mono);font-size:12px;letter-spacing:.04em}.blog-pagination button{background:none;border:none;color:var(--ink-600);font-family:inherit;font-size:inherit;padding:4px 2px;transition:color var(--d-fast)}.blog-pagination button.is-active,.blog-pagination button:hover{color:var(--ink-1000)}.blog-pagination__sep{color:var(--ink-400)}.blog-signband{padding:56px 0;border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline);display:flex;align-items:center;justify-content:space-between;gap:32px;flex-wrap:wrap}.blog-signband__copy{max-width:46ch}.blog-signband h2{font-family:var(--font-display);font-weight:800;font-size:clamp(22px,3vw,28px);letter-spacing:-.02em;color:var(--ink-1000);margin:0;line-height:1.2}.blog-signband__ss{font-size:13.5px;color:var(--ink-600);margin-top:10px}.blog-capform{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.blog-capform input[type=email]{height:44px;width:240px;max-width:100%;padding:0 16px;border-radius:var(--r-pill);border:1px solid var(--hairline-strong);background:var(--bg-surface);color:var(--ink-1000);font-size:13.5px}.blog-capform input[type=email]::-moz-placeholder{color:var(--ink-500)}.blog-capform input[type=email]::placeholder{color:var(--ink-500)}.blog-capform input[type=email]:focus{border-color:var(--green-500);outline:none}.blog-capform.is-loading button,.blog-capform.is-loading input{opacity:.7;pointer-events:none}.blog-capnote{font-family:var(--font-mono);font-size:10.5px;color:var(--ink-500);margin-top:10px;letter-spacing:.02em}.blog-capnote a,.blog-capnote b{color:var(--green-700)}.blog-capnote a{text-decoration:underline}.blog-formmsg{display:flex;align-items:center;gap:8px;font-size:13.5px;font-weight:600}.blog-formmsg--success{color:var(--green-700)}.blog-formmsg--error{color:var(--danger-ink);margin-top:10px}.blog-confirmstate{display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;max-width:420px;margin:0 auto;padding:96px 20px}.blog-confirmstate__ic{width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;margin-bottom:4px}.blog-confirmstate__h{font-family:var(--font-display);font-weight:800;font-size:24px;letter-spacing:-.02em;color:var(--ink-1000);margin:0}.blog-confirmstate__s{font-size:14px;line-height:1.55;color:var(--ink-600);margin:0 0 8px}.blog-confirmstate--confirmed .blog-confirmstate__ic{background:var(--accent-soft);color:var(--green-700)}.blog-confirmstate--error .blog-confirmstate__ic{background:color-mix(in srgb,var(--danger) 12%,var(--bg-surface));color:var(--danger-ink)}.blog-cta-main{display:inline-flex;align-items:center;gap:8px;height:44px;padding:0 22px;border-radius:var(--r-pill);border:none;background:linear-gradient(135deg,var(--green-500),var(--green-600));color:#fff;box-shadow:var(--shadow-green-soft);font-weight:700;font-size:13.5px;transition:filter var(--d-fast);white-space:nowrap}.blog-cta-main:hover{filter:brightness(1.08)}a.blog-cta-main{color:#fff}@media(max-width:620px){.blog-signband{flex-direction:column;align-items:flex-start}.blog-capform input[type=email]{width:100%}.blog-cta-main{width:100%;justify-content:center}}.blog-scope .wrap{max-width:1180px;width:100%;margin:0 auto;padding:0 40px}@media(min-width:768px){.blog-scope .wrap{max-width:1298px;padding:0 44px}}.blog-scope .footer{border-top:1px solid var(--hairline)}.blog-scope .footin{padding:46px 0 22px;display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:30px}.blog-scope .footbrand .hexwm{font-size:18px}.blog-scope .footbrand p{font-size:12.5px;color:var(--ink-500);margin:12px 0 0;max-width:30ch;line-height:1.55}.blog-scope .hexwm{position:relative;display:inline-block;font-family:var(--font-display);font-weight:900;letter-spacing:-.025em;color:var(--ink-1000);z-index:0;isolation:isolate}.blog-scope .hexwm .ph,.blog-scope .hexwm:after,.blog-scope .hexwm:before{content:attr(data-text);position:absolute;left:0;top:0;color:#22c55e;z-index:-1}.blog-scope .hexwm:before{transform:translate(1px,1px);opacity:.85;--ph:0.85;animation:blog-hexph 3s ease-in-out infinite}.blog-scope .hexwm .ph{transform:translate(2px,2px);opacity:.55;--ph:0.55;animation:blog-hexph 3s ease-in-out .1s infinite}.blog-scope .hexwm:after{transform:translate(3px,3px);opacity:.32;--ph:0.32;animation:blog-hexph 3s ease-in-out .2s infinite}.blog-scope .footcol h4{font-family:var(--font-mono);font-size:9.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-500);margin:2px 0 13px}.blog-scope .footcol a{display:block;font-size:13px;color:var(--ink-700);padding:5px 0;transition:color var(--d-fast)}.blog-scope .footcol a:hover{color:var(--ink-1000)}.blog-scope .footcol .m-only{display:none}.blog-scope .footbar{border-top:1px solid var(--hairline);padding:16px 0;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px}.blog-scope .footbar .cp{font-size:11.5px;color:var(--ink-500)}.blog-scope .footbar .soc{display:flex;gap:6px}.blog-scope .footbar .soc a{width:32px;height:32px;border-radius:50%;border:1px solid var(--hairline-strong);display:inline-flex;align-items:center;justify-content:center;color:var(--ink-600)}.blog-scope .footbar .soc a:hover{color:var(--ink-1000);border-color:var(--green-400)}.blog-scope .footbar .soc a svg{width:15px;height:15px}@media(max-width:900px){.blog-scope .footin{grid-template-columns:1fr 1fr;row-gap:10px}.blog-scope .footbrand{grid-column:1/-1}.blog-scope .footbrand p,.blog-scope .footcol.legalcol{display:none}.blog-scope .footcol .m-only{display:block}.blog-scope .footcol a{padding:11px 0}}@media(max-width:620px){.blog-scope .footer .wrap{padding:0 20px}}.blog-kwrap{max-width:810px;width:100%;margin:0 auto;padding:0 40px}.blog-backbar{padding:24px 0 0}.blog-backlink{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:600;color:var(--ink-500);transition:color var(--d-fast)}.blog-backlink:hover{color:var(--ink-1000)}.blog-backlink svg{width:13px;height:13px}.blog-postheader__cat{font-family:var(--font-mono);font-size:11.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--green-600)}.blog-postheader h1{font-family:var(--font-display);font-size:clamp(28px,4vw,40px);font-weight:800;letter-spacing:-.03em;line-height:1.12;margin:14px 0 0;color:var(--ink-1000)}.blog-postheader__byline{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:13px;color:var(--ink-500);margin-top:16px}.blog-postheader__author{color:var(--ink-700);font-weight:600}.blog-postheader__dot{color:var(--ink-400)}.blog-postheader__tagrow{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.blog-postheader__tagchip{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:600;color:var(--ink-600);border:1px solid var(--hairline-strong);border-radius:var(--r-pill);padding:4px 11px}.blog-postheader__tagchip b{font-family:var(--font-mono);color:var(--green-700);font-weight:700;text-transform:uppercase;font-size:9px;letter-spacing:.06em}.blog-article{padding:34px 0 10px}