/* ─── from @makr/template-components (tree-shaken) ─── */
@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap";:root{--blog-paper: #ffffff;--blog-ink: #1a1a1a;--blog-muted: #6b7280;--blog-rule: #1a1a1a;--blog-rule-light: #e8e8ec;--blog-accent: #6900ed;--blog-accent-soft: #f3ebff;--blog-card: #ffffff;--blog-max: 42rem;--blog-wide: 72rem;--blog-serif: "Inter", system-ui, -apple-system, sans-serif;--blog-display: "Inter", system-ui, -apple-system, sans-serif;--blog-sans: "Inter", system-ui, -apple-system, sans-serif;--blog-radius: 8px;--blog-radius-lg: 12px}.blog-circuit{min-height:100vh;background:var(--blog-paper);color:var(--blog-ink);font-family:var(--blog-sans);font-size:1rem;line-height:1.55;-webkit-font-smoothing:antialiased}.blog-circuit[data-density=compact]{font-size:.95rem;line-height:1.5}.blog-circuit[data-density=airy]{font-size:1.05rem;line-height:1.65}.blog-circuit a{color:inherit}.blog-pagination{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:2.5rem 0 0;padding:1rem 0 0;border-top:1px solid var(--blog-rule-light);font-family:var(--blog-sans);font-size:.8rem;font-weight:600}.blog-pagination__link{color:var(--blog-ink);text-decoration:none}.blog-pagination__link:hover{color:var(--blog-accent)}.blog-pagination__link--disabled{color:var(--blog-muted);opacity:.4;pointer-events:none}.blog-pagination__status{color:var(--blog-muted);font-weight:500}.blog-shell{max-width:var(--blog-wide);margin:0 auto;padding:0 1.25rem 3.5rem}.eg-header{padding:1rem 0 0;margin-bottom:.25rem;border-bottom:1px solid var(--blog-rule-light)}.eg-header__top{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-bottom:.85rem}.eg-header__site{font-size:.8rem;font-weight:600;color:var(--blog-muted);text-decoration:none;white-space:nowrap}.eg-header__site:hover{color:var(--blog-accent)}.eg-brand{display:inline-flex;align-items:center;gap:.55rem;text-decoration:none;color:var(--blog-ink)}.eg-brand__mark{width:1.65rem;height:1.65rem;border-radius:.35rem;background:var(--blog-accent);position:relative;flex-shrink:0;box-shadow:0 2px 8px color-mix(in srgb,var(--blog-accent) 35%,transparent)}.eg-brand__mark:after{content:"";position:absolute;inset:22% 22% 28% 28%;border:2.5px solid #fff;border-radius:2px;border-right-color:transparent;border-bottom-color:transparent;transform:rotate(-45deg)}.eg-brand__word{font-family:var(--blog-display);font-weight:800;font-size:1.55rem;letter-spacing:-.04em;line-height:1;text-transform:lowercase}.eg-brand--footer .eg-brand__word{font-size:1.25rem}.eg-brand--footer .eg-brand__mark{width:1.35rem;height:1.35rem}.eg-nav{display:flex;flex-wrap:wrap;gap:.15rem .15rem;padding:.15rem 0 .75rem;margin:0 -.35rem}.eg-nav__link{font-size:.88rem;font-weight:600;color:var(--blog-ink);text-decoration:none;padding:.4rem .65rem;border-radius:6px;transition:color .12s ease,background .12s ease}.eg-nav__link:hover{color:var(--blog-accent);background:var(--blog-accent-soft)}.eg-nav__placeholder{color:var(--blog-muted);font-size:.88rem;font-style:italic;padding:.4rem .65rem}.eg-desc{margin:1.25rem 0 0;color:var(--blog-muted);font-size:.98rem;max-width:40rem}.eg-desc a{color:var(--blog-accent);text-decoration:none;font-weight:600}.eg-desc a:hover{text-decoration:underline}.eg-cat{display:inline-block;font-family:var(--blog-sans);font-size:.72rem;font-weight:700;letter-spacing:.02em;color:var(--blog-accent);text-decoration:none;margin:0 0 .35rem}.eg-cat:hover{text-decoration:underline;text-underline-offset:2px}.eg-cat--static{cursor:default}.eg-cat--static:hover{text-decoration:none}.eg-meta{font-family:var(--blog-sans);font-size:.78rem;font-weight:500;color:var(--blog-muted);margin-top:.4rem}.eg-front{margin-top:1.5rem}.eg-front__cluster{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:1.5rem 1.75rem;align-items:start;padding-bottom:2rem;border-bottom:1px solid var(--blog-rule-light)}.eg-hero{display:flex;flex-direction:column;gap:.9rem}.eg-hero__media{display:block;border-radius:var(--blog-radius-lg);overflow:hidden;background:var(--blog-accent-soft);aspect-ratio:16 / 10}.eg-hero__media--empty{min-height:12rem;background:linear-gradient(135deg,var(--blog-accent-soft),color-mix(in srgb,var(--blog-accent) 22%,var(--blog-paper)))}.eg-hero__cover{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}.eg-hero__media:hover .eg-hero__cover{transform:scale(1.03)}.eg-hero__title{font-family:var(--blog-display);font-weight:800;font-size:clamp(1.65rem,3.2vw,2.35rem);line-height:1.12;letter-spacing:-.025em;margin:0}.eg-hero__title a{text-decoration:none;color:var(--blog-ink)}.eg-hero__title a:hover{color:var(--blog-accent)}.eg-hero__dek{margin:.15rem 0 0;color:var(--blog-muted);font-size:1.05rem;line-height:1.5}.eg-front__secondary{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem 1.15rem}.eg-sec{display:flex;flex-direction:column;gap:.55rem;min-width:0}.eg-sec__media{display:block;border-radius:var(--blog-radius);overflow:hidden;background:var(--blog-accent-soft);aspect-ratio:16 / 10}.eg-sec__cover{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s ease}.eg-sec__media:hover .eg-sec__cover{transform:scale(1.04)}.eg-sec__title{font-family:var(--blog-display);font-weight:700;font-size:.98rem;line-height:1.28;letter-spacing:-.015em;margin:0}.eg-sec__title a{text-decoration:none;color:var(--blog-ink)}.eg-sec__title a:hover{color:var(--blog-accent)}.eg-sec__dek{display:none;margin:0;color:var(--blog-muted);font-size:.88rem;line-height:1.4}.eg-sec .eg-meta{margin-top:.15rem;font-size:.72rem}.eg-section-label{font-family:var(--blog-display);font-size:1.35rem;font-weight:800;letter-spacing:-.02em;color:var(--blog-ink);margin:0 0 1.25rem;padding:0;border:0}.eg-features{margin-top:2rem}.eg-features__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem 1.25rem;padding-bottom:2rem;border-bottom:1px solid var(--blog-rule-light)}.eg-card{display:flex;flex-direction:column;gap:.65rem;min-width:0}.eg-card__media{display:block;border-radius:var(--blog-radius);overflow:hidden;background:var(--blog-accent-soft);aspect-ratio:16 / 10}.eg-card__media--empty{min-height:8rem;background:linear-gradient(145deg,var(--blog-accent-soft),color-mix(in srgb,var(--blog-accent) 22%,var(--blog-paper)))}.eg-card__cover{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s ease}.eg-card__media:hover .eg-card__cover{transform:scale(1.04)}.eg-card__title{font-family:var(--blog-display);font-weight:700;font-size:1.05rem;line-height:1.28;letter-spacing:-.015em;margin:0}.eg-card__title a{text-decoration:none;color:var(--blog-ink)}.eg-card__title a:hover{color:var(--blog-accent)}.eg-card__dek{margin:.1rem 0 0;color:var(--blog-muted);font-size:.9rem;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.eg-card .eg-meta{margin-top:.15rem;font-size:.72rem}.eg-more{margin-top:2rem}.eg-more__list{display:flex;flex-direction:column;gap:0}.eg-row{display:grid;grid-template-columns:12.5rem minmax(0,1fr);gap:1.25rem;padding:1.35rem 0;border-bottom:1px solid var(--blog-rule-light);align-items:start}.eg-row:first-child{padding-top:0}.eg-row__media{display:block;border-radius:var(--blog-radius);overflow:hidden;background:var(--blog-accent-soft);aspect-ratio:16 / 10}.eg-row__media--empty{min-height:5rem;background:linear-gradient(135deg,var(--blog-accent-soft),color-mix(in srgb,var(--blog-accent) 18%,var(--blog-paper)))}.eg-row__cover{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s ease}.eg-row__media:hover .eg-row__cover{transform:scale(1.04)}.eg-row__body{min-width:0;display:flex;flex-direction:column;gap:.2rem}.eg-row__topline{display:flex;flex-wrap:wrap;align-items:baseline;gap:.35rem .85rem}.eg-row__topline .eg-cat,.eg-row__topline .eg-meta{margin:0}.eg-row__title{font-family:var(--blog-display);font-weight:700;font-size:1.2rem;line-height:1.25;letter-spacing:-.02em;margin:.15rem 0 0}.eg-row__title a{text-decoration:none;color:var(--blog-ink)}.eg-row__title a:hover{color:var(--blog-accent)}.eg-row__dek{margin:.35rem 0 0;color:var(--blog-muted);font-size:.95rem;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.eg-stream-wrap{margin-top:1.5rem}.eg-stream{list-style:none;margin:0;padding:0}.eg-stream--grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem 1.25rem}.eg-stream--list{display:flex;flex-direction:column}.eg-stream--list>li{border-bottom:1px solid var(--blog-rule-light)}.eg-stream--list .eg-row{border-bottom:0}.eg-tag-header{margin:1.75rem 0 .5rem}.eg-tag-eyebrow{font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--blog-accent);margin:0 0 .35rem}.eg-tag-title{font-family:var(--blog-display);font-weight:800;font-size:clamp(1.8rem,4vw,2.5rem);letter-spacing:-.03em;margin:0 0 .35rem;line-height:1.1}.blog-empty{font-family:var(--blog-sans);color:var(--blog-muted);text-align:center;padding:3rem 1rem;border-top:1px solid var(--blog-rule-light);border-bottom:1px solid var(--blog-rule-light);margin-top:2rem}.blog-article{max-width:var(--blog-max);margin:2rem auto 0}.blog-article--narrow-essay{max-width:36rem}.blog-article--cover-hero{max-width:48rem}.blog-article__header{margin-bottom:1.75rem}.blog-article__title{font-family:var(--blog-display);font-weight:800;font-size:clamp(1.85rem,4.2vw,2.75rem);line-height:1.1;letter-spacing:-.03em;margin:.35rem 0 .75rem}.blog-article__dek{font-size:1.2rem;color:var(--blog-muted);margin:0 0 .85rem;line-height:1.5}.eg-byline{margin:0 0 1.5rem;padding-bottom:1.25rem;border-bottom:1px solid var(--blog-rule-light);font-weight:500}.blog-article__cover{width:100%;display:block;margin:0 0 .25rem;border-radius:var(--blog-radius-lg);aspect-ratio:16 / 9;object-fit:cover;background:var(--blog-accent-soft)}.blog-article--cover-hero .blog-article__cover{margin-top:.25rem;max-height:28rem}.blog-article--cover-hero .blog-article__title{font-size:clamp(2rem,4.8vw,3rem)}.blog-tags{display:flex;flex-wrap:wrap;gap:.4rem;margin:2rem 0 0;font-family:var(--blog-sans)}.blog-tag{font-size:.75rem;font-weight:600;padding:.32rem .7rem;border:1px solid var(--blog-rule-light);color:var(--blog-muted);border-radius:999px;text-decoration:none;transition:border-color .12s,color .12s,background .12s}.blog-tag:hover{border-color:var(--blog-accent);color:var(--blog-accent);background:var(--blog-accent-soft)}.blog-neighbors{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid var(--blog-rule-light);font-family:var(--blog-sans);font-size:.9rem}.blog-neighbors a{text-decoration:none;max-width:100%;display:block;padding:.85rem 1rem;border:1px solid var(--blog-rule-light);border-radius:var(--blog-radius);transition:border-color .12s,background .12s}.blog-neighbors a:hover{border-color:var(--blog-accent);background:var(--blog-accent-soft)}.blog-neighbors a:hover .blog-neighbors__title{color:var(--blog-accent)}.blog-neighbors__label{display:block;font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--blog-muted);margin-bottom:.35rem}.blog-neighbors__title{font-family:var(--blog-display);font-weight:700;font-size:.98rem;line-height:1.3;color:var(--blog-ink)}.blog-neighbors__next{text-align:right;justify-self:end}.blog-neighbors__next a{text-align:right}.eg-footer{margin-top:3.5rem;padding-top:2rem;border-top:1px solid var(--blog-rule-light);display:flex;flex-direction:column;gap:1.25rem}.eg-footer__tagline{margin:.5rem 0 0;font-size:.88rem;color:var(--blog-muted)}.eg-footer__meta{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.75rem 1.5rem;font-size:.78rem;color:var(--blog-muted)}.eg-footer__links a{color:var(--blog-muted);text-decoration:none;font-weight:500}.eg-footer__links a:hover{color:var(--blog-accent)}.eg-footer__vol{opacity:.85}.blog-series{margin:0 0 1.5rem;padding:.95rem 1.1rem;border:1px solid var(--blog-rule-light);border-radius:var(--blog-radius);background:var(--blog-accent-soft);font-family:var(--blog-sans)}.blog-series__label{font-size:.68rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--blog-accent);margin-bottom:.5rem}.blog-series__list{margin:0;padding-left:0;list-style:none;font-size:.9rem;line-height:1.5}.blog-series__list li{margin:.25rem 0}.blog-series__list li.is-current{font-weight:700}.blog-series__list a{color:inherit;text-decoration:none}.blog-series__list a:hover{color:var(--blog-accent)}.blog-series__num{color:var(--blog-muted);font-size:.8rem}.blog-related{margin-top:2.5rem}.blog-related .eg-section-label{margin-bottom:.75rem}.blog-related__list{list-style:none;padding:0;margin:0}.blog-related__list>li{padding:.95rem 0;border-bottom:1px solid var(--blog-rule-light)}.blog-related__list a{font-family:var(--blog-display);font-weight:700;font-size:1.08rem;text-decoration:none;color:var(--blog-ink);letter-spacing:-.015em}.blog-related__list a:hover{color:var(--blog-accent)}.blog-related__dek{margin:.35rem 0 0;color:var(--blog-muted);font-size:.92rem;line-height:1.45}.blog-prose{font-size:1.08rem;line-height:1.75;word-wrap:break-word;overflow-wrap:break-word;font-family:var(--blog-serif);color:var(--blog-ink)}.blog-prose>*:first-child{margin-top:0}.blog-prose h1,.blog-prose h2,.blog-prose h3,.blog-prose h4,.blog-prose .blog-h{font-family:var(--blog-display);line-height:1.22;letter-spacing:-.02em;margin:2rem 0 .65rem;font-weight:750;color:var(--blog-ink)}.blog-prose h1,.blog-prose .blog-h--1{font-size:1.7rem}.blog-prose h2,.blog-prose .blog-h--2{font-size:1.4rem}.blog-prose h3,.blog-prose .blog-h--3{font-size:1.15rem;font-weight:700}.blog-prose h4,.blog-prose .blog-h--4{font-size:1.05rem;font-weight:700}.blog-prose p,.blog-prose .blog-p{margin:0 0 1.15rem}.blog-prose .blog-p--lead{font-size:1.22rem;line-height:1.6;color:color-mix(in srgb,var(--blog-ink) 78%,var(--blog-muted))}.blog-prose a{color:var(--blog-accent);text-underline-offset:2px}.blog-prose strong,.blog-prose b{font-weight:700}.blog-prose em,.blog-prose i{font-style:italic}.blog-prose blockquote,.blog-prose .blog-quote{margin:1.6rem 0;padding:.35rem 0 .35rem 1.15rem;border-left:3px solid var(--blog-accent);font-style:italic;color:var(--blog-muted)}.blog-prose .blog-quote--pull{font-size:1.35rem;font-style:normal;font-weight:650;letter-spacing:-.015em;color:var(--blog-ink);border-left-width:4px;padding-left:1.35rem;margin:2rem 0}.blog-prose pre,.blog-prose .blog-code{overflow-x:auto;padding:1rem 1.1rem;background:#f6f5f8;border:1px solid var(--blog-rule-light);border-radius:var(--blog-radius);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85rem;line-height:1.5;margin:0 0 1.2rem}.blog-prose code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.9em;background:#f3f0f8;padding:.1em .35em;border-radius:4px}.blog-prose pre code,.blog-prose .blog-code code{background:transparent;padding:0}.blog-prose img{max-width:100%;height:auto;display:block;margin:1.35rem 0;border-radius:var(--blog-radius)}.blog-prose figure{margin:1.5rem 0}.blog-prose figcaption{font-size:.85rem;color:var(--blog-muted);margin-top:.45rem;text-align:center}.blog-prose hr,.blog-prose .blog-divider{border:0;border-top:1px solid var(--blog-rule-light);margin:2.25rem 0}.blog-prose ul,.blog-prose ol{padding-left:1.4rem;margin:0 0 1.15rem}.blog-prose li{margin:.3rem 0}.blog-prose .blog-ul--dash{list-style:none;padding-left:0}.blog-prose .blog-ul--dash>li{padding-left:1.15rem;position:relative}.blog-prose .blog-ul--dash>li:before{content:"\2013";position:absolute;left:0;color:var(--blog-accent);font-weight:700}.blog-prose table{width:100%;border-collapse:collapse;margin:0 0 1.25rem;font-size:.92rem}.blog-prose th,.blog-prose td{border:1px solid var(--blog-rule-light);padding:.55rem .7rem;text-align:left}.blog-prose th{background:var(--blog-accent-soft);font-weight:700}[data-edit-mode=true] [data-makr-edit]{cursor:pointer;outline:1px dashed transparent;outline-offset:4px;transition:outline-color .12s ease,background-color .12s ease;border-radius:4px}[data-edit-mode=true] [data-makr-edit]:hover{outline-color:var(--blog-accent);background-color:color-mix(in srgb,var(--blog-accent) 8%,transparent)}[data-edit-mode=true] [data-makr-edit]:focus-visible{outline:2px solid var(--blog-accent)}@media (max-width: 960px){.eg-front__cluster{grid-template-columns:1fr}.eg-front__secondary,.eg-stream--grid,.eg-features__grid{grid-template-columns:1fr 1fr}}@media (max-width: 640px){.eg-nav{overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none;margin:0 -1.25rem;padding-left:1.25rem;padding-right:1.25rem}.eg-nav::-webkit-scrollbar{display:none}.eg-nav__link{white-space:nowrap}.eg-front__secondary,.eg-features__grid{grid-template-columns:1fr}.eg-row{grid-template-columns:6.5rem minmax(0,1fr);gap:.85rem;padding:1rem 0}.eg-row__title{font-size:1.02rem}.eg-row__dek{display:none}.eg-stream--grid,.blog-neighbors{grid-template-columns:1fr}.blog-neighbors__next{text-align:left;justify-self:start}.blog-neighbors__next a{text-align:left}.eg-footer__meta{flex-direction:column}.eg-brand__word{font-size:1.35rem}}

