.blog-site{--blog-rule:hsl(var(--border));color:hsl(var(--foreground));background:hsl(var(--background))}.blog-masthead{background:hsl(var(--foreground));color:hsl(var(--background));border-bottom:6px solid hsl(var(--primary));padding:clamp(5rem,11vw,9rem) 1.5rem 4.5rem}.blog-masthead .container-narrow{max-width:1050px}.blog-kicker{color:hsl(var(--primary));text-transform:uppercase;letter-spacing:.14em;margin:0 0 1rem;font-size:.75rem;font-weight:800}.blog-masthead h1,.article-header h1{max-width:1000px;color:hsl(var(--background));letter-spacing:0;margin:0;font-size:clamp(2.7rem,7vw,5.8rem);line-height:.98}.blog-lead{max-width:750px;color:hsl(var(--background)/.68);margin:2rem 0 0;font-size:clamp(1rem,2vw,1.25rem);line-height:1.75}.blog-regions{z-index:30;border-bottom:1px solid var(--blog-rule);background:hsl(var(--background)/.96);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);position:sticky;top:6rem}.blog-regions .container-narrow{gap:2rem;padding:1.1rem 1.5rem;display:flex;overflow-x:auto}.blog-regions a{color:hsl(var(--muted-foreground));flex:none;font-size:.82rem;font-weight:700}.blog-regions a[aria-current=page],.blog-regions a:hover{color:hsl(var(--primary))}.blog-grid-section,.article-related{padding:clamp(4rem,8vw,7rem) 1.5rem}.blog-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem;display:grid}.blog-card{border-top:3px solid hsl(var(--foreground));background:hsl(var(--card));flex-direction:column;min-width:0;display:flex}.blog-card-image{aspect-ratio:3/2;background:hsl(var(--muted));display:block;position:relative;overflow:hidden}.blog-card-image img{object-fit:cover;filter:saturate(.72);width:100%;height:100%;transition:transform .5s}.blog-card:hover .blog-card-image img{transform:scale(1.035)}.blog-card-image>span{background:hsl(var(--primary));color:hsl(var(--primary-foreground));text-transform:uppercase;padding:.55rem .8rem;font-size:.7rem;font-weight:800;position:absolute;bottom:0;left:0}.blog-card-placeholder{width:100%;height:100%;color:hsl(var(--primary));place-items:center;font-size:5rem;font-weight:800;display:grid}.blog-card-body{flex-direction:column;flex:1;padding:1.4rem 0;display:flex}.blog-card-meta{color:hsl(var(--muted-foreground));text-transform:uppercase;align-items:center;gap:.45rem;font-size:.72rem;font-weight:700;display:flex}.blog-card-meta svg{width:.85rem;height:.85rem}.blog-card h2{letter-spacing:0;margin:.8rem 0;font-size:clamp(1.25rem,2vw,1.6rem);line-height:1.2}.blog-card h2 a:hover{color:hsl(var(--primary))}.blog-card-body>p:not(.blog-card-meta){color:hsl(var(--muted-foreground));font-size:.92rem;line-height:1.65}.blog-card-foot{border-top:1px solid var(--blog-rule);color:hsl(var(--muted-foreground));justify-content:space-between;align-items:center;margin-top:auto;padding-top:1.25rem;font-size:.75rem;display:flex}.blog-card-foot a{background:hsl(var(--foreground));width:2.25rem;height:2.25rem;color:hsl(var(--background));place-items:center;display:grid}.blog-card-foot svg{width:1rem}.blog-empty{max-width:700px;padding:4rem 0}.blog-empty h2{letter-spacing:0;font-size:clamp(2rem,5vw,3.6rem);line-height:1.05}.blog-empty>p:not(.blog-kicker){color:hsl(var(--muted-foreground));line-height:1.7}.blog-empty>div{flex-wrap:wrap;gap:1rem;margin-top:2rem;display:flex}.blog-preview-notice,.blog-preview-bar{background:hsl(var(--primary));color:hsl(var(--primary-foreground));text-align:center;padding:.9rem 1.2rem;font-size:.8rem;font-weight:800}.blog-preview-notice{margin-bottom:2rem}.article-header{background:hsl(var(--foreground));color:hsl(var(--background));padding:5rem 1.5rem 0}.article-header-inner{max-width:1050px;margin:0 auto}.article-back{color:hsl(var(--background)/.7);align-items:center;gap:.5rem;margin-bottom:3.5rem;font-size:.85rem;font-weight:700;display:inline-flex}.article-back svg{width:1rem}.article-header h1{font-size:clamp(2.6rem,6.5vw,5.6rem)}.article-deck{max-width:800px;color:hsl(var(--background)/.72);margin:2rem 0;font-size:clamp(1.05rem,2vw,1.3rem);line-height:1.65}.article-byline{color:hsl(var(--background)/.55);flex-wrap:wrap;align-items:center;gap:.55rem;padding-bottom:3rem;font-size:.8rem;display:flex}.article-byline svg{width:.9rem;height:.9rem}.article-cover{aspect-ratio:16/9;object-fit:cover;filter:saturate(.75);width:min(1280px,100%);max-height:700px;margin:0 auto;display:block}.article-layout{grid-template-columns:240px minmax(0,740px);justify-content:center;gap:clamp(2rem,7vw,7rem);padding:clamp(4rem,9vw,8rem) 1.5rem;display:grid}.article-toc{border-top:3px solid hsl(var(--primary));align-self:start;padding-top:.5rem;position:sticky;top:9rem}.article-toc>p{text-transform:uppercase;font-size:.75rem;font-weight:800}.article-toc ol{margin:1rem 0;padding:0;list-style:none}.article-toc li{border-top:1px solid var(--blog-rule)}.article-toc a{color:hsl(var(--muted-foreground));padding:.75rem 0;font-size:.78rem;line-height:1.45;display:block}.article-toc a:hover{color:hsl(var(--primary))}.article-prose{min-width:0;font-size:1.05rem;line-height:1.85}.article-prose>p:first-child{border-left:4px solid hsl(var(--primary));background:hsl(var(--muted));padding:1.4rem;font-size:1.08rem}.article-prose h2{letter-spacing:0;margin:3.5rem 0 1rem;scroll-margin-top:9rem;font-size:clamp(1.7rem,3vw,2.4rem);line-height:1.15}.article-prose h3{margin:2.2rem 0 .6rem;font-size:1.25rem}.article-prose p{color:hsl(var(--foreground)/.84);margin:0 0 1.25rem}.article-prose ul,.article-prose ol{margin:0 0 1.5rem;padding-left:1.4rem}.article-prose li{margin:.55rem 0}.article-prose a{color:hsl(var(--primary));text-underline-offset:3px;font-weight:700;text-decoration:underline}.article-prose blockquote{border-left:4px solid hsl(var(--primary));background:hsl(var(--muted));margin:2rem 0;padding:1.4rem 1.8rem}.article-prose hr{border:0;border-top:1px solid var(--blog-rule);margin:3rem 0}.article-estimate{background:hsl(var(--foreground));color:hsl(var(--background));padding:4rem 1.5rem}.article-estimate .container-narrow{justify-content:space-between;align-items:end;gap:2rem;display:flex}.article-estimate h2{color:hsl(var(--background));letter-spacing:0;margin:.3rem 0;font-size:clamp(2rem,4vw,3.5rem)}.article-estimate p:not(.blog-kicker){color:hsl(var(--background)/.65)}.article-estimate-actions{flex-wrap:wrap;gap:1rem;display:flex}.article-estimate .btn-outline{border-color:hsl(var(--background));color:hsl(var(--background))}.article-related>h2{letter-spacing:0;margin:.3rem 0 2.5rem;font-size:clamp(2rem,4vw,3.2rem)}.fixed-contact-actions{z-index:65;flex-direction:column;gap:.55rem;display:flex;position:fixed;bottom:1rem;right:1rem}.fixed-contact-actions a{background:hsl(var(--foreground));min-height:48px;color:hsl(var(--background));border:1px solid hsl(var(--background)/.18);box-shadow:0 8px 30px hsl(var(--foreground)/.2);align-items:center;gap:.65rem;padding:.75rem 1rem;font-size:.78rem;font-weight:800;display:flex}.fixed-contact-actions a:first-child{background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.fixed-contact-actions svg{width:1.05rem;height:1.05rem}.article-breadcrumb{color:hsl(var(--background)/.7);align-items:center;gap:.55rem;margin-bottom:3.5rem;font-size:.78rem;font-weight:700;display:flex}.article-breadcrumb a:hover{color:hsl(var(--primary))}.article-breadcrumb span[aria-current=page]{text-overflow:ellipsis;white-space:nowrap;max-width:36rem;overflow:hidden}.blog-pagination{border-top:1px solid var(--blog-rule);grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;margin-top:3.5rem;padding-top:1.5rem;font-size:.82rem;font-weight:700;display:grid}.blog-pagination a:last-child{text-align:right}.blog-pagination a:hover{color:hsl(var(--primary))}@media (width<=900px){.blog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.article-layout{grid-template-columns:1fr}.article-toc{position:static}.article-estimate .container-narrow{flex-direction:column;align-items:start}}@media (width<=640px){.blog-regions{top:4.5rem}.blog-regions .container-narrow{gap:1.25rem}.blog-grid{grid-template-columns:1fr}.blog-masthead{padding-top:4.5rem}.article-header{padding-top:3rem}.article-breadcrumb{flex-wrap:wrap;margin-bottom:2rem}.article-breadcrumb span[aria-current=page]{max-width:100%}.article-layout{padding-top:3.5rem}.blog-pagination{grid-template-columns:1fr 1fr}.blog-pagination>span{text-align:center;grid-area:1/1/auto/-1}.blog-pagination a{grid-row:2}.fixed-contact-actions{grid-template-columns:1fr 1fr;gap:0;display:grid;bottom:0;left:0;right:0}.fixed-contact-actions a{border:0;justify-content:center}.blog-site footer{padding-bottom:48px}}
