.blog-container{max-width:1200px;margin:auto;padding:0 2.5rem 5rem}.blog-heading{grid-template-columns:minmax(0,1.5fr) minmax(260px,1fr);align-items:end;gap:2rem 3rem;padding:3rem 0 2rem;display:grid}.blog-heading h1{text-wrap:balance;max-width:25ch;margin-bottom:1rem;font-size:clamp(1.875rem,3.6vw,2.625rem);font-weight:700;line-height:1.15}.blog-heading p{color:var(--muted);max-width:60ch;font-size:1rem;line-height:1.75}.blog-search{justify-self:end;width:100%;max-width:380px}.blog-search label{margin-bottom:.625rem;font-size:.875rem;font-weight:600;display:block}.blog-search>div{gap:.5rem;display:flex}.blog-search input{min-width:0;min-height:48px;font-size:1rem}.blog-search .button{min-height:48px;font-size:.875rem}.archive-back{min-height:44px;color:var(--muted);align-items:center;gap:.5rem;margin-top:1.75rem;font-size:.875rem;display:inline-flex}.archive-back:hover{color:var(--link-color);text-underline-offset:4px;text-decoration:underline}.archive-back+.blog-heading{padding-top:1rem}.carousel-track{scroll-snap-type:x mandatory;scrollbar-width:none;border-radius:12px;display:flex;overflow-x:auto}.carousel-track::-webkit-scrollbar{display:none}.carousel-slide{scroll-snap-align:start;scroll-snap-stop:always;flex:0 0 100%;min-width:0}.article-card.card-hero{background:var(--surface);border-radius:12px;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);height:100%;display:grid;overflow:hidden}.card-hero .card-image{aspect-ratio:auto;border-radius:0;height:100%;min-height:320px;position:relative}.card-hero .card-image img{position:absolute;inset:0}.card-hero .card-copy{justify-content:center;padding:2rem}.article-card.card-hero h3{margin:1rem 0;font-size:clamp(1.375rem,2.4vw,1.875rem);line-height:1.25}.card-hero p{-webkit-line-clamp:3}.card-hero .card-link{background:var(--accent);color:#fff;border-radius:6px;margin-top:1rem;padding:.75rem 1rem;font-size:.875rem}.card-hero .card-link:hover{background:var(--accent-hover);text-decoration:none}.carousel-controls{justify-content:flex-end;align-items:center;gap:.75rem;padding-top:.75rem;display:flex}.carousel-controls button{border:1px solid var(--border);background:var(--surface);width:44px;height:44px;color:var(--text);border-radius:6px;place-items:center;display:grid}.carousel-controls button:hover:not(:disabled){background:var(--surface-2)}.carousel-controls button:disabled{cursor:default;opacity:.4}.carousel-status{text-align:center;min-width:4.5rem;color:var(--muted);font-variant-numeric:tabular-nums;font-size:.8125rem}.archive-list{margin-top:2.5rem}.archive-toolbar{border-bottom:1px solid var(--border);justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:1.5rem;padding-bottom:1rem;display:flex}.archive-toolbar h2{font-size:1.5rem;font-weight:600}.archive-toolbar>span{color:var(--muted);white-space:nowrap;font-size:.8125rem}.archive-list .article-grid{gap:2.5rem 2rem}.search-container{max-width:960px}.search-container .blog-heading{grid-template-columns:1fr}.search-form{gap:.5rem;max-width:720px;margin:0 0 2rem;display:flex}.search-form input,.search-form .button{min-height:48px}.search-status{color:var(--muted);margin-bottom:1.5rem;font-size:.9375rem;line-height:1.7}.search-result{border-bottom:1px solid var(--border);padding:1.5rem 0}.search-result h2{text-wrap:pretty;margin-bottom:.625rem;font-size:1.375rem;line-height:1.35}.search-result a:hover{color:var(--link-color);text-underline-offset:4px;text-decoration:underline}.search-result p{color:var(--muted);font-size:.9375rem;line-height:1.75}.search-results{max-width:800px}@media (width<=899px){.blog-heading{grid-template-columns:1fr;gap:1.5rem}.blog-search{justify-self:start;max-width:600px}.blog-container{padding-inline:1.5rem}}@media (width<=767px){.article-card.card-hero{grid-template-columns:1fr}.card-hero .card-image{aspect-ratio:16/9;height:auto;min-height:0}.card-hero .card-copy{padding:1.5rem}.article-card.card-hero h3{font-size:1.5rem}.carousel-controls{justify-content:center}}@media (width<=639px){.blog-container{padding-inline:1rem}.blog-heading{padding-block:2rem 1.5rem}.blog-heading h1{font-size:1.875rem}.blog-heading p{font-size:.9375rem}.blog-search input{font-size:1rem}.blog-search .button{padding-inline:.875rem}.card-hero .card-copy{padding:1.25rem}.article-card.card-hero h3{font-size:1.375rem}.archive-list{margin-top:2rem}.archive-toolbar h2{font-size:1.25rem}.archive-list .article-grid{gap:2rem}.search-form{gap:.5rem}.search-form input{min-width:0}.search-form .button{padding-inline:.875rem}}