/* ─── template styles (styles.css) ─── */
/* Circuit — consumer-tech blog template
   Surfaces: index + post + tag. Body prose is writer-owned HTML.
   purple brand mark, hero cluster, More Stories feed. */

@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap");

:root {
  --blog-paper: #ffffff;
  --blog-ink: #1a1a1a;
  --blog-muted: #6b7280;
  --blog-rule: #1a1a1a;
  --blog-rule-light: #e8e8ec;
  --blog-accent: #6900ed;
  --blog-accent-soft: #f3ebff;
  --blog-card: #ffffff;
  --blog-max: 42rem;
  --blog-wide: 72rem;
  --blog-serif: "Inter", system-ui, -apple-system, sans-serif;
  --blog-display: "Inter", system-ui, -apple-system, sans-serif;
  --blog-sans: "Inter", system-ui, -apple-system, sans-serif;
  --blog-radius: 8px;
  --blog-radius-lg: 12px;
}

.blog-circuit {
  min-height: 100vh;
  background: var(--blog-paper);
  color: var(--blog-ink);
  font-family: var(--blog-sans);
  font-size: 1rem;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
}

.blog-circuit[data-density="compact"] {
  font-size: 0.95rem;
  line-height: 1.5;
}
.blog-circuit[data-density="airy"] {
  font-size: 1.05rem;
  line-height: 1.65;
}

