.grep-blog{--blog-link:#5147ef;background:hsl(var(--marketing-background));color:hsl(var(--marketing-foreground));font:400 16px/1.6 var(--grep-font-sans)}html[data-theme=dark] .grep-blog{--blog-link:#aaa0ff}.grep-blog-container{width:100%;min-width:0;max-width:1280px;margin-inline:auto;padding-inline:32px}.grep-blog-index{padding-block:clamp(72px,8vw,112px)}.grep-blog-index-header{max-width:920px;margin-bottom:56px}.grep-blog-eyebrow{color:var(--blog-link);font:500 11px/1.5 var(--grep-font-mono);letter-spacing:.14em;text-transform:uppercase;margin:0 0 24px}.grep-blog-eyebrow a{color:hsl(var(--marketing-muted-foreground));text-decoration:none;transition:color .16s}.grep-blog-eyebrow a:hover{color:var(--blog-link)}.grep-blog .grep-blog-title{font:500 clamp(36px, 4.5vw, 64px)/1.06 var(--grep-font-sans);letter-spacing:-.03em;text-transform:none;text-wrap:balance;overflow-wrap:anywhere;margin:0}.grep-blog-description{max-width:760px;color:hsl(var(--marketing-muted-foreground));letter-spacing:-.01em;margin:24px 0 0;font-size:clamp(17px,1.7vw,20px);line-height:1.55}.grep-blog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;margin-top:48px;display:grid}.grep-blog-card{border:1px solid hsl(var(--marketing-border));background:hsl(var(--marketing-surface-raised));flex-direction:column;min-width:0;transition:border-color .16s,background-color .16s;display:flex}.grep-blog-card:hover,.grep-blog-card:focus-within{border-color:hsl(var(--marketing-foreground))}.grep-blog-card-media{aspect-ratio:16/10;background:hsl(var(--marketing-surface-sunken));border-bottom:1px solid hsl(var(--marketing-border));position:relative;overflow:hidden}.grep-blog-card-media img{object-fit:cover;width:100%;height:100%;transition:transform 1.2s cubic-bezier(.22,1,.36,1);position:absolute;inset:0}.grep-blog-card-body{flex-direction:column;flex:1;align-items:flex-start;min-width:0;padding:32px;display:flex}.grep-blog-meta{color:hsl(var(--marketing-muted-foreground));font:400 11px/1.6 var(--grep-font-mono);letter-spacing:.025em;flex-wrap:wrap;align-items:center;gap:8px 16px;margin:0 0 20px;display:flex}.grep-blog .grep-blog-card-title{font:500 clamp(25px, 2.4vw, 32px)/1.2 var(--grep-font-sans);letter-spacing:-.025em;text-transform:none;overflow-wrap:anywhere;margin:0}.grep-blog-card-title a{color:inherit;text-decoration:none}.grep-blog-card-excerpt{color:hsl(var(--marketing-muted-foreground));margin:18px 0 28px;font-size:16px;line-height:1.6}.grep-blog-read-link{color:var(--blog-link);align-items:center;gap:10px;margin-top:auto;font-size:14px;text-decoration:none;display:inline-flex}.grep-blog-read-link svg{flex-shrink:0;transition:transform .2s}.grep-blog-read-link:hover svg{transform:translate(4px)}.grep-blog-read-link:hover{text-underline-offset:4px;text-decoration:underline}.grep-blog-card[data-featured=true]{background:hsl(var(--marketing-surface-sunken))}.grep-blog-card[data-featured=true] .grep-blog-card-title{font-size:clamp(28px,3vw,40px);line-height:1.15}.grep-blog-card[data-featured=true] .grep-blog-card-body{padding:40px}.grep-blog a:focus-visible,.grep-blog button:focus-visible{outline:2px solid var(--blog-link);outline-offset:5px}.grep-blog-post{padding-bottom:clamp(72px,8vw,112px)}.grep-blog-post-header{text-align:center;max-width:960px;margin-inline:auto;padding-block:clamp(64px,7vw,96px) 48px}.grep-blog-post-header .grep-blog-meta{justify-content:center;margin:24px 0 0}.grep-blog-post-header .grep-blog-description{margin-inline:auto}.grep-blog-hero-media{aspect-ratio:16/9;border:1px solid hsl(var(--marketing-border));background:hsl(var(--marketing-surface-raised));max-width:1120px;margin-inline:auto;position:relative;overflow:hidden}.grep-blog-reading{min-width:0;max-width:760px;margin:64px auto 0}.grep-blog-content{color:hsl(var(--marketing-foreground));font:400 18px/1.75 var(--grep-font-sans);overflow-wrap:anywhere}.grep-blog-content>:first-child{margin-top:0}.grep-blog-content p{margin:0 0 1.5em}.grep-blog-content :is(h1,h2,h3,h4,h5,h6){color:hsl(var(--marketing-foreground));font-family:var(--grep-font-sans);letter-spacing:-.025em;text-transform:none;text-wrap:balance;font-weight:500;line-height:1.2}.grep-blog-content h1,.grep-blog-content h2{margin:1.75em 0 .65em;font-size:clamp(28px,3vw,38px)}.grep-blog-content h3{margin:1.65em 0 .65em;font-size:26px}.grep-blog-content :is(h4,h5,h6){margin:1.5em 0 .6em;font-size:21px}.grep-blog-content strong{color:inherit;font-weight:650}.grep-blog-content a{color:var(--blog-link);text-underline-offset:4px;text-decoration:underline;text-decoration-thickness:1px;transition:color .16s}.grep-blog-content a:hover{color:hsl(var(--marketing-foreground))}.grep-blog-content :is(ul,ol){margin:0 0 1.5em;padding-left:1.5em}.grep-blog-content ul{list-style:outside}.grep-blog-content ol{list-style:decimal}.grep-blog-content li{margin-block:.45em;padding-left:.25em}.grep-blog-content li::marker{color:hsl(var(--marketing-muted-foreground))}.grep-blog-content li>:is(ul,ol){margin-block:.5em}.grep-blog-content blockquote{border-left:2px solid var(--blog-link);letter-spacing:-.015em;margin:2em 0;padding:4px 0 4px 28px;font-size:22px;line-height:1.55}.grep-blog-content blockquote>:last-child{margin-bottom:0}.grep-blog-content :not(pre)>code{background:hsl(var(--marketing-surface-sunken));color:inherit;border:1px solid hsl(var(--marketing-border));font:400 .8em/1.6 var(--grep-font-mono);overflow-wrap:anywhere;padding:.15em .35em}.grep-blog-content pre{border:1px solid hsl(var(--marketing-border));color:#f1f0f7;max-width:100%;font:400 13px/1.7 var(--grep-font-mono);overflow-wrap:normal;background:#19191f;border-radius:0;margin:2em 0;padding:24px;overflow-x:auto}.grep-blog-content pre code{color:inherit;font:inherit;white-space:pre;background:0 0;border:0;padding:0}.grep-blog-content pre button{color:#f1f0f7;font:400 11px/1.5 var(--grep-font-mono);box-shadow:none;background:#28282e;border:1px solid #52525c;border-radius:0;margin-top:16px}.grep-blog-content pre button:hover{background:#36363e}.grep-blog-content pre button p{margin:0}.grep-blog-content .grep-richtext-banner{box-shadow:none;border-radius:0;padding:24px}.grep-blog-content .grep-richtext-banner[data-style=info]{border-color:hsl(var(--marketing-border));background:hsl(var(--marketing-surface-sunken))}.grep-blog-content .grep-richtext-banner .payload-richtext>:last-child{margin-bottom:0}.grep-blog-content table{border-collapse:collapse;width:100%;max-width:100%;margin-block:2em;font-size:15px;line-height:1.5;display:block;overflow-x:auto}.grep-blog-content :is(th,td){border:1px solid hsl(var(--marketing-border));text-align:left;vertical-align:top;min-width:120px;padding:14px 16px}.grep-blog-content th{background:hsl(var(--marketing-surface-sunken));font-weight:600}.grep-blog-content img{border:1px solid hsl(var(--marketing-border));border-radius:0;max-width:100%;height:auto;margin-block:2em;display:block}.grep-blog-content :is(video,iframe){aspect-ratio:16/9;border:1px solid hsl(var(--marketing-border));width:100%;max-width:100%;height:auto;margin-block:2em;display:block}.grep-blog-content figcaption{color:hsl(var(--marketing-muted-foreground));font:400 12px/1.6 var(--grep-font-mono);margin-top:12px}.grep-blog-content hr{border:0;border-top:1px solid hsl(var(--marketing-border));margin-block:48px}@media (min-width:900px){.grep-blog-card[data-featured=true][data-has-media=true]{grid-template-columns:1.1fr 1fr;display:grid}.grep-blog-card[data-featured=true] .grep-blog-card-media{aspect-ratio:auto;border-bottom:0;border-right:1px solid hsl(var(--marketing-border));min-height:360px}.grep-blog-card[data-featured=true] .grep-blog-card-body{justify-content:center}.grep-blog-card[data-featured=true] .grep-blog-read-link{margin-top:8px}}@media (hover:hover) and (prefers-reduced-motion:no-preference){.grep-blog-card:hover .grep-blog-card-media img{transform:scale(1.025)}}@media (max-width:767px){.grep-blog-container{padding-inline:20px}.grep-blog-index{padding-block:56px 72px}.grep-blog-index-header{margin-bottom:40px}.grep-blog-grid{grid-template-columns:1fr;gap:24px;margin-top:24px}.grep-blog-card-body,.grep-blog-card[data-featured=true] .grep-blog-card-body{padding:24px}.grep-blog-post-header{padding-block:48px 36px}.grep-blog-reading{margin-top:40px}.grep-blog-content{font-size:17px}.grep-blog-content pre{padding:18px;font-size:12px}.grep-blog-content blockquote{padding-left:20px;font-size:20px}}@media (prefers-reduced-motion:reduce){.grep-blog :is(a,button,.grep-blog-card,.grep-blog-card-media img,.grep-blog-read-link svg){transition:none}.grep-blog-card:hover .grep-blog-card-media img,.grep-blog-read-link:hover svg{transform:none}}
