.blog-inner {
  width:min(100%,calc(1140px + 2 * var(--gutter)));
  margin-inline:auto;
  padding:clamp(36px,6vw,86px) var(--gutter) clamp(64px,9vw,122px);
}
.blog-header { margin-bottom:clamp(32px,5vw,64px); }
.blog-breadcrumb {
  display:flex; gap:9px; align-items:center; flex-wrap:wrap;
  margin-bottom:clamp(18px,4vw,38px); color:var(--muted); font-size:13px;
}
.blog-breadcrumb a { color:var(--accent); text-underline-offset:.22em; }
.blog-header h1 {
  max-width:22ch; margin:0; color:var(--text);
  font-size:clamp(42px,7vw,96px); font-weight:735; line-height:1; letter-spacing:-.065em;
}
.blog-header p {
  max-width:62ch; margin:18px 0 0; color:var(--muted);
  font-size:clamp(16px,1.8vw,22px); line-height:1.55;
}
.blog-featured {
  overflow:hidden; border:1px solid var(--panel-line); border-radius:20px;
  background:var(--panel-bg);
}
.blog-featured > a {
  --accent:var(--panel-accent);
  display:grid; grid-template-columns:minmax(0,1.28fr) minmax(0,1fr);
  color:var(--panel-ink); text-decoration:none;
}
.blog-featured:has(> a:focus-visible) { outline:2px solid var(--accent); outline-offset:3px; }
.blog-featured > a:focus-visible { outline-offset:-3px; }
.blog-featured-image { align-self:center; background:#101a29; }
.blog-featured-copy {
  display:flex; flex-direction:column; justify-content:center;
  padding:clamp(20px,4vw,56px); border-inline-start:1px solid var(--panel-line);
}
.blog-featured h2 {
  margin:0; font-size:clamp(28px,3.5vw,52px); font-weight:720;
  line-height:1.05; letter-spacing:-.045em;
}
.blog-featured > a:hover h2 { color:var(--accent); }
.blog-featured p {
  max-width:40ch; margin:16px 0 0; color:var(--panel-muted);
  font-size:clamp(15px,1.6vw,19px); line-height:1.55;
}
.blog-feed { margin-top:clamp(44px,7vw,86px); }
.blog-feed h2 {
  margin:0; font-size:clamp(28px,4vw,46px); line-height:1.05; letter-spacing:-.045em;
}
.blog-feed-heading,.home-posts-heading {
  display:flex; align-items:baseline; flex-wrap:wrap;
  justify-content:space-between; gap:10px 18px;
}
.blog-grid,.home-posts-track {
  display:grid; gap:14px; list-style:none; margin:20px 0 0; padding:0;
}
.blog-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.blog-card { min-width:0; }
.blog-card a {
  display:flex; flex-direction:column; min-height:100%;
  color:var(--text); background:#101b2bef; text-decoration:none;
  border:1px solid #a5b8d255; border-radius:14px;
  transition:background-color .2s,border-color .2s,color .2s;
}
.blog-card a:hover { border-color:#a8d7fc88; background-color:#152438; }
.blog-card a:focus-visible { outline-offset:-3px; }
.blog-featured-image img,.blog-card img,.blog-article-cover img {
  display:block; width:100%; height:auto; aspect-ratio:3 / 2; object-fit:cover;
}
.blog-card img { border-radius:13px 13px 0 0; border-bottom:1px solid var(--line); }
.blog-card-copy {
  flex:1; position:relative; min-height:166px; padding:18px 36px 18px 18px;
}
.blog-card h3 {
  margin:0; font-size:clamp(18px,1.8vw,25px); font-weight:690; line-height:1.15; letter-spacing:-.022em;
}
.blog-card p {
  margin:10px 0 0; color:var(--muted); font-size:14px; line-height:1.52;
}
.blog-arrow {
  position:absolute; top:17px; right:15px; color:var(--accent); font-size:16px; line-height:1;
}
.blog-grid:not(.blog-grid-related) .blog-card > a {
  --accent:var(--panel-accent);
  --line:var(--panel-line);
  color:var(--panel-ink); background:var(--panel-bg); border-color:var(--panel-line);
}
.blog-grid:not(.blog-grid-related) .blog-card > a:hover {
  background-color:var(--panel-inset); border-color:var(--accent);
}
.blog-grid:not(.blog-grid-related) .blog-card p { color:var(--panel-muted); }
.blog-article .blog-header h1 { font-size:clamp(38px,6.2vw,80px); }
.blog-article-cover {
  max-width:920px; margin:0 0 clamp(30px,5vw,60px); overflow:hidden;
  border:1px solid var(--line); border-radius:18px;
}
.blog-text { max-width:72ch; }
.blog-chapter + .blog-chapter { margin-top:34px; }
.blog-text h2 { margin:0; font-size:clamp(24px,3.2vw,36px); line-height:1.15; letter-spacing:-.034em; }
.blog-text p { margin:12px 0 0; color:var(--text); font-size:clamp(16px,1.6vw,18px); line-height:1.67; }
.blog-sources {
  margin-top:42px; padding-top:20px; border-top:1px solid var(--line);
}
.blog-sources h2 { font-size:23px; }
.blog-sources ul { padding-left:1.2em; color:var(--muted); line-height:1.6; }
.blog-sources a { color:var(--accent); text-underline-offset:.22em; }
.home-posts { min-width:0; }
.home-posts-heading { align-items:center; justify-content:flex-start; }
.home-posts-controls { display:flex; gap:6px; margin-inline-start:auto; }
.home-posts-controls button {
  min-width:44px; min-height:44px; border:1px solid #a5b8d269; border-radius:8px;
  background:#101b2b; color:var(--accent); font-size:17px;
}
.home-posts-controls button:hover:not(:disabled) { background:#1b2d43; }
.home-posts-controls button:disabled { opacity:.55; cursor:default; }
.home-posts-track {
  grid-auto-flow:column; grid-auto-columns:min(100%,clamp(238px,21vw,294px));
  overflow-x:auto; scroll-snap-type:x proximity; scroll-padding-inline:3px;
  padding:3px 3px 12px; margin-inline:-3px; scrollbar-color:#536d8b #161f30;
}
.home-posts-track .blog-card { scroll-snap-align:start; }
.home-posts-track .blog-card a { height:100%; }
.home-posts-track .blog-card img { height:clamp(108px,10vw,136px); aspect-ratio:auto; }
.home-posts-track .blog-card-copy { min-height:0; padding:13px 30px 14px 14px; }
.home-posts-track .blog-arrow { top:14px; right:12px; }
.home-posts-track .blog-card h3 { font-size:clamp(17px,1.45vw,21px); }
.home-posts-track .blog-card p { margin:6px 0 0; font-size:13px; line-height:1.42; }
.home-discovery .home-posts h2 {
  margin:0; font-size:clamp(24px,2.8vw,40px); line-height:1.05; letter-spacing:-.045em;
}
.home-discovery .blog-card a {
  background:#fff; color:var(--text); border-color:var(--line);
}
.home-discovery .blog-card a:hover {
  background:#f4f8ff; border-color:var(--accent);
}
.home-discovery .home-posts .blog-card p { color:var(--muted); }
.home-discovery .home-posts-controls button {
  background:#fff; color:var(--accent); border-color:var(--line);
}
.home-discovery .home-posts-controls button:hover:not(:disabled) {
  background:#f4f8ff; border-color:var(--accent);
}
.home-discovery .home-posts-track { scrollbar-color:#7b94b6 #ebf1f8; }
@media(max-width:850px) {
  .blog-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:625px) {
  .blog-featured > a,.blog-grid { grid-template-columns:minmax(0,1fr); }
  .blog-featured-copy { border-inline-start:0; border-top:1px solid var(--panel-line); }
  .blog-card-copy { min-height:134px; }
  .home-posts-track { grid-auto-columns:min(88%,294px); }
}
@media(max-width:360px) {
  .home-posts-heading { gap:8px; }
  .home-posts-controls { margin-inline-start:0; }
}