.blog-circuit a {
  color: inherit;
}

/* Pagination */
.blog-pagination {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin: 2.5rem 0 0;
  padding: 1rem 0 0;
  border-top: 1px solid var(--blog-rule-light);
  font-family: var(--blog-sans);
  font-size: 0.8rem;
  font-weight: 600;
}
.blog-pagination__link {
  color: var(--blog-ink);
  text-decoration: none;
}
.blog-pagination__link:hover {
  color: var(--blog-accent);
}
.blog-pagination__link--disabled {
  color: var(--blog-muted);
  opacity: 0.4;
  pointer-events: none;
}
.blog-pagination__status {
  color: var(--blog-muted);
  font-weight: 500;
}

/* ── Shell ───────────────────────────────────────────────────────────────── */

.blog-shell {
  max-width: var(--blog-wide);
  margin: 0 auto;
  padding: 0 1.25rem 3.5rem;
}

/* Header */
.eg-header {
  padding: 1rem 0 0;
  margin-bottom: 0.25rem;
  border-bottom: 1px solid var(--blog-rule-light);
}
.eg-header__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding-bottom: 0.85rem;
}
.eg-header__site {
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--blog-muted);
  text-decoration: none;
  white-space: nowrap;
}
.eg-header__site:hover {
  color: var(--blog-accent);
}

