.blog-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);background:var(--foam);min-height:390px}
.blog-hero-copy{padding:clamp(3rem,6vw,6rem) clamp(1.25rem,6vw,7rem);align-self:center}
.blog-hero h1{font:800 clamp(3rem,6vw,6rem)/1 Manrope,sans-serif;letter-spacing:-.055em;margin:0 0 1.25rem}
.blog-hero .lede{max-width:34rem;margin:0 0 1.5rem}
.blog-hero figure{margin:0;min-width:0;min-height:300px}
.blog-hero img{display:block;width:100%;height:100%;max-height:490px;object-fit:cover}
.blog-library,.article-shell,.article-related{max-width:1440px;margin:auto;padding:clamp(3rem,5vw,5rem) clamp(1.25rem,6vw,7rem)}
.blog-library-heading{display:flex;justify-content:space-between;align-items:end;gap:2rem;margin-bottom:1.5rem}
.blog-library h2,.article-related>h2{font:800 clamp(1.6rem,3vw,2.4rem)/1.15 Manrope,sans-serif;letter-spacing:-.035em;margin:0}
.blog-search{display:flex;align-items:center;gap:.6rem;width:min(100%,25rem)}
.blog-search label{display:block;width:100%;font-size:.875rem;font-weight:700}
.blog-search input{display:block;width:100%;margin-top:.35rem;padding:.85rem 1rem;border:1px solid #a8c3ca;border-radius:.75rem;background:#fff;color:var(--ink);font:inherit;font-size:1rem}
.blog-search button,.blog-empty button{border:1px solid #a8c3ca;border-radius:999px;background:#fff;color:var(--ink);padding:.65rem 1rem;font-weight:700;align-self:flex-end;white-space:nowrap}
.blog-topics{border:0;padding:0;margin:0 0 1rem;display:flex;gap:.6rem;flex-wrap:wrap}
.blog-topics legend{padding:0;margin-bottom:.65rem;font-size:.875rem;font-weight:700;color:var(--muted)}
.blog-topics button{border:1px solid #b9ced3;border-radius:999px;background:white;color:var(--ink);font-weight:600;padding:.65rem .95rem}
.blog-topics button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:#fff}
.blog-result-count{min-height:1.6em;margin:1rem 0 1.5rem;color:var(--muted);font-size:.875rem}
.blog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.4rem}
.blog-card{min-width:0;border:1px solid #d3e2e4;border-radius:1rem;background:#fff;overflow:hidden;transition:transform .2s,box-shadow .2s}
.blog-card:hover{transform:translateY(-4px);box-shadow:0 14px 35px #07334812}
.blog-card[hidden],.blog-empty[hidden]{display:none}
.blog-card-link{display:flex;flex-direction:column;height:100%}
.blog-card-link:focus-visible{outline:4px solid #08798c;outline-offset:-4px}
.blog-card img{display:block;width:100%;aspect-ratio:16/10;height:auto;object-fit:cover;background:var(--foam)}
.blog-card-copy{padding:1.4rem;display:flex;flex:1;flex-direction:column}
.blog-card-category{color:#08798c;font-weight:700;font-size:.875rem;margin:0 0 .55rem}
.blog-card h2,.blog-card h3{font:800 1.25rem/1.3 Manrope,sans-serif;margin:0;letter-spacing:-.02em}
.blog-card-excerpt{margin:1rem 0 1.4rem;color:var(--muted);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.blog-card-bottom{display:flex;justify-content:space-between;gap:.6rem;align-items:center;margin-top:auto;padding-top:1rem;border-top:1px solid #e2eaec;font-size:.875rem}
.blog-card-bottom strong{color:#08798c}
.blog-empty{padding:2rem;background:var(--foam);border-radius:1rem;text-align:center}
.blog-cta{padding:clamp(3rem,5vw,5rem) 1.25rem;text-align:center;background:var(--sand)}
.blog-cta h2{font:800 clamp(1.8rem,3vw,3rem)/1.1 Manrope,sans-serif;letter-spacing:-.04em;margin:0 0 1rem}
.blog-cta p{color:var(--muted);margin:0 auto 1.5rem;max-width:40rem}
.article-shell{max-width:1380px;padding-top:2.5rem}
.article-breadcrumb{position:static;display:flex;flex-direction:row;align-items:center;flex-wrap:wrap;gap:.55rem;margin:0 0 2rem;padding:0;background:transparent;border-radius:0;box-shadow:none;font-size:.875rem;color:var(--muted)}
.article-breadcrumb a{text-decoration:underline;text-underline-offset:.2em;color:#075f75}
.article-heading{max-width:1060px;margin-bottom:2rem}
.article-heading h1{font:800 clamp(2.1rem,4.3vw,4.2rem)/1.08 Manrope,sans-serif;letter-spacing:-.045em;margin:0 0 1.3rem}
.article-meta{display:flex;flex-wrap:wrap;gap:.6rem 1.2rem;font-size:.875rem;color:var(--muted)}
.article-hero{margin:0 0 3rem}
.article-hero img{display:block;width:100%;max-height:540px;object-fit:cover;border-radius:1rem;background:var(--foam)}
.article-layout{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:clamp(2rem,5vw,4rem);align-items:start}
.article-body{min-width:0;max-width:780px;font-size:1.08rem;line-height:1.8;color:#355560}
.article-body>p:first-child{margin-top:0}
.article-body h2{font:800 clamp(1.45rem,2.5vw,2rem)/1.25 Manrope,sans-serif;color:var(--ink);letter-spacing:-.025em;margin:2.5rem 0 1rem;scroll-margin-top:7rem}
.article-body h2:first-child{margin-top:0}
.article-body h3{font:700 1.25rem/1.35 Manrope,sans-serif;color:var(--ink);margin:1.8rem 0 .75rem;scroll-margin-top:7rem}
.article-body h4{font:700 1.1rem/1.4 Manrope,sans-serif;color:var(--ink);margin:1.5rem 0 .6rem}
.article-body p{margin:0 0 1.25rem}
.article-body a{color:#075f75;text-decoration:underline;text-underline-offset:.2em;overflow-wrap:anywhere}
.article-body ul,.article-body ol{padding-left:1.5rem;margin:1rem 0 1.5rem}
.article-body li{margin:.5rem 0}
.article-body blockquote{margin:1.5rem 0;padding:1rem 1.5rem;border-left:4px solid var(--aqua);background:var(--foam)}
.article-body img{max-width:100%;height:auto;border-radius:.75rem}
.article-body figure{margin:1.5rem 0}.article-body figcaption{font-size:.875rem;color:var(--muted)}
.article-table{overflow-x:auto;margin:1.5rem 0}.article-body table{border-collapse:collapse;min-width:100%}.article-body td,.article-body th{padding:.6rem;border:1px solid #cbdadb;text-align:left}
.article-toc{position:sticky;top:7rem;max-height:calc(100dvh - 8rem);overflow-y:auto;border:1px solid #cbdadb;border-radius:1rem;background:var(--foam);padding:1.2rem;font-size:.875rem}
.article-toc summary{font:800 1rem Manrope,sans-serif;cursor:pointer;color:var(--ink)}
.article-toc ol{padding-left:1.2rem;margin:1rem 0 0}.article-toc li{padding:.4rem 0}.article-toc a:hover{text-decoration:underline;text-underline-offset:.2em}
.article-related{padding-top:0}.article-related>h2{margin-bottom:1.5rem}
header nav a[aria-current]{color:#075f75;text-decoration:underline;text-underline-offset:.3rem}
@media(max-width:1000px){.blog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.article-layout{grid-template-columns:1fr}.article-toc{position:static;max-height:320px;grid-row:1}.article-body{max-width:none}}
@media(max-width:760px){.blog-hero{grid-template-columns:1fr}.blog-hero figure{min-height:0}.blog-hero img{max-height:320px;aspect-ratio:16/9}.blog-library-heading{flex-direction:column;align-items:stretch;gap:1.5rem}.blog-search{width:100%}.article-hero{margin-bottom:2rem}.article-hero img{max-height:400px}.article-meta{gap:.5rem 1rem}}
@media(max-width:620px){.blog-grid{grid-template-columns:1fr}.blog-hero-copy{padding-top:3rem;padding-bottom:3rem}.blog-card h2,.blog-card h3{font-size:1.2rem}.article-shell{padding-top:1.5rem}.article-breadcrumb{margin-bottom:1.5rem}.article-body{font-size:1rem}.blog-topics button{font-size:.875rem}.blog-card-copy{padding:1.2rem}}
