.blog-heading{padding:6rem 1rem 2rem;text-align:center}.blog-heading h1{font-family:var(--font-blog-title);font-weight:700;font-size:clamp(1.5rem,4vw,2.5rem);letter-spacing:-.02em;line-height:1.2}.blog-heading--article{padding:5rem 1.25rem 1.75rem;text-align:center}.blog-heading__article-inner{width:min(100%,820px);margin:0 auto}.blog-heading__article-kicker{margin:0 auto;max-width:46ch;font-family:var(--font-body);font-weight:600;font-size:clamp(1rem,2.4vw,1.15rem);line-height:1.4;letter-spacing:.02em;color:#ffffffd1}.blog-breadcrumb{width:min(100%,820px);margin:0 auto}.blog-breadcrumb--article{width:min(100%,820px);max-width:none;margin:0 auto 1.35rem;padding:0 .25rem}.blog-breadcrumb--article .blog-breadcrumb__list{justify-content:flex-start;font-size:.78rem;font-weight:500;letter-spacing:.05em;text-transform:uppercase}.blog-breadcrumb--article .blog-breadcrumb__item:not(:last-child):after{color:#5c5f588c}.blog-breadcrumb--article .blog-breadcrumb__link{color:#0a6378}.blog-breadcrumb--article .blog-breadcrumb__link:hover{color:#085a6b}.blog-breadcrumb--article .blog-breadcrumb__current{color:var(--article-meta)}.blog-breadcrumb__list{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.35rem .5rem;margin:0;padding:0;list-style:none;font-family:var(--font-body);font-size:.88rem;font-weight:600;letter-spacing:.03em;line-height:1.4}.blog-breadcrumb__item{display:inline-flex;align-items:center;min-width:0}.blog-breadcrumb__item:not(:last-child):after{content:"/";margin-left:.5rem;color:#ffffff73;font-weight:500}.blog-breadcrumb__link{color:#ffffffe0;text-decoration:none;transition:color var(--transition)}.blog-breadcrumb__link:hover{color:#fff;text-decoration:underline;text-underline-offset:.15em}.blog-breadcrumb__current{display:inline;color:#ffffff9e;font-weight:500}.blog--index{width:100%;max-width:none;margin:0;padding:1.5rem 1.25rem 3.5rem;background:transparent}.blog__intro{margin:0 auto 2rem;max-width:42ch;font-size:1.05rem;line-height:1.55}.blog__list{list-style:none;margin:0 auto;padding:0;width:min(100%,1120px);display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:clamp(1.25rem,2.5vw,1.75rem);align-items:stretch}.blog__item{margin:0;min-height:100%}.blog__card{display:flex;flex-direction:column;height:100%;color:inherit;text-decoration:none;background:var(--color-white);border:1px solid rgba(23,162,184,.12);border-radius:14px;overflow:hidden;box-shadow:0 1px 2px #0f172a0a,0 8px 24px #0f172a0f;transition:transform var(--transition),box-shadow var(--transition),border-color var(--transition)}.blog__card:hover{transform:translateY(-4px);border-color:#17a2b847;box-shadow:0 4px 8px #0f172a0f,0 16px 40px #17a2b81f}.blog__card:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px}.blog__card .blog-cover--card{flex-shrink:0;width:100%;border-right:none;border-bottom:none}.blog__card .blog-cover--card.blog-cover--image{min-height:0;aspect-ratio:16 / 9}.blog__card .blog-cover--card.blog-cover--image .blog-cover__image{object-fit:cover;object-position:center center}.blog__card .blog-cover--card:before{height:0;opacity:0}.blog__content{display:flex;flex:1;flex-direction:column;gap:.65rem;padding:clamp(1rem,2vw,1.35rem) clamp(1rem,2.5vw,1.4rem) clamp(1.15rem,2.5vw,1.45rem)}.blog__topic{display:inline-flex;align-items:center;justify-content:center;align-self:flex-start;padding:.6rem .75rem .3rem;border-radius:999px;font-family:var(--font-body);font-size:.72rem;font-weight:700;line-height:1;letter-spacing:.08em;text-transform:uppercase;color:#0a6378;background:#17a2b81f;border:1px solid rgba(23,162,184,.2)}.blog__title{margin:0;font-family:var(--font-blog-title);font-weight:700;font-size:clamp(1.15rem,2.2vw,1.45rem);letter-spacing:-.02em;line-height:1.32;color:var(--color-dark);transition:color var(--transition)}.blog__card:hover .blog__title{color:#0e7490}.blog__description{margin:0;flex:1;font-size:.95rem;line-height:1.6;color:var(--color-muted);display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden}.blog__read-more{margin-top:auto;padding-top:.35rem;font-size:.92rem;font-weight:600;letter-spacing:.02em;color:var(--color-primary);transition:color var(--transition),transform var(--transition)}.blog__card:hover .blog__read-more{color:#0f8fa0}.blog__read-more span{display:inline-block;transition:transform var(--transition)}.blog__card:hover .blog__read-more span{transform:translate(3px)}.blog-cover{position:relative;display:flex;align-items:center;justify-content:center;min-height:140px;padding:1rem .85rem;background:#151619;border-right:1px solid #2a2d33}.blog-cover:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#17a2b8,#0d8fa3)}.blog-cover__label{display:block;width:100%;max-width:100%;padding:.6rem .55rem;border-radius:3px;font-family:var(--font-body);font-size:.8rem;font-weight:700;letter-spacing:.04em;line-height:1.3;text-align:center;text-transform:uppercase;color:#16313f;background:#eef3f7;border:1px solid #c5d4de;box-shadow:none;text-shadow:none;word-break:break-word}.blog-cover--hero{min-height:168px;margin:0 auto 1.75rem;border-right:none;border-radius:4px;padding:1.25rem 1rem}.blog-cover--hero .blog-cover__label{font-size:clamp(1rem,3.5vw,1.35rem);letter-spacing:.05em;padding:.75rem 1rem}.blog-cover--image{display:block;padding:0;overflow:hidden;background:#151619}.blog-cover--image:before{z-index:2}.blog-cover--loading.blog-cover--image{background:linear-gradient(145deg,#1c1f24,#12141a 48%,#1a1e25)}.blog-cover--loading.blog-cover--image:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;background:linear-gradient(105deg,transparent 38%,rgba(23,162,184,.14) 50%,transparent 62%);animation:blog-cover-shimmer 1.8s ease-in-out infinite;pointer-events:none}@keyframes blog-cover-shimmer{0%{transform:translate(-120%)}to{transform:translate(120%)}}@media(prefers-reduced-motion:reduce){.blog-cover--loading.blog-cover--image:after{animation:none;background:#17a2b814;transform:none}}.blog-cover__fallback{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.65rem;padding:1rem}.blog-cover--image .blog-cover__fallback{gap:0;padding:0}.blog-cover__status{margin:0;font-family:var(--font-body);font-size:.82rem;font-weight:500;letter-spacing:.03em;line-height:1.4;text-align:center;color:#b8c2cc}.blog-cover__status--error{padding:.55rem .85rem;border-radius:6px;font-size:.78rem;letter-spacing:.04em;text-transform:uppercase;color:#94a3b8;background:#0f172a73;border:1px solid rgba(148,163,184,.22)}.blog-cover--hero .blog-cover__status{font-size:.9rem}.blog-cover--image picture{position:absolute;top:0;right:0;bottom:0;left:0;display:block;width:100%;height:100%}.blog-cover__image{position:absolute;top:0;right:0;bottom:0;left:0;display:block;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .35s ease}.blog-cover--loaded .blog-cover__image{opacity:1}.blog-cover--hero.blog-cover--image .blog-cover__image{opacity:1;transition:none}.blog-cover--card.blog-cover--image{min-height:0;width:100%;aspect-ratio:16 / 9}.blog-cover--hero.blog-cover--image{min-height:0;width:100%;aspect-ratio:16 / 9;max-width:68ch;margin-inline:auto;border-radius:6px;border:1px solid #d8dee6;contain:layout style paint}.blog-post{--article-bg: #f6f3ed;--article-bg-cast: rgba(246, 243, 237, .5);--article-bg-cast-card: rgba(246, 243, 237, .62);--article-linen: url(/images/low-contrast-linen.png);--article-linen: image-set(url(/images/low-contrast-linen.avif) type("image/avif"), url(/images/low-contrast-linen.png) type("image/png"));--article-text: #282a38;--article-text-body: #282a26;--article-heading: #1f211e;--article-meta: #5c5f58;--article-link: #2f3528;--article-link-hover: #1a1d18;--article-border: #8f8a80;--article-code-bg: #ebe8e1;--article-code-border: #d5d1c8;--article-shell-min-height: calc(36rem + var(--reading-minutes, 5) * 7rem);--article-body-min-height: calc(var(--reading-minutes, 5) * 7rem);width:100%;max-width:none;margin:0;padding:.35rem 1rem 3rem;background-color:var(--article-bg);background-image:linear-gradient(var(--article-bg-cast),var(--article-bg-cast)),var(--article-linen);min-height:var(--article-shell-min-height)}@media(min-width:992px){.blog-post{padding:2rem 1.5rem 4rem}}.blog-post__content{width:min(100%,820px);margin:0 auto;padding:2.35rem 1.75rem 2.5rem;background-color:var(--article-bg);background-image:linear-gradient(var(--article-bg-cast-card),var(--article-bg-cast-card)),var(--article-linen);border:1px solid var(--article-border);border-radius:24px;box-shadow:0 1px 2px #282a260a,0 18px 48px #282a260f}@media(min-width:1200px){.blog-post__content{padding:2.5rem 2.25rem 3rem}}@media(max-width:991px){.blog-post{padding:0 0 2.5rem}.blog-post__content{width:100%;max-width:none;padding:1.25rem 1.125rem 1.75rem;border:0;border-radius:0;box-shadow:none}}.blog-post__title{font-family:var(--font-blog-title);font-weight:700;color:var(--article-heading);font-size:clamp(1.5rem,4.2vw,2.15rem);letter-spacing:-.02em;line-height:1.28;margin:0;max-width:68ch;text-align:left;text-wrap:balance;min-height:2.56em}.blog-post__header{display:flex;flex-direction:column;gap:1.35rem;max-width:68ch;margin:0 auto 2rem}.blog-post__meta{display:flex;flex-wrap:wrap;align-items:center;gap:0;margin:0;padding:0 0 1.15rem;border-bottom:1px solid rgba(40,42,38,.1);list-style:none;font-family:var(--font-body);font-size:.88rem;font-weight:500;line-height:1.4;color:var(--article-meta)}.blog-post__meta li{display:inline-flex;align-items:center}.blog-post__meta li+li:before{content:"·";margin:0 .75rem;color:#5c5f588c;font-weight:700}.blog-post__date{font-variant-numeric:tabular-nums}.blog-post__lede{margin:0;font-family:var(--font-body);font-size:1.02rem;line-height:1.65;color:var(--article-text);min-height:calc(3 * 1.65em)}.blog-post__body{min-height:var(--article-body-min-height, calc(var(--reading-minutes, 6) * 7rem))}.blog-prose{max-width:68ch;margin:0 auto;font-size:1.05rem;line-height:1.9;color:var(--article-text-body);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}.blog-prose>:first-child{margin-top:0}.blog-prose p,.blog-prose li,.blog-prose blockquote{letter-spacing:.01em}.blog-prose p{margin:0 0 1.55rem}.blog-prose h2{font-family:var(--font-body);font-weight:600;font-size:1.4rem;letter-spacing:.02em;line-height:1.35;color:var(--article-heading);margin:2.75rem 0 .85rem}.blog-prose h3{font-family:var(--font-body);font-weight:600;font-size:1.2rem;margin:1.5rem 0 .75rem;color:var(--article-text)}.blog-prose a{color:#0e7490;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:.2em}.blog-prose a:hover{color:#0a6378}.blog-prose a:focus-visible{outline:2px solid #0e7490;outline-offset:3px;border-radius:2px}.blog-prose ul,.blog-prose ol{margin:0 0 1.55rem;padding-left:1.75rem}.blog-prose li{margin-bottom:.65rem}.blog-prose table{display:table;width:100%;margin:0;border-collapse:collapse;font-size:.95rem}.blog-table-wrap{margin:0 0 1.5rem;max-width:100%;min-width:0;border:1px solid rgba(23,162,184,.32);border-radius:8px;overflow:hidden}.blog-prose th,.blog-prose td{padding:.65rem .85rem;border:1px solid rgba(23,162,184,.2);text-align:left;vertical-align:top}.blog-prose th{background:#17a2b81a;font-weight:600;color:#0a6378;border-bottom:2px solid rgba(23,162,184,.35)}.blog-prose tbody tr:nth-child(2n) td{background:#17a2b80a}.blog-prose img{display:none}.blog-prose :not(pre)>code{padding:.15em .45em;border-radius:4px;background:var(--article-code-bg);border:1px solid var(--article-code-border);font-family:ui-monospace,SFMono-Regular,Cascadia Code,Menlo,Consolas,monospace;font-size:.9em;color:var(--article-text)}.blog-prose figure[data-rehype-pretty-code-figure]{margin:0 0 1.5rem;max-width:100%;min-width:0}.blog-prose pre{margin:0 0 1.5rem;padding:1.1rem 0;overflow-x:auto;max-width:100%;border-radius:6px;background:#151619;border:1px solid #2a2d33;box-shadow:none}.blog-prose figure[data-rehype-pretty-code-figure] pre{margin:0}.blog-prose pre code{display:grid;background:transparent!important;font-family:ui-monospace,SFMono-Regular,Cascadia Code,Menlo,Consolas,monospace;font-size:.88rem;line-height:1.65;color:#e6edf3;counter-reset:line}.blog-prose pre code [data-line]{padding:0 1.25rem}.blog-prose pre code [data-line]:before{display:none}.blog-post__back{display:block;margin-top:1.5rem;margin-left:auto;width:fit-content;max-width:100%}.blog-post__back.gradient-link .text-danger{-webkit-text-fill-color:var(--color-danger);color:var(--color-danger)}.blog-post__copyright{max-width:68ch;margin:2.5rem auto 0;padding-top:1.5rem;border-top:1px solid rgba(40,42,38,.14);text-align:left;clear:both}.blog-post__copyright-line{margin:0 0 .5rem;font-size:.9rem;line-height:1.55;color:var(--article-text);font-weight:600}.blog-post__copyright-line--muted{font-weight:500;color:var(--article-meta);margin-bottom:0}@media(min-width:992px){.blog__list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:767px){.blog-heading{padding:5.5rem 1rem 1.5rem}.blog-heading--article{padding:5rem 1.125rem 1.5rem}.blog-heading__article-kicker{font-size:clamp(1.02rem,4.5vw,1.12rem);line-height:1.5;max-width:min(100%,22rem);padding:0 .35rem;color:#ffffffe6;text-wrap:balance}.blog-breadcrumb__list{font-size:.82rem}.blog-breadcrumb--article{width:100%;margin:0 0 1rem;padding:1.15rem 1.125rem 0}.blog-post__header{gap:1.1rem;margin-bottom:1.5rem}.blog-post__title{min-height:3.84em}.blog-post__meta{font-size:.84rem;padding-bottom:1rem}.blog-post__lede{font-size:.98rem;line-height:1.6}.blog--index{padding:1rem .85rem 2.5rem}.blog__list{width:100%;grid-template-columns:1fr;gap:1.25rem}.blog__card{border-radius:12px}.blog-cover .blog-cover__label{font-size:.95rem;padding:.65rem .75rem}.blog__title{font-size:clamp(1.2rem,5vw,1.45rem)}.blog__description{font-size:.9rem;-webkit-line-clamp:4}.blog-post__content .blog-cover--hero{margin-left:-1.125rem;margin-right:-1.125rem;width:calc(100% + 2.25rem);max-width:none;border:0;border-radius:0}.blog-post__content .blog-cover--hero.blog-cover--image{border:0;border-radius:0}.blog-prose{font-size:1rem;line-height:1.75;min-width:0}.blog-prose figure[data-rehype-pretty-code-figure]{width:100%}.blog-prose pre{overflow-x:visible;padding:1rem .75rem;border-radius:4px}.blog-prose pre code{display:block;white-space:pre-wrap;word-break:break-word;overflow-wrap:anywhere}.blog-prose pre code [data-line]{display:block;padding:0;white-space:pre-wrap;word-break:break-word;overflow-wrap:anywhere}.blog-table-wrap{margin-bottom:1.25rem;border-color:#17a2b847}.blog-table-wrap table{display:block;width:100%;border:0}.blog-table-wrap thead{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.blog-table-wrap tbody{display:block}.blog-table-wrap tr{display:block;margin-bottom:.85rem;border:1px solid rgba(23,162,184,.28);border-radius:8px;overflow:hidden;background:#17a2b80a}.blog-table-wrap tr:last-child{margin-bottom:0}.blog-table-wrap td{display:block;border:none;border-bottom:1px solid rgba(23,162,184,.16);padding:.65rem .85rem;text-align:left}.blog-table-wrap td:last-child{border-bottom:0}.blog-table-wrap td:before{content:attr(data-label);display:block;margin-bottom:.2rem;font-weight:600;font-size:.72rem;letter-spacing:.05em;text-transform:uppercase;color:#0a6378}.blog-cover--hero{min-height:120px;margin-bottom:1.25rem}.blog-cover--hero.blog-cover--image{min-height:0}}