/* Purple geometric mark + wordmark (Circuit signature) */
.eg-brand {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  text-decoration: none;
  color: var(--blog-ink);
}
.eg-brand__mark {
  width: 1.65rem;
  height: 1.65rem;
  border-radius: 0.35rem;
  background: var(--blog-accent);
  position: relative;
  flex-shrink: 0;
  box-shadow: 0 2px 8px color-mix(in srgb, var(--blog-accent) 35%, transparent);
}
.eg-brand__mark::after {
  content: "";
  position: absolute;
  inset: 22% 22% 28% 28%;
  border: 2.5px solid #fff;
  border-radius: 2px;
  border-right-color: transparent;
  border-bottom-color: transparent;
  transform: rotate(-45deg);
}
.eg-brand__word {
  font-family: var(--blog-display);
  font-weight: 800;
  font-size: 1.55rem;
  letter-spacing: -0.04em;
  line-height: 1;
  text-transform: lowercase;
}
.eg-brand--footer .eg-brand__word {
  font-size: 1.25rem;
}
.eg-brand--footer .eg-brand__mark {
  width: 1.35rem;
  height: 1.35rem;
}

/* Category nav */
.eg-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 0.15rem 0.15rem;
  padding: 0.15rem 0 0.75rem;
  margin: 0 -0.35rem;
}
.eg-nav__link {
  font-size: 0.88rem;
  font-weight: 600;
  color: var(--blog-ink);
  text-decoration: none;
  padding: 0.4rem 0.65rem;
  border-radius: 6px;
  transition: color 0.12s ease, background 0.12s ease;
}
.eg-nav__link:hover {
  color: var(--blog-accent);
  background: var(--blog-accent-soft);
}
.eg-nav__placeholder {
  color: var(--blog-muted);
  font-size: 0.88rem;
  font-style: italic;
  padding: 0.4rem 0.65rem;
}

