/* Public blog */

.blog-page{padding:8px 0 56px}
.blog-toolbar{
  display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;align-items:center;
  margin-bottom:18px
}
.blog-cats{display:flex;gap:8px;overflow:auto;max-width:100%;padding-bottom:2px}
.blog-chip{
  flex:0 0 auto;padding:8px 13px;border-radius:999px;background:#fff;
  border:1px solid var(--line);font-weight:700;font-size:.84rem;color:#334155
}
.blog-chip:hover,.blog-chip.is-active{background:var(--teal);border-color:var(--teal);color:#fff}
.blog-search{display:flex;gap:8px;min-width:min(100%,280px)}
.blog-search input{flex:1;min-width:0;border-radius:12px;border:1px solid var(--line);padding:10px 12px;font:inherit}

.blog-featured{
  display:grid;grid-template-columns:1.05fr .95fr;gap:0;overflow:hidden;
  background:#fff;border:1px solid var(--line);border-radius:24px;margin-bottom:20px;
  box-shadow:0 14px 34px rgba(15,118,110,.08)
}
.blog-featured__media{display:block;background:#F0FDFA;min-height:260px}
.blog-featured__media img{width:100%;height:100%;object-fit:cover;display:block;min-height:260px}
.blog-featured__body{padding:28px 26px;display:flex;flex-direction:column;justify-content:center;gap:10px}
.blog-featured__body h2{font-family:var(--font-display);font-size:clamp(1.35rem,2.5vw,1.85rem);margin:0;line-height:1.2}
.blog-featured__body h2 a{color:var(--ink)}
.blog-featured__body p{margin:0;color:#475569;line-height:1.55}

.blog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.blog-grid--related{grid-template-columns:repeat(3,minmax(0,1fr))}
.blog-card{
  background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;
  display:flex;flex-direction:column;box-shadow:0 10px 24px rgba(15,118,110,.04)
}
.blog-card__media{display:block;aspect-ratio:16/10;background:#F0FDFA;overflow:hidden}
.blog-card__media img{width:100%;height:100%;object-fit:cover}
.blog-card__body{padding:16px;display:flex;flex-direction:column;gap:8px;flex:1}
.blog-card__body h2,.blog-card__body h3{font-family:var(--font-display);font-size:1.05rem;margin:0;line-height:1.3}
.blog-card__body h2 a,.blog-card__body h3 a{color:var(--ink)}
.blog-card__body p{margin:0;color:#64748B;font-size:.92rem;line-height:1.5;flex:1}
.blog-card__more{font-weight:700;font-size:.9rem}
.blog-meta{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:.8rem;color:#64748B;font-weight:600}
.blog-meta a{color:var(--teal-dark)}

.blog-article{padding:8px 0 56px}
.blog-article__hero{max-width:760px;margin:0 0 18px}
.blog-article__hero h1{
  font-family:var(--font-display);font-size:clamp(1.7rem,3.6vw,2.6rem);
  margin:10px 0 12px;letter-spacing:-.03em;line-height:1.12
}
.blog-article__deck{margin:0;color:var(--muted);font-size:1.08rem;line-height:1.55;max-width:58ch}
.blog-article__cover{margin:0 0 22px;border-radius:22px;overflow:hidden;border:1px solid var(--line)}
.blog-article__cover img{width:100%;display:block;max-height:420px;object-fit:cover}
.blog-article__layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:22px;align-items:start}
.blog-prose{
  background:#fff;border:1px solid var(--line);border-radius:22px;padding:28px;
  box-shadow:0 10px 24px rgba(15,118,110,.04)
}
.blog-aside{position:sticky;top:110px}
.blog-aside__card{
  background:linear-gradient(160deg,#134E4A,#0F766E);color:#ECFDF5;
  border-radius:20px;padding:20px;display:grid;gap:10px
}
.blog-aside__card h2{font-family:var(--font-display);margin:0;font-size:1.15rem;color:#fff}
.blog-aside__card p{margin:0;opacity:.92;font-size:.92rem;line-height:1.45}
.blog-aside__card .btn-outline{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.35);color:#fff}
.blog-aside__card .btn-outline:hover{background:rgba(255,255,255,.16);color:#fff}
.blog-related{margin-top:28px}
.blog-related h2{font-family:var(--font-display);margin:0 0 12px;font-size:1.35rem}

@media (max-width:980px){
  .blog-featured,.blog-article__layout{grid-template-columns:1fr}
  .blog-grid,.blog-grid--related{grid-template-columns:1fr 1fr}
  .blog-aside{position:static}
}
@media (max-width:640px){
  .blog-grid,.blog-grid--related{grid-template-columns:1fr}
  .blog-featured__body,.blog-prose{padding:18px}
  .blog-search{width:100%}
  .blog-toolbar{align-items:stretch;flex-direction:column}
}