.eg-desc {
  margin: 1.25rem 0 0;
  color: var(--blog-muted);
  font-size: 0.98rem;
  max-width: 40rem;
}
.eg-desc a {
  color: var(--blog-accent);
  text-decoration: none;
  font-weight: 600;
}
.eg-desc a:hover {
  text-decoration: underline;
}

/* Category chip / link */
.eg-cat {
  display: inline-block;
  font-family: var(--blog-sans);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: var(--blog-accent);
  text-decoration: none;
  margin: 0 0 0.35rem;
}
.eg-cat:hover {
  text-decoration: underline;
  text-underline-offset: 2px;
}
.eg-cat--static {
  cursor: default;
}
.eg-cat--static:hover {
  text-decoration: none;
}

.eg-meta {
  font-family: var(--blog-sans);
  font-size: 0.78rem;
  font-weight: 500;
  color: var(--blog-muted);
  margin-top: 0.4rem;
}

/* ── Index: featured front ───────────────────────────────────────────────── */

.eg-front {
  margin-top: 1.5rem;
}

/* Hero + 2×2 secondary */
.eg-front__cluster {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
  gap: 1.5rem 1.75rem;
  align-items: start;
  padding-bottom: 2rem;
  border-bottom: 1px solid var(--blog-rule-light);
}

.eg-hero {
  display: flex;
  flex-direction: column;
  gap: 0.9rem;
}
.eg-hero__media {
  display: block;
  border-radius: var(--blog-radius-lg);
  overflow: hidden;
  background: var(--blog-accent-soft);
  aspect-ratio: 16 / 10;
}
.eg-hero__media--empty {
  min-height: 12rem;
  background: linear-gradient(
    135deg,
    var(--blog-accent-soft),
    color-mix(in srgb, var(--blog-accent) 22%, var(--blog-paper))
  );
}
.eg-hero__cover {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.35s ease;
}
.eg-hero__media:hover .eg-hero__cover {
  transform: scale(1.03);
}
.eg-hero__title {
  font-family: var(--blog-display);
  font-weight: 800;
  font-size: clamp(1.65rem, 3.2vw, 2.35rem);
  line-height: 1.12;
  letter-spacing: -0.025em;
  margin: 0;
}
.eg-hero__title a {
  text-decoration: none;
  color: var(--blog-ink);
}
.eg-hero__title a:hover {
  color: var(--blog-accent);
}
.eg-hero__dek {
  margin: 0.15rem 0 0;
  color: var(--blog-muted);
  font-size: 1.05rem;
  line-height: 1.5;
}

/* Secondary 2×2 */
.eg-front__secondary {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.25rem 1.15rem;
}
.eg-sec {
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
  min-width: 0;
}
.eg-sec__media {
  display: block;
  border-radius: var(--blog-radius);
  overflow: hidden;
  background: var(--blog-accent-soft);
  aspect-ratio: 16 / 10;
}
.eg-sec__cover {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.3s ease;
}
.eg-sec__media:hover .eg-sec__cover {
  transform: scale(1.04);
}
.eg-sec__title {
  font-family: var(--blog-display);
  font-weight: 700;
  font-size: 0.98rem;
  line-height: 1.28;
  letter-spacing: -0.015em;
  margin: 0;
}
.eg-sec__title a {
  text-decoration: none;
  color: var(--blog-ink);
}
.eg-sec__title a:hover {
  color: var(--blog-accent);
}
.eg-sec__dek {
  display: none;
  margin: 0;
  color: var(--blog-muted);
  font-size: 0.88rem;
  line-height: 1.4;
}
.eg-sec .eg-meta {
  margin-top: 0.15rem;
  font-size: 0.72rem;
}

/* Section label — “More Stories” */
.eg-section-label {
  font-family: var(--blog-display);
  font-size: 1.35rem;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: var(--blog-ink);
  margin: 0 0 1.25rem;
  padding: 0;
  border: 0;
}

/* In Depth 3-up */
.eg-features {
  margin-top: 2rem;
}
.eg-features__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.5rem 1.25rem;
  padding-bottom: 2rem;
  border-bottom: 1px solid var(--blog-rule-light);
}
.eg-card {
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
  min-width: 0;
}
.eg-card__media {
  display: block;
  border-radius: var(--blog-radius);
  overflow: hidden;
  background: var(--blog-accent-soft);
  aspect-ratio: 16 / 10;
}
.eg-card__media--empty {
  min-height: 8rem;
  background: linear-gradient(
    145deg,
    var(--blog-accent-soft),
    color-mix(in srgb, var(--blog-accent) 22%, var(--blog-paper))
  );
}
.eg-card__cover {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.3s ease;
}
.eg-card__media:hover .eg-card__cover {
  transform: scale(1.04);
}
.eg-card__title {
  font-family: var(--blog-display);
  font-weight: 700;
  font-size: 1.05rem;
  line-height: 1.28;
  letter-spacing: -0.015em;
  margin: 0;
}
.eg-card__title a {
  text-decoration: none;
  color: var(--blog-ink);
}
.eg-card__title a:hover {
  color: var(--blog-accent);
}
.eg-card__dek {
  margin: 0.1rem 0 0;
  color: var(--blog-muted);
  font-size: 0.9rem;
  line-height: 1.4;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.eg-card .eg-meta {
  margin-top: 0.15rem;
  font-size: 0.72rem;
}

/* More Stories feed */
.eg-more {
  margin-top: 2rem;
}
.eg-more__list {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.eg-row {
  display: grid;
  grid-template-columns: 12.5rem minmax(0, 1fr);
  gap: 1.25rem;
  padding: 1.35rem 0;
  border-bottom: 1px solid var(--blog-rule-light);
  align-items: start;
}
.eg-row:first-child {
  padding-top: 0;
}
.eg-row__media {
  display: block;
  border-radius: var(--blog-radius);
  overflow: hidden;
  background: var(--blog-accent-soft);
  aspect-ratio: 16 / 10;
}
.eg-row__media--empty {
  min-height: 5rem;
  background: linear-gradient(
    135deg,
    var(--blog-accent-soft),
    color-mix(in srgb, var(--blog-accent) 18%, var(--blog-paper))
  );
}
.eg-row__cover {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.3s ease;
}
.eg-row__media:hover .eg-row__cover {
  transform: scale(1.04);
}
.eg-row__body {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
}
.eg-row__topline {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.35rem 0.85rem;
}
.eg-row__topline .eg-cat {
  margin: 0;
}
.eg-row__topline .eg-meta {
  margin: 0;
}
.eg-row__title {
  font-family: var(--blog-display);
  font-weight: 700;
  font-size: 1.2rem;
  line-height: 1.25;
  letter-spacing: -0.02em;
  margin: 0.15rem 0 0;
}
.eg-row__title a {
  text-decoration: none;
  color: var(--blog-ink);
}
.eg-row__title a:hover {
  color: var(--blog-accent);
}
.eg-row__dek {
  margin: 0.35rem 0 0;
  color: var(--blog-muted);
  font-size: 0.95rem;
  line-height: 1.5;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* List / grid fallbacks */
.eg-stream-wrap {
  margin-top: 1.5rem;
}
.eg-stream {
  list-style: none;
  margin: 0;
  padding: 0;
}
.eg-stream--grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.5rem 1.25rem;
}
.eg-stream--list {
  display: flex;
  flex-direction: column;
}
.eg-stream--list > li {
  border-bottom: 1px solid var(--blog-rule-light);
}
.eg-stream--list .eg-row {
  border-bottom: 0;
}

/* Tag archive header */
.eg-tag-header {
  margin: 1.75rem 0 0.5rem;
}
.eg-tag-eyebrow {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--blog-accent);
  margin: 0 0 0.35rem;
}
.eg-tag-title {
  font-family: var(--blog-display);
  font-weight: 800;
  font-size: clamp(1.8rem, 4vw, 2.5rem);
  letter-spacing: -0.03em;
  margin: 0 0 0.35rem;
  line-height: 1.1;
}

.blog-empty {
  font-family: var(--blog-sans);
  color: var(--blog-muted);
  text-align: center;
  padding: 3rem 1rem;
  border-top: 1px solid var(--blog-rule-light);
  border-bottom: 1px solid var(--blog-rule-light);
  margin-top: 2rem;
}

/* ── Post ────────────────────────────────────────────────────────────────── */

.blog-article {
  max-width: var(--blog-max);
  margin: 2rem auto 0;
}
.blog-article--narrow-essay {
  max-width: 36rem;
}
.blog-article--cover-hero {
  max-width: 48rem;
}
.blog-article__header {
  margin-bottom: 1.75rem;
}
.blog-article__title {
  font-family: var(--blog-display);
  font-weight: 800;
  font-size: clamp(1.85rem, 4.2vw, 2.75rem);
  line-height: 1.1;
  letter-spacing: -0.03em;
  margin: 0.35rem 0 0.75rem;
}
.blog-article__dek {
  font-size: 1.2rem;
  color: var(--blog-muted);
  margin: 0 0 0.85rem;
  line-height: 1.5;
}
.eg-byline {
  margin: 0 0 1.5rem;
  padding-bottom: 1.25rem;
  border-bottom: 1px solid var(--blog-rule-light);
  font-weight: 500;
}
.blog-article__cover {
  width: 100%;
  display: block;
  margin: 0 0 0.25rem;
  border-radius: var(--blog-radius-lg);
  aspect-ratio: 16 / 9;
  object-fit: cover;
  background: var(--blog-accent-soft);
}
.blog-article--cover-hero .blog-article__cover {
  margin-top: 0.25rem;
  max-height: 28rem;
}
.blog-article--cover-hero .blog-article__title {
  font-size: clamp(2rem, 4.8vw, 3rem);
}

.blog-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin: 2rem 0 0;
  font-family: var(--blog-sans);
}
.blog-tag {
  font-size: 0.75rem;
  font-weight: 600;
  padding: 0.32rem 0.7rem;
  border: 1px solid var(--blog-rule-light);
  color: var(--blog-muted);
  border-radius: 999px;
  text-decoration: none;
  transition: border-color 0.12s, color 0.12s, background 0.12s;
}
.blog-tag:hover {
  border-color: var(--blog-accent);
  color: var(--blog-accent);
  background: var(--blog-accent-soft);
}

/* Neighbors */
.blog-neighbors {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
  margin-top: 2.5rem;
  padding-top: 1.5rem;
  border-top: 1px solid var(--blog-rule-light);
  font-family: var(--blog-sans);
  font-size: 0.9rem;
}
.blog-neighbors a {
  text-decoration: none;
  max-width: 100%;
  display: block;
  padding: 0.85rem 1rem;
  border: 1px solid var(--blog-rule-light);
  border-radius: var(--blog-radius);
  transition: border-color 0.12s, background 0.12s;
}
.blog-neighbors a:hover {
  border-color: var(--blog-accent);
  background: var(--blog-accent-soft);
}
.blog-neighbors a:hover .blog-neighbors__title {
  color: var(--blog-accent);
}
.blog-neighbors__label {
  display: block;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--blog-muted);
  margin-bottom: 0.35rem;
}
.blog-neighbors__title {
  font-family: var(--blog-display);
  font-weight: 700;
  font-size: 0.98rem;
  line-height: 1.3;
  color: var(--blog-ink);
}
.blog-neighbors__next {
  text-align: right;
  justify-self: end;
}
.blog-neighbors__next a {
  text-align: right;
}

/* Footer */
.eg-footer {
  margin-top: 3.5rem;
  padding-top: 2rem;
  border-top: 1px solid var(--blog-rule-light);
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}
.eg-footer__tagline {
  margin: 0.5rem 0 0;
  font-size: 0.88rem;
  color: var(--blog-muted);
}
.eg-footer__meta {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 0.75rem 1.5rem;
  font-size: 0.78rem;
  color: var(--blog-muted);
}
.eg-footer__links a {
  color: var(--blog-muted);
  text-decoration: none;
  font-weight: 500;
}
.eg-footer__links a:hover {
  color: var(--blog-accent);
}
.eg-footer__vol {
  opacity: 0.85;
}

/* Series */
.blog-series {
  margin: 0 0 1.5rem;
  padding: 0.95rem 1.1rem;
  border: 1px solid var(--blog-rule-light);
  border-radius: var(--blog-radius);
  background: var(--blog-accent-soft);
  font-family: var(--blog-sans);
}
.blog-series__label {
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--blog-accent);
  margin-bottom: 0.5rem;
}
.blog-series__list {
  margin: 0;
  padding-left: 0;
  list-style: none;
  font-size: 0.9rem;
  line-height: 1.5;
}
.blog-series__list li {
  margin: 0.25rem 0;
}
.blog-series__list li.is-current {
  font-weight: 700;
}
.blog-series__list a {
  color: inherit;
  text-decoration: none;
}
.blog-series__list a:hover {
  color: var(--blog-accent);
}
.blog-series__num {
  color: var(--blog-muted);
  font-size: 0.8rem;
}

/* Related */
.blog-related {
  margin-top: 2.5rem;
}
.blog-related .eg-section-label {
  margin-bottom: 0.75rem;
}
.blog-related__list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.blog-related__list > li {
  padding: 0.95rem 0;
  border-bottom: 1px solid var(--blog-rule-light);
}
.blog-related__list a {
  font-family: var(--blog-display);
  font-weight: 700;
  font-size: 1.08rem;
  text-decoration: none;
  color: var(--blog-ink);
  letter-spacing: -0.015em;
}
.blog-related__list a:hover {
  color: var(--blog-accent);
}
.blog-related__dek {
  margin: 0.35rem 0 0;
  color: var(--blog-muted);
  font-size: 0.92rem;
  line-height: 1.45;
}

/* ═══════════════════════════════════════════════════════════════════════
   Rich prose — shared contract with dashboard / publisher renderers
   ═══════════════════════════════════════════════════════════════════════ */

.blog-prose {
  font-size: 1.08rem;
  line-height: 1.75;
  word-wrap: break-word;
  overflow-wrap: break-word;
  font-family: var(--blog-serif);
  color: var(--blog-ink);
}
.blog-prose > *:first-child {
  margin-top: 0;
}
.blog-prose h1,
.blog-prose h2,
.blog-prose h3,
.blog-prose h4,
.blog-prose .blog-h {
  font-family: var(--blog-display);
  line-height: 1.22;
  letter-spacing: -0.02em;
  margin: 2rem 0 0.65rem;
  font-weight: 750;
  color: var(--blog-ink);
}
.blog-prose h1,
.blog-prose .blog-h--1 {
  font-size: 1.7rem;
}
.blog-prose h2,
.blog-prose .blog-h--2 {
  font-size: 1.4rem;
}
.blog-prose h3,
.blog-prose .blog-h--3 {
  font-size: 1.15rem;
  font-weight: 700;
}
.blog-prose h4,
.blog-prose .blog-h--4 {
  font-size: 1.05rem;
  font-weight: 700;
}
.blog-prose p,
.blog-prose .blog-p {
  margin: 0 0 1.15rem;
}
.blog-prose .blog-p--lead {
  font-size: 1.22rem;
  line-height: 1.6;
  color: color-mix(in srgb, var(--blog-ink) 78%, var(--blog-muted));
}
.blog-prose a {
  color: var(--blog-accent);
  text-underline-offset: 2px;
}
.blog-prose strong,
.blog-prose b {
  font-weight: 700;
}
.blog-prose em,
.blog-prose i {
  font-style: italic;
}
.blog-prose blockquote,
.blog-prose .blog-quote {
  margin: 1.6rem 0;
  padding: 0.35rem 0 0.35rem 1.15rem;
  border-left: 3px solid var(--blog-accent);
  font-style: italic;
  color: var(--blog-muted);
}
.blog-prose .blog-quote--pull {
  font-size: 1.35rem;
  font-style: normal;
  font-weight: 650;
  letter-spacing: -0.015em;
  color: var(--blog-ink);
  border-left-width: 4px;
  padding-left: 1.35rem;
  margin: 2rem 0;
}
.blog-prose pre,
.blog-prose .blog-code {
  overflow-x: auto;
  padding: 1rem 1.1rem;
  background: #f6f5f8;
  border: 1px solid var(--blog-rule-light);
  border-radius: var(--blog-radius);
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 0.85rem;
  line-height: 1.5;
  margin: 0 0 1.2rem;
}
.blog-prose code {
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 0.9em;
  background: #f3f0f8;
  padding: 0.1em 0.35em;
  border-radius: 4px;
}
.blog-prose pre code,
.blog-prose .blog-code code {
  background: transparent;
  padding: 0;
}
.blog-prose img {
  max-width: 100%;
  height: auto;
  display: block;
  margin: 1.35rem 0;
  border-radius: var(--blog-radius);
}
.blog-prose figure {
  margin: 1.5rem 0;
}
.blog-prose figcaption {
  font-size: 0.85rem;
  color: var(--blog-muted);
  margin-top: 0.45rem;
  text-align: center;
}
.blog-prose hr,
.blog-prose .blog-divider {
  border: 0;
  border-top: 1px solid var(--blog-rule-light);
  margin: 2.25rem 0;
}
.blog-prose ul,
.blog-prose ol {
  padding-left: 1.4rem;
  margin: 0 0 1.15rem;
}
.blog-prose li {
  margin: 0.3rem 0;
}
.blog-prose .blog-ul--dash {
  list-style: none;
  padding-left: 0;
}
.blog-prose .blog-ul--dash > li {
  padding-left: 1.15rem;
  position: relative;
}
.blog-prose .blog-ul--dash > li::before {
  content: "–";
  position: absolute;
  left: 0;
  color: var(--blog-accent);
  font-weight: 700;
}
.blog-prose table {
  width: 100%;
  border-collapse: collapse;
  margin: 0 0 1.25rem;
  font-size: 0.92rem;
}
.blog-prose th,
.blog-prose td {
  border: 1px solid var(--blog-rule-light);
  padding: 0.55rem 0.7rem;
  text-align: left;
}
.blog-prose th {
  background: var(--blog-accent-soft);
  font-weight: 700;
}

/* Layout editor click-to-edit chrome */
[data-edit-mode="true"] [data-makr-edit] {
  cursor: pointer;
  outline: 1px dashed transparent;
  outline-offset: 4px;
  transition: outline-color 0.12s ease, background-color 0.12s ease;
  border-radius: 4px;
}
[data-edit-mode="true"] [data-makr-edit]:hover {
  outline-color: var(--blog-accent);
  background-color: color-mix(in srgb, var(--blog-accent) 8%, transparent);
}
[data-edit-mode="true"] [data-makr-edit]:focus-visible {
  outline: 2px solid var(--blog-accent);
}

/* Responsive */
@media (max-width: 960px) {
  .eg-front__cluster {
    grid-template-columns: 1fr;
  }
  .eg-front__secondary {
    grid-template-columns: 1fr 1fr;
  }
  .eg-stream--grid {
    grid-template-columns: 1fr 1fr;
  }
  .eg-features__grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 640px) {
  .eg-nav {
    overflow-x: auto;
    flex-wrap: nowrap;
    scrollbar-width: none;
    margin: 0 -1.25rem;
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }
  .eg-nav::-webkit-scrollbar {
    display: none;
  }
  .eg-nav__link {
    white-space: nowrap;
  }
  .eg-front__secondary {
    grid-template-columns: 1fr;
  }
  .eg-features__grid {
    grid-template-columns: 1fr;
  }
  .eg-row {
    grid-template-columns: 6.5rem minmax(0, 1fr);
    gap: 0.85rem;
    padding: 1rem 0;
  }
  .eg-row__title {
    font-size: 1.02rem;
  }
  .eg-row__dek {
    display: none;
  }
  .eg-stream--grid {
    grid-template-columns: 1fr;
  }
  .blog-neighbors {
    grid-template-columns: 1fr;
  }
  .blog-neighbors__next {
    text-align: left;
    justify-self: start;
  }
  .blog-neighbors__next a {
    text-align: left;
  }
  .eg-footer__meta {
    flex-direction: column;
  }
  .eg-brand__word {
    font-size: 1.35rem;
  }
}

